46 virtual int serialize(
unsigned char *outbuffer)
const = 0;
48 virtual const char *
getType() = 0;
49 virtual const char *
getMD5() = 0;
64 const int32_t* val = (int32_t*) &f;
65 int32_t exp = ((*val >> 23) & 255);
75 *(outbuffer++) = (sig << 5) & 0xff;
76 *(outbuffer++) = (sig >> 3) & 0xff;
77 *(outbuffer++) = (sig >> 11) & 0xff;
78 *(outbuffer++) = ((exp << 4) & 0xF0) | ((sig >> 19) & 0x0F);
79 *(outbuffer++) = (exp >> 4) & 0x7F;
84 *(outbuffer - 1) |= 0x80;
102 uint32_t* val = (uint32_t*)f;
106 *val = ((uint32_t)(*(inbuffer++)) >> 5 & 0x07);
107 *val |= ((uint32_t)(*(inbuffer++)) & 0xff) << 3;
108 *val |= ((uint32_t)(*(inbuffer++)) & 0xff) << 11;
109 *val |= ((uint32_t)(*inbuffer) & 0x0f) << 19;
112 uint32_t exp = ((uint32_t)(*(inbuffer++)) & 0xf0)>>4;
113 exp |= ((uint32_t)(*inbuffer) & 0x7f) << 4;
116 *val |= ((exp) - 1023 + 127) << 23;
120 *val |= ((uint32_t)(*(inbuffer++)) & 0x80) << 24;
static int serializeAvrFloat64(unsigned char *outbuffer, const float f)
This tricky function handles promoting a 32bit float to a 64bit double, so that AVR can publish messa...
Definition: msg.h:62
virtual int deserialize(unsigned char *data)=0
virtual const char * getType()=0
virtual const char * getMD5()=0
virtual int serialize(unsigned char *outbuffer) const =0
static int deserializeAvrFloat64(const unsigned char *inbuffer, float *f)
This tricky function handles demoting a 64bit double to a 32bit float, so that AVR can understand mes...
Definition: msg.h:100