#include "misc.h"
#include "sds.h"
-struct sds sdss[MAXSDSS] = {0};
+struct sds sdss[MAXSDSS];
uint8_t c;
void sds_register(int fd)
memset(&sdss[cs], 0, sizeof(struct sds));
//Read identifier
- read(fd, &c, 1);
- sdss[cs].id = c;
-
+ read16(fd, c, sdss[cs].id);
//Read value
- read(fd, &c, 1);
- sdss[cs].value = 255*c;
- read(fd, &c, 1);
- sdss[cs].value += c;
+ read16(fd, c, sdss[cs].value);
- debug("Received sds %d: %d\n", sdss[cs].id, sdss[cs].value);
+ debug("\nReceived sds %d: %d\n", sdss[cs].id, sdss[cs].value);
sdss[cs].used = true;
}
continue;
if(sdss[cs].id == id){
//Read value
- read(fd, &c, 1);
- sdss[cs].value = 255*c;
- read(fd, &c, 1);
- sdss[cs].value += c;
+ read16(fd, c, sdss[cs].value);
return true;
}
}
for(cs = 0; cs<MAXSDSS; cs++){
if(sdss[cs].used && sdss[cs].id == id){
debug("Publish %d=%d\n", sdss[cs].id, sdss[cs].value);
- sprintf(msg, "s%c%c%c\n",
+ sprintf(msg, "u%c%c%c%c\n",
+ 0,
sdss[cs].id,
sdss[cs].value/265,
sdss[cs].value%265);