telemetry
Dependents: Everything Sequential_Timing FixedPWM FixedPWMWill
telemetry-data.cpp@0:aca5a32d2759, 2016-03-18 (annotated)
- Committer:
- vsutardja
- Date:
- Fri Mar 18 22:33:32 2016 +0000
- Revision:
- 0:aca5a32d2759
init
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vsutardja | 0:aca5a32d2759 | 1 | /* |
vsutardja | 0:aca5a32d2759 | 2 | * telemetry-data.cpp |
vsutardja | 0:aca5a32d2759 | 3 | * |
vsutardja | 0:aca5a32d2759 | 4 | * Created on: Mar 2, 2015 |
vsutardja | 0:aca5a32d2759 | 5 | * Author: Ducky |
vsutardja | 0:aca5a32d2759 | 6 | * |
vsutardja | 0:aca5a32d2759 | 7 | * Implementation for Telemetry Data classes. |
vsutardja | 0:aca5a32d2759 | 8 | */ |
vsutardja | 0:aca5a32d2759 | 9 | #include "telemetry.h" |
vsutardja | 0:aca5a32d2759 | 10 | #include <string.h> |
vsutardja | 0:aca5a32d2759 | 11 | |
vsutardja | 0:aca5a32d2759 | 12 | namespace telemetry { |
vsutardja | 0:aca5a32d2759 | 13 | void packet_write_string(TransmitPacket& packet, const char* str) { |
vsutardja | 0:aca5a32d2759 | 14 | // TODO: move into HAL for higher performance? |
vsutardja | 0:aca5a32d2759 | 15 | while (*str != '\0') { |
vsutardja | 0:aca5a32d2759 | 16 | packet.write_uint8(*str); |
vsutardja | 0:aca5a32d2759 | 17 | str++; |
vsutardja | 0:aca5a32d2759 | 18 | } |
vsutardja | 0:aca5a32d2759 | 19 | packet.write_uint8('\0'); |
vsutardja | 0:aca5a32d2759 | 20 | } |
vsutardja | 0:aca5a32d2759 | 21 | |
vsutardja | 0:aca5a32d2759 | 22 | size_t Data::get_header_kvrs_length() { |
vsutardja | 0:aca5a32d2759 | 23 | return 1 + strlen(internal_name) + 1 |
vsutardja | 0:aca5a32d2759 | 24 | + 1 + strlen(display_name) + 1 |
vsutardja | 0:aca5a32d2759 | 25 | + 1 + strlen(units) + 1; |
vsutardja | 0:aca5a32d2759 | 26 | } |
vsutardja | 0:aca5a32d2759 | 27 | |
vsutardja | 0:aca5a32d2759 | 28 | void Data::write_header_kvrs(TransmitPacket& packet) { |
vsutardja | 0:aca5a32d2759 | 29 | packet.write_uint8(protocol::RECORDID_INTERNAL_NAME); |
vsutardja | 0:aca5a32d2759 | 30 | packet_write_string(packet, internal_name); |
vsutardja | 0:aca5a32d2759 | 31 | packet.write_uint8(protocol::RECORDID_DISPLAY_NAME); |
vsutardja | 0:aca5a32d2759 | 32 | packet_write_string(packet, display_name); |
vsutardja | 0:aca5a32d2759 | 33 | packet.write_uint8(protocol::RECORDID_UNITS); |
vsutardja | 0:aca5a32d2759 | 34 | packet_write_string(packet, units); |
vsutardja | 0:aca5a32d2759 | 35 | } |
vsutardja | 0:aca5a32d2759 | 36 | |
vsutardja | 0:aca5a32d2759 | 37 | } |