revert back to old itasks, add sds support in bytecode
[mTask.git] / int / sds.c
index 3a3c8fe..679ce42 100644 (file)
--- a/int/sds.c
+++ b/int/sds.c
@@ -56,3 +56,44 @@ bool sds_update(int fd)
        }
        return false;
 }
+
+void sds_publish(int id, int fd)
+{
+       uint8_t cs;
+       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);
+                       char msg[6];
+                       sprintf(msg, "s%c%c%c\n",
+                               sdss[cs].id,
+                               sdss[cs].value/265,
+                               sdss[cs].value%265);
+                       write(fd, msg, 6);
+                       return;
+               }
+       }
+       debug("SDS identifier unknown: %d\n", id);
+}
+
+int sds_fetch(int id)
+{
+       uint8_t cs;
+       for(cs = 0; cs<MAXSDSS; cs++)
+               if(sdss[cs].used && sdss[cs].id == id)
+                       return sdss[cs].value;
+       debug("SDS identifier unknown: %d\n", id);
+       return 0;
+}
+
+void sds_store(int id, int val)
+{
+       uint8_t cs;
+       for(cs = 0; cs<MAXSDSS; cs++) {
+               if(sdss[cs].used && sdss[cs].id == id){
+                       sdss[cs].value = val;
+                       return;
+               }
+       }
+       debug("SDS identifier unknown: %d\n", id);
+
+}