#include "adapter_ard.h" #include #include #include #include #include serial_c Serial; struct timespec start, end; int pinState[16]; int main(int argc, char** argv){ clock_gettime(CLOCK_MONOTONIC_RAW, &start); setup(); int c = '0'; char cmd_buff[128]; int cmd_buff_ind = 0; while(1){ while((c = getchar()) != '@'){ if(c == '$') cmd_buff_ind = 0; if(c == ';'){ cmd_buff[cmd_buff_ind] = '\0'; char* end_ptr; int pin = strtol(&cmd_buff[1], &end_ptr, 10); int level = strtol(&end_ptr[1], &end_ptr, 10); pinState[pin] = level; cmd_buff_ind = 0; } cmd_buff[cmd_buff_ind++] = c; } loop(); printf("millis %ld\n", millis()); } } long millis(){ clock_gettime(CLOCK_MONOTONIC_RAW, &end); uint64_t milli = (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv_nsec) / 1000000; return milli; } int abs(int in){ return abs(in); } void pinMode(int pin, int mode){ printf("$pm,%d,%d;",pin, mode); } int analogRead(int pin){ return pinState[pin]; } void digitalWrite(int pin, int level){ printf("$dw,%d,%d;", pin, level); } void analogWrite(int pin, int dc){ printf("$aw,%d,%d;", pin, dc); } void serial_c::begin(int br){ printf("started serial at %d bps\n", br); } void serial_c::print(std::string txt){ std::cout << "serial : " << txt; } void serial_c::println(std::string txt){ this->print(txt); std::cout << std::endl; } void serial_c::print(int nb){ printf("serial : %d", nb); } void serial_c::println(int nb){ this->print(nb); printf("\n"); }