//-------------------------------------------------------------------- // Arduino Console Stub //-------------------------------------------------------------------- #if _MSC_VER #include "VSPDE.h" #include <conio.h> #include <time.h> extern void setup(); extern void loop(); CSerial Serial; //-------------------------------------------------------------------- // Timers //-------------------------------------------------------------------- unsigned long millis() { return (clock() * 1000) / CLOCKS_PER_SEC; } void delay(unsigned long delayms) { unsigned long u = millis() + delayms; while (u > millis()) ; } //-------------------------------------------------------------------- // I/O //-------------------------------------------------------------------- void pinMode(int,int) { } void digitalWrite(int,int) { } bool digitalRead(int) { return 0; } //-------------------------------------------------------------------- // Serial //-------------------------------------------------------------------- void CSerial::begin(long) { buffer[0] = 0; buflen = 0; } void CSerial::print(char *pString) { printf("%s", pString); } void CSerial::print(int value, int) { printf("%d", value); } void CSerial::println() { printf("\r\n"); } void CSerial::println(char *pString) { printf("%s\r\n", pString); } void CSerial::println(int value, int) { printf("%d\r\n", value); } void CSerial::println(unsigned int value, int) { printf("%u\r\n", value); } void CSerial::println(unsigned long value, int) { printf("%lu\r\n", value); } int CSerial::available() { return buflen; } char CSerial::read() { char c = 0; if (buflen > 0) { c = buffer[0]; memcpy(&buffer[0], &buffer[1], --buflen); } return c; } void CSerial::_append(char c) { CSerial::buffer[buflen] = c; if (++buflen >= 1024) { buflen--; } } //-------------------------------------------------------------------- // Main //-------------------------------------------------------------------- int main(int, char**) { setup(); for(;;) { if (_kbhit()) { Serial._append((char)_getch()); } loop(); } } #endif