FIRST Robotic Competition in Oregon: Coprocessor 20040923

Topics

Attendance

And the following may have attended. I don't know their names well enough to be sure.

The state diagram wasn't quite right, so we spent the meeting developing it. In the process we made a few modifications to the protocol either to make the state diagram cleaner, or in anticipation of the coding process. Or simply because it felt better with the change. :-) I think the resulting protocol definition

Unfortunately I forgot to ask the status on the breaker reset time. This will remain on the AI list.

Packet Definition

Byte# What Comment
1 Start Always '$'.
3 Dest This is the node number of the destination device.
2 Src This is the node number of the sourcing device.
4 Commands This is one or more commands. See the command table
n-2 End Always '\n'.
n-1 CKSUM1 High Nibble of the Checksum
n CKSUM0 Low Nibble of the Checksum

Changes made to the table above:

Command Table

Message Name Char Length Mess. Char [1st byte] Mod. Char Time Len. Data Chars Comments
WRITE 4 1 Addr: [0-F] - - [0-F] [0-F] Write one byte of decoded data to the port.
READ 2 2 Addr: [0-F] - - - Request read from specified port.
DATAIS 4 3 Addr: [0-F] - - [0-F] [0-F] The value of the requested port is supplied as data. This is the reply to a 'READ' message.
CONFIGWR 4 4 Addr: [0-F] - - [0-F] [0-F] Write configuration for port X. Data byte following is mode, where 1 bits are OUTPUT and 0 bits are input.
CONFIGRD 2 5 Addr: [0-F] - - - Read configuration for port X. No data following. Port config byte is returned in a reply message.
CONFIGIS 4 6 Addr: [0-F] - - [0-F] [0-F] Read configuration reply from port X. This is the reply to a CONFIGRD message.
- - [7-9A-D] - - - - not used.
PERIODIC >=6 E Addr: [0-F] [0-F] [0-F] [0-F] [0-F] any even number of [0-F]

Set a periodic process. The time field is delay in milliseconds, high nibble first. The data field contains twice the number of nibbles specified by "length". That field is treated as a message that is processed at an interval specified by the time value.

A periodic process X can be cancelled by sending it a zero length process string. Example:
E50000

ERROR >6 F Level: [0-F] - [0-F] [0-F] any even number of [0-F] Error report or other message to be logged or reported to humans.

For example, if the packet was:

$12D51A02122059\n

Changes made to the table above:

Jeff's picture of the Packet Parsing state diagram:

Asumu's picture of the Command Parsing state diagram:


Action Items before next week


Schedule


Last modified 11 Dec 2006
http://brown.armoredpenguin.com/~abrown/contact.html
http://brown.armoredpenguin.com/~abrown/first/first2004/coprocessor/notes20040923.html