10 #include "interpret.h"
11 #include "mTaskSymbols.h"
15 #include "interface.h"
17 #define MSG_GET_TASK 't'
18 #define MSG_DEL_TASK 'd'
19 #define MSG_SDS_SPEC 's'
20 #define MSG_SDS_DEL 'a'
21 #define MSG_SDS_UPD 'u'
26 void read_message(void)
29 if(input_available()){
30 uint8_t c
= read_byte();
31 debug("Receiving input: %c %02x\n", c
, c
);
34 debug("Receiving an sds");
38 debug("Receiving an sds update");
39 //TODO do something with the return value
44 debug("Receiving a delete SDS request");
52 debug("Receiving a delete task request");
55 //Write acknowledgement
61 debug("Receiving a task");
65 debug("Receiving a spec request");
69 debug("Server closed connection");
74 debug("Unknown message: %X", c
);
81 unsigned long loopmillis
= 0;
84 #ifdef ARDUINO_ESP8266_NODEMCU
85 if(getmillis()-loopmillis
< LOOPDELAY
){
88 loopmillis
= getmillis();
95 unsigned long cyclestart
= getmillis();
96 for(struct task
*t
= task_head(); t
!= NULL
; t
= task_next(t
)){
98 if(is_interrupt_task(t
) && had_interrupt(t
)){
99 debug("Interrupt task %d not implemented", t
->taskid
);
101 //Interval task, and interval passed
102 } else if(cyclestart
-t
->lastrun
> t
->interval
){
103 debug("Running interval task: %d", t
->taskid
);
106 //Oneshot task, thus disable
107 if(t
->interval
== 0){
108 task_delete(t
->taskid
);
110 t
->lastrun
= cyclestart
;
117 #elif defined ARDUINO_ESP8266_NODEMCU
120 int main(int argc
, char *argv
[]){
125 //Initialize device independant functionality
128 #ifndef ARDUINO_ESP8266_NODEMCU