#include NewSoftSerial FAT(6, 7); int U = 0x55; int ACK = 0x06; int V = 0x56; int com = 0; int i; int c; boolean first = 1; void try_connect() { Serial.println("reseting..."); digitalWrite(3, LOW); delay(100); digitalWrite(3, HIGH); delay(700); Serial.println("trying..."); while (c != ACK && i < 500) { FAT.print(U, BYTE); c = FAT.read(); Serial.println(c); ++i; } i=0; if (c == ACK) Serial.println("connected"); else Serial.println("connect failed :("); first = 1; } void get_status() { c = 0; i = 0; while (c != 0x03 && i < 10) { FAT.print(V, BYTE); c = FAT.read(); Serial.println(c); ++i; } if (c == 0x03)///goldelox firmware Serial.println("connection good"); else Serial.println("no connection"); first = 1; } void write_string(char chars, int n) { } void setup() { FAT.begin(38400); Serial.begin(57600); pinMode(3, OUTPUT); } void loop() { com = Serial.read(); if (first == 1) { Serial.println("command..."); first = 0; } if (com == 115)///com = s first = 1; if (com == 108)///com = l get_status(); if (com == 99)//com = c try_connect(); }