Robobot bridge
(→Robobot_bridge) |
|||
Line 4: | Line 4: | ||
[[File:robobot_bridge_blocks.png | 600px]] | [[File:robobot_bridge_blocks.png | 600px]] | ||
+ | |||
+ | The Robobot_bridge is a link between the low-level robot hardware REGBOT, the remote control gamepad and the small status display. | ||
+ | |||
+ | There are three interface modules - one for each of the interfaces, these handles the direct communication with the device. | ||
+ | The exchange format is always a line-oriented clear text. The gamepad generates a status line with all switches and axes and is input only. The O-Led display takes a command text and sets the displat, this is output only. The REGBOT is already clear text line-oriented and communicates two ways - as two independant channels. | ||
+ | |||
+ | ===Bridge=== | ||
+ | |||
+ | The destination can be stated explicitly with an extra keyword in front of the regular keyword ('robot', 'bridge' or 'oled'), but most commands will be identified on the basis of the regular keyword. | ||
+ | The bridge handles these extra keywords and any special commands related to the bridge itself. | ||
+ | |||
+ | The bridge also handles the commands that can be input from the console (if the bridge is started from a console). | ||
+ | |||
+ | The command-line single-character commands are handled by the bridge: | ||
+ | |||
+ | After start console has a cmd. line with following commands: | ||
+ | q: quit | ||
+ | s: status of data items etc | ||
+ | h: this help | ||
+ | help: help for the bridge | ||
+ | Longer lines are send to handler as message. | ||
+ | |||
+ | Longer commands are sent to the handler, and the 'help' command shows: | ||
+ | |||
+ | # Robobot_bridge help: | ||
+ | # Commands are all single line text staring with a keyword | ||
+ | # (up to 6 characters) followed by text or numbers: | ||
+ | # Main topics: | ||
+ | # robot Sends all rest of the line to the robot, see 'robot help' for options | ||
+ | # bridge See 'bridge help' for options | ||
+ | # oled L xxx Prints xxx (up to 20 chars) on line L (2..7) on oled | ||
+ | # client See 'client help' for options | ||
+ | # q quit | ||
+ | # h Console help | ||
+ | # help This help | ||
+ | # All lines starting with '#' are assumed to be comments | ||
+ | # All commands are stored as a data item with keyword as ID | ||
+ | # All data items has reserved subcommands, see: | ||
+ | # item h Help for data item 'item' | ||
+ | |||
+ | hertil | ||
+ | |||
+ | === Handler === | ||
+ | |||
+ | The handler receives line-oriented text messages, each starting with a text keyword or character, and then a number of parameters (text or numbers) and all space-separated terminated with a new-line character. | ||
+ | |||
+ | |||
+ | The incoming messages are stored as a data item in the database (Data), the keyword is the index, and new messages will override the old ones. They are all marked with a timestamp. | ||
+ | |||
Revision as of 17:36, 20 December 2019
Back to robobot
Contents |
Robobot_bridge
The Robobot_bridge is a link between the low-level robot hardware REGBOT, the remote control gamepad and the small status display.
There are three interface modules - one for each of the interfaces, these handles the direct communication with the device. The exchange format is always a line-oriented clear text. The gamepad generates a status line with all switches and axes and is input only. The O-Led display takes a command text and sets the displat, this is output only. The REGBOT is already clear text line-oriented and communicates two ways - as two independant channels.
Bridge
The destination can be stated explicitly with an extra keyword in front of the regular keyword ('robot', 'bridge' or 'oled'), but most commands will be identified on the basis of the regular keyword. The bridge handles these extra keywords and any special commands related to the bridge itself.
The bridge also handles the commands that can be input from the console (if the bridge is started from a console).
The command-line single-character commands are handled by the bridge:
After start console has a cmd. line with following commands: q: quit s: status of data items etc h: this help help: help for the bridge Longer lines are send to handler as message.
Longer commands are sent to the handler, and the 'help' command shows:
# Robobot_bridge help: # Commands are all single line text staring with a keyword # (up to 6 characters) followed by text or numbers: # Main topics: # robot Sends all rest of the line to the robot, see 'robot help' for options # bridge See 'bridge help' for options # oled L xxx Prints xxx (up to 20 chars) on line L (2..7) on oled # client See 'client help' for options # q quit # h Console help # help This help # All lines starting with '#' are assumed to be comments # All commands are stored as a data item with keyword as ID # All data items has reserved subcommands, see: # item h Help for data item 'item'
hertil
Handler
The handler receives line-oriented text messages, each starting with a text keyword or character, and then a number of parameters (text or numbers) and all space-separated terminated with a new-line character.
The incoming messages are stored as a data item in the database (Data), the keyword is the index, and new messages will override the old ones. They are all marked with a timestamp.
Doxygen description
An automated software documentation is available here: hppt://not_there_yet.dk