add arduino uno compatability
[mTask.git] / client / client.c
index b501e0f..305f51d 100644 (file)
 
 void read_message(void)
 {
-       //Find next task
-       if(input_available()){
-               uint8_t c = read_byte();
-               debug("Receiving input: %c %02x\n", c, c);
-               switch(c){
-               case MSG_SDS_SPEC:
-                       debug("Receiving an sds");
-                       sds_register();
-                       break;
-               case MSG_SDS_UPD:
-                       debug("Receiving an sds update");
-                       //TODO do something with the return value
-                       c = read16();
-                       sds_update(c);
-                       break;
-               case MSG_SDS_DEL:
-                       debug("Receiving a delete SDS request");
-                       c = read16();
-                       sds_delete(c);
-                       write_byte('a');
-                       write16(c);
-                       write_byte('\n');
-                       break;
-               case MSG_DEL_TASK:
-                       debug("Receiving a delete task request");
-                       c = read16();
-                       task_delete(c);
-                       //Write acknowledgement
-                       write_byte('d');
-                       write16(c);
-                       write_byte('\n');
-                       break;
-               case MSG_GET_TASK:
-                       debug("Receiving a task");
-                       task_register();
-                       break;
-               case MSG_SPEC:
-                       debug("Receiving a spec request");
-                       spec_send();
-                       break;
-               case '\0':
-                       debug("Server closed connection");
-                       break;
-               case '\n':
-                       break;
-               default:
-                       debug("Unknown message: %X", c);
-               }
-       } else {
-//             debug("No input");
-       }
+  //Find next task
+  if (input_available()) {
+    uint8_t c = read_byte();
+    debug("Receiving input: %c %02x\n", c, c);
+    switch (c) {
+      case MSG_SDS_SPEC:
+        debug("Receiving an sds");
+        sds_register();
+        break;
+      case MSG_SDS_UPD:
+        debug("Receiving an sds update");
+        //TODO do something with the return value
+        c = read16();
+        sds_update(c);
+        break;
+      case MSG_SDS_DEL:
+        debug("Receiving a delete SDS request");
+        c = read16();
+        sds_delete(c);
+        write_byte('a');
+        write16(c);
+        write_byte('\n');
+        break;
+      case MSG_DEL_TASK:
+        debug("Receiving a delete task request");
+        c = read16();
+        task_delete(c);
+        //Write acknowledgement
+        write_byte('d');
+        write16(c);
+        write_byte('\n');
+        break;
+      case MSG_GET_TASK:
+        debug("Receiving a task");
+        task_register();
+        break;
+      case MSG_SPEC:
+        debug("Receiving a spec request");
+        spec_send();
+        break;
+      case '\0':
+        debug("Server closed connection");
+        break;
+      case '\n':
+        break;
+      default:
+        debug("Unknown message: %X", c);
+    }
+  } else {
+    //         debug("No input");
+  }
 }
 
 unsigned long loopmillis = 0;
 void loop(void)
 {
-#ifdef ARDUINO_ESP8266_NODEMCU
-       if(getmillis()-loopmillis < LOOPDELAY){
-               return;
-       }
-       loopmillis = getmillis();
+#if defined ARDUINO_ESP8266_NODEMCU || defined ARDUINO_AVR_UNO
+  if (getmillis() - loopmillis < LOOPDELAY) {
+    return;
+  }
+  loopmillis = getmillis();
 #endif
-       read_message();
+  read_message();
 
-       //Run tasks
-       unsigned long cyclestart = getmillis();
-       for(struct task *t = task_head(); t != NULL; t = task_next(t)){
-               //interrupt task
-               if(is_interrupt_task(t) && had_interrupt(t)){
-                       debug("Interrupt task %d not implemented", t->taskid);
-                       run_task(t);
-               //Interval task, and interval passed
-               } else if(cyclestart-t->lastrun > t->interval){
-                       debug("Running interval task: %d", t->taskid);
-                       run_task(t);
+  //Run tasks
+  unsigned long cyclestart = getmillis();
+  for (struct task *t = task_head(); t != NULL; t = task_next(t)) {
+    //interrupt task
+    if (is_interrupt_task(t) && had_interrupt(t)) {
+      debug("Interrupt task %d not implemented", t->taskid);
+      run_task(t);
+      //Interval task, and interval passed
+    } else if (cyclestart - t->lastrun > t->interval) {
+      debug("Running interval task: %d", t->taskid);
+      run_task(t);
 
-                       //Oneshot task, thus disable
-                       if(t->interval == 0){
-                               task_delete(t->taskid);
-                       }
-                       t->lastrun = cyclestart;
-               }
-       }
+      //Oneshot task, thus disable
+      if (t->interval == 0) {
+        task_delete(t->taskid);
+      }
+      t->lastrun = cyclestart;
+    }
+  }
 }
 
 #ifdef STM
-int main(void){
-#elif defined ARDUINO_ESP8266_NODEMCU
-void setup(){
+int main(void) {
+#elif defined ARDUINO_ESP8266_NODEMCU || defined ARDUINO_AVR_UNO
+void setup() {
 #elif defined LINUX
-int main(int argc, char *argv[]){
-       gargc = argc;
-       gargv = argv;
+int main(int argc, char *argv[]) {
+  gargc = argc;
+  gargv = argv;
 #endif
 
-       //Initialize device independant functionality
-       real_setup();
+  //Initialize device independant functionality
+  real_setup();
 
-#ifndef ARDUINO_ESP8266_NODEMCU
-       while(true){
-               //Check for newtasks
-               loop();
-               msdelay(LOOPDELAY);
-       }
+#if !defined(ARDUINO_ESP8266_NODEMCU) && !defined(ARDUINO_AVR_UNO)
+  while (true) {
+    //Check for newtasks
+    loop();
+    msdelay(LOOPDELAY);
+  }
 
-       return 0;
+  return 0;
 #endif
 }