added debug statements, dynamic allocation is working for tasks
[mTask.git] / client / sds.c
index c2fdbde..e6bf3b5 100644 (file)
@@ -32,6 +32,7 @@ void sds_register(void)
        //Read identifier
        sdss[cs].id = read16();
        //Read value
+       sdss[cs].type = read_byte();
        sdss[cs].value = read16();
 
        debug("Received sds %d: %d", sdss[cs].id, sdss[cs].value);
@@ -83,7 +84,22 @@ void sds_publish(int id)
                        debug("Publish %d=%d", sdss[cs].id, sdss[cs].value);
                        write_byte('p');
                        write16(sdss[cs].id);
-                       write16(sdss[cs].value);
+                       write_byte(sdss[cs].type);
+
+                       switch(sdss[cs].type){
+                       //Long
+                       case 'l':
+                       //Int
+                       case 'i':
+                               write16(sdss[cs].value);
+                               break;
+                       case 'b': //Bool
+                       case 'c': //Character
+                       case 'B': //Button
+                       case 'L': //UserLED
+                               write_byte(sdss[cs].value);
+                               break;
+                       }
                        write_byte('\n');
                        return;
                }