First class data visualization and communication library with embedded devices. Code is maintained at github.com/Overdrivr/Telemetry

Dependents:   telemetry_car_demo telemetry_demo_FRDM-TFC telemetry_example_01 telemetry_indexed_data_demo ... more

Committer:
Overdrivr
Date:
Mon Feb 22 17:55:46 2016 +0000
Revision:
4:8e3de1a314e1
Parent:
3:37d2d127bc83
Child:
5:cd94bb58e096
Fixed issue (C++ api methods name identically as C api functions were calling themselves rather than calling C api.)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Overdrivr 3:37d2d127bc83 1 #include "Telemetry.h"
Overdrivr 3:37d2d127bc83 2
Overdrivr 3:37d2d127bc83 3 #include "BufferedSerial.h"
Overdrivr 3:37d2d127bc83 4
Overdrivr 3:37d2d127bc83 5 static BufferedSerial pc(USBTX, USBRX);
Overdrivr 3:37d2d127bc83 6
Overdrivr 3:37d2d127bc83 7 int32_t read(void * buf, uint32_t sizeToRead)
Overdrivr 3:37d2d127bc83 8 {
Overdrivr 3:37d2d127bc83 9 *(uint8_t*)(buf) = pc.getc();
Overdrivr 3:37d2d127bc83 10 return 1;
Overdrivr 3:37d2d127bc83 11 }
Overdrivr 3:37d2d127bc83 12
Overdrivr 3:37d2d127bc83 13 int32_t write(void * buf, uint32_t sizeToWrite)
Overdrivr 3:37d2d127bc83 14 {
Overdrivr 3:37d2d127bc83 15 pc.write(buf,sizeToWrite);
Overdrivr 3:37d2d127bc83 16 return 0;
Overdrivr 3:37d2d127bc83 17 }
Overdrivr 3:37d2d127bc83 18
Overdrivr 3:37d2d127bc83 19 int32_t readable()
Overdrivr 3:37d2d127bc83 20 {
Overdrivr 3:37d2d127bc83 21 return pc.readable();
Overdrivr 3:37d2d127bc83 22 }
Overdrivr 3:37d2d127bc83 23
Overdrivr 3:37d2d127bc83 24 int32_t writeable()
Overdrivr 3:37d2d127bc83 25 {
Overdrivr 3:37d2d127bc83 26 return pc.writeable();
Overdrivr 3:37d2d127bc83 27 }
Overdrivr 3:37d2d127bc83 28
Overdrivr 3:37d2d127bc83 29 Telemetry::Telemetry(uint32_t bauds)
Overdrivr 3:37d2d127bc83 30 {
Overdrivr 3:37d2d127bc83 31 transport.read = read;
Overdrivr 3:37d2d127bc83 32 transport.write = write;
Overdrivr 3:37d2d127bc83 33 transport.readable = readable;
Overdrivr 3:37d2d127bc83 34 transport.writeable = writeable;
Overdrivr 3:37d2d127bc83 35
Overdrivr 3:37d2d127bc83 36 init_telemetry(&transport);
Overdrivr 3:37d2d127bc83 37
Overdrivr 3:37d2d127bc83 38 pc.baud(bauds);
Overdrivr 3:37d2d127bc83 39 }
Overdrivr 3:37d2d127bc83 40
Overdrivr 4:8e3de1a314e1 41 void Telemetry::pub(const char * topic, char * msg)
Overdrivr 3:37d2d127bc83 42 {
Overdrivr 3:37d2d127bc83 43 publish(topic,msg);
Overdrivr 3:37d2d127bc83 44 }
Overdrivr 3:37d2d127bc83 45
Overdrivr 4:8e3de1a314e1 46 void Telemetry::pub_u8(const char * topic, uint8_t msg)
Overdrivr 3:37d2d127bc83 47 {
Overdrivr 3:37d2d127bc83 48 publish_u8(topic,msg);
Overdrivr 3:37d2d127bc83 49 }
Overdrivr 3:37d2d127bc83 50
Overdrivr 4:8e3de1a314e1 51 void Telemetry::pub_u16(const char * topic, uint16_t msg)
Overdrivr 3:37d2d127bc83 52 {
Overdrivr 3:37d2d127bc83 53 publish_u16(topic,msg);
Overdrivr 3:37d2d127bc83 54 }
Overdrivr 3:37d2d127bc83 55
Overdrivr 4:8e3de1a314e1 56 void Telemetry::pub_u32(const char * topic, uint32_t msg)
Overdrivr 3:37d2d127bc83 57 {
Overdrivr 3:37d2d127bc83 58 publish_u32(topic,msg);
Overdrivr 3:37d2d127bc83 59 }
Overdrivr 3:37d2d127bc83 60
Overdrivr 4:8e3de1a314e1 61 void Telemetry::pub_i8(const char * topic, int8_t msg)
Overdrivr 3:37d2d127bc83 62 {
Overdrivr 3:37d2d127bc83 63 publish_i8(topic,msg);
Overdrivr 3:37d2d127bc83 64 }
Overdrivr 3:37d2d127bc83 65
Overdrivr 4:8e3de1a314e1 66 void Telemetry::pub_i16(const char * topic, int16_t msg)
Overdrivr 3:37d2d127bc83 67 {
Overdrivr 3:37d2d127bc83 68 publish_i16(topic,msg);
Overdrivr 3:37d2d127bc83 69 }
Overdrivr 3:37d2d127bc83 70
Overdrivr 4:8e3de1a314e1 71 void Telemetry::pub_i32(const char * topic, int32_t msg)
Overdrivr 3:37d2d127bc83 72 {
Overdrivr 3:37d2d127bc83 73 publish_i32(topic,msg);
Overdrivr 3:37d2d127bc83 74 }
Overdrivr 3:37d2d127bc83 75
Overdrivr 4:8e3de1a314e1 76 void Telemetry::pub_f32(const char * topic, float msg)
Overdrivr 3:37d2d127bc83 77 {
Overdrivr 3:37d2d127bc83 78 publish_f32(topic,msg);
Overdrivr 3:37d2d127bc83 79 }
Overdrivr 3:37d2d127bc83 80
Overdrivr 4:8e3de1a314e1 81 void Telemetry::sub(void (*callback)(TM_state * s, TM_msg * m),
Overdrivr 4:8e3de1a314e1 82 TM_state* userData)
Overdrivr 3:37d2d127bc83 83 {
Overdrivr 3:37d2d127bc83 84 set_state(userData);
Overdrivr 4:8e3de1a314e1 85 subscribe(callback);
Overdrivr 3:37d2d127bc83 86 }
Overdrivr 3:37d2d127bc83 87
Overdrivr 3:37d2d127bc83 88 void Telemetry::update()
Overdrivr 3:37d2d127bc83 89 {
Overdrivr 3:37d2d127bc83 90 update_telemetry(0);
Overdrivr 3:37d2d127bc83 91 }
Overdrivr 4:8e3de1a314e1 92 /*
Overdrivr 3:37d2d127bc83 93 uint32_t cast(TM_msg * m, char * buf, size_t bufSize)
Overdrivr 3:37d2d127bc83 94 {
Overdrivr 3:37d2d127bc83 95 return emplace(m,buf,bufSize);
Overdrivr 3:37d2d127bc83 96 }
Overdrivr 3:37d2d127bc83 97
Overdrivr 3:37d2d127bc83 98 uint32_t cast_u8(TM_msg * m, uint8_t * dst)
Overdrivr 3:37d2d127bc83 99 {
Overdrivr 3:37d2d127bc83 100 return emplace_u8(m,dst);
Overdrivr 3:37d2d127bc83 101 }
Overdrivr 3:37d2d127bc83 102
Overdrivr 3:37d2d127bc83 103 uint32_t cast_u16(TM_msg * m, uint16_t * dst)
Overdrivr 3:37d2d127bc83 104 {
Overdrivr 3:37d2d127bc83 105 return emplace_u16(m,dst);
Overdrivr 3:37d2d127bc83 106 }
Overdrivr 3:37d2d127bc83 107
Overdrivr 3:37d2d127bc83 108 uint32_t cast_u32(TM_msg * m, uint32_t * dst)
Overdrivr 3:37d2d127bc83 109 {
Overdrivr 3:37d2d127bc83 110 return emplace_u32(m,dst);
Overdrivr 3:37d2d127bc83 111 }
Overdrivr 3:37d2d127bc83 112
Overdrivr 3:37d2d127bc83 113 uint32_t cast_i8(TM_msg * m, int8_t * dst)
Overdrivr 3:37d2d127bc83 114 {
Overdrivr 3:37d2d127bc83 115 return emplace_i8(m,dst);
Overdrivr 3:37d2d127bc83 116 }
Overdrivr 3:37d2d127bc83 117
Overdrivr 3:37d2d127bc83 118 uint32_t cast_i16(TM_msg * m, int16_t * dst)
Overdrivr 3:37d2d127bc83 119 {
Overdrivr 3:37d2d127bc83 120 return emplace_i16(m,dst);
Overdrivr 3:37d2d127bc83 121 }
Overdrivr 3:37d2d127bc83 122
Overdrivr 3:37d2d127bc83 123 uint32_t cast_i32(TM_msg * m, int32_t * dst)
Overdrivr 3:37d2d127bc83 124 {
Overdrivr 3:37d2d127bc83 125 return emplace_i32(m,dst);
Overdrivr 3:37d2d127bc83 126 }
Overdrivr 3:37d2d127bc83 127
Overdrivr 3:37d2d127bc83 128 uint32_t cast_f32(TM_msg * m, float * dst)
Overdrivr 3:37d2d127bc83 129 {
Overdrivr 3:37d2d127bc83 130 return emplace_f32(m,dst);
Overdrivr 3:37d2d127bc83 131 }
Overdrivr 4:8e3de1a314e1 132 */