From ARVP
Contents |
[edit] People
Lewis Gunsch
[edit] Overview
The goal of this sub-project is to build the micro-controller modules to handle the micro-controller/embedded-computer communication. Sending and receiving data and commands to the embedded computer is the primary job of the micro-controller. Some command examples are start, stop, kill, Go_horizontal, Go_vertical etc. Some data examples are C (heading), x (x acceleration), y (y acceleration), z (z acceleration), etc. Check out the IMU pdf for data string format and arvp_roboteq.h for roboteq functionality. The basic idea is to have each command or data item and it's parameters or data on one line. EX:
C 198.17
x 0.5147
This would mean a heading of 198.17 degrees and an x acceleration of 0.5147 m/s.
[edit] Communication Details
- Each set of data is on it's on line (i.e. it's followed by a \n or \r), with the first character being the unique identifier of the data (eg. C for heading), and then followed by a space and the data items or parameters (for a command instead of data)
- The micro-controller begins sending data when the [START] token is seen, and ignores it when it is sent more than once before the [STOP] token is seen.
- The micro-controller then stops sending data when the [STOP] token is seen, and ignores it when it is sent more than once before the [START] token is seen.
- Data is only sent when it has changed since the last transmission
- Once the communication routine has begun it should block continuously except to carry out commands sent from the embedded computer
E.G.
Recv: [START]
Send: C 398.86
Send: x 1.05
Send: y 0.98
Recv: h 50
Recv: v 52
Send: z 0.01
Recv: [STOP]
[edit] Progress
- Commands are seen and interpreted, command functionality is still being implemented.
[edit] Communication Commands
| Command Structure | Meaning |
|---|---|
| [START] | Start transmitting new IMU information |
| [STOP] | Stop transmitting new IMU information |
| H <base> <effort> | go_horizontal thruster function call |
| V <base> <effort> | go_vertical thruster function call |
