...
Child pages (Children Display) |
---|
...
Ethernet Communication Standards
- The first 3 numbers in an IP address represent the network ID and therefore must be the same across modules.
- All communication between modules over Ethernet will be done over UDP.
- To maintain simplicity, at this point in time all packets will be broadcasted to the network.
- It is up to each individual module to handle packets on specific ports.
- Each module can reserve a range of ports for various purposes.
- Port purposes will be specified in individual board software design pages
- Port assignments should be defined in a header file under the lib folder to reduce code defects and reduce work if standards change
- Port assignments should be specified under an enum with naming following the pattern (MODULE NAME)_(PURPOSE NAME)_PORT
- i.e SENSOR_HUNDRED_HZ_TELEMETRY_PORT or RADIO_LIFTOFF_PORT
- Port assignments should be specified under an enum with naming following the pattern (MODULE NAME)_(PURPOSE NAME)_PORT
- Port 9999 will be reserved for notifying other modules of flight events including liftoff, apogee and landing
Module | Port Range |
---|---|
Autopilot | 10,000 - 10,999 |
Power | 11,000 - 11,999 |
Radio | 12,000 - 12,999 |
Sensor | 13,000 - 13,999 |
RS-232 Communication Standards
- Currently, the team has no experience with communicating with boards using the RS-232 interface and this section will be adjusted as we learn more
- UART is the expected communication protocol over RS-232. To frame data for proper interpretation and ease of debugging, the SLIP protocol will be used
- Non-backplane boards should constantly transmit an identifier until it receives acknowledgment from a parent device before transmitting its data
- Unknown if this is necessary at this point
- The idea is to not hard-code extension board functionality into module software
- Functionality for responding to data from extension boards may be required to be put under lib to increase software flexibility