Skip to main content
Skip table of contents

Feedback (U3 and U6 Only)

Subsections

A flexible function that handles all command/response functionality. One or more IOTypes are used to perform a single write/read or multiple writes/reads.

Note that the general protocol section defines byte 2 of an extended command as the number of data words, which is the number of words in a packet beyond the first 3 (a word is 2 bytes). Also note that the overall size of a packet must be an even number of bytes, so in this case an extra 0x00 is added to the end of the command and/or response if needed to accomplish this.

Since this command has a flexible size, byte 2 will vary. For instance, if a single IOType of PortStateRead (d26) is passed, byte 2 would be equal to 1 for the command and 3 for the response. If a single IOType of LED (d9) is passed, an extra 0 must be added to the command to make the packet have an even number of bytes, and byte 2 would be equal to 2. The response would also need an extra 0 to be even, and byte 2 would be equal to 2.

Command:

 

Byte

 

0

Checksum8

1

0xF8

2

0.5 + Number of Data Words (IOTypes and Data)

3

0x00

4

Checksum16 (LSB)

5

Checksum16 (MSB)

6

Echo

7-63

IOTypes and Data

 

 

 

 

Response:

 

Byte

 

0

Checksum8

1

0xF8

2

1.5 + Number of Data Words (If Errorcode = 0)

3

0x00

4

Checksum16 (LSB)

5

Checksum16 (MSB)

6

Errorcode

7

ErrorFrame

8

Echo

9-63

Data

  • IOTypes & Data: One or more IOTypes can be passed in a single command, up to the maximum packet size. More info about the available IOTypes is below. In the outgoing command each IOType is passed and accompanied by 0 or more data bytes. In the incoming response, only data bytes are returned without the IOTypes.

  • Echo: This byte is simply echoed back in the response. A host application might pass sequential numbers to ensure the responses are in order and associated with the proper command.

  • ErrorFrame: If Errorcode is not zero, this parameter indicates which IOType caused the error. For instance, if the 3rd passed IOType caused the error, the ErrorFrame would be equal to 3. Also note that data is only returned for IOTypes before the one that caused the error, so if any IOType causes an error the overall function response will have less bytes than expected.

Name

IOType (dec)

WriteBytes

ReadBytes

AIN

1

3

2

AIN24

2

4

3

AIN24AR

3

4

5

WaitShort

5

2

0

WaitLong

6

2

0

LED

9

2

0

BitStateRead

10

2

1

BitStateWrite

11

2

0

BitDirRead

12

2

1

BitDirWrite

13

2

0

PortStateRead

26

1

3

PortStateWrite

27

7

0

PortDirRead

28

1

3

PortDirWrite

29

7

0

DAC0 (8-bit)

34

2

0

DAC1 (8-bit)

35

2

0

DAC0 (16-bit)

38

3

0

DAC1 (16-bit)

39

3

0

Timer0

42

4

4

Timer0Config

43

4

0

Timer1

44

4

4

Timer1Config

45

4

0

Timer2

46

4

4

Timer2Config

47

4

0

Timer3

48

4

4

Timer3Config

49

4

0

Counter0

54

2

4

Counter1

55

2

4

Buzzer

63

6

0

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.