telemetry

Dependents:   Everything Sequential_Timing FixedPWM FixedPWMWill

Committer:
vsutardja
Date:
Fri Mar 18 22:33:32 2016 +0000
Revision:
0:aca5a32d2759
init

Who changed what in which revision?

UserRevisionLine numberNew 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 }