#define RESET 9 //LDR #define MUX 6 //LDR #define PROG_MODE A2 #define MODE2 A1 #define MODE1 A0 #define MMC_CS 10 #define RTX_CS 9 #define POWER 7 #define SELECT_MODE_1 8 #define SELECT_MODE_2 3 void setup() { pinMode(RESET, OUTPUT); digitalWrite(RESET, LOW); //RESET OFF digitalWrite(MOSI, LOW); //RESET OFF digitalWrite(MISO, LOW); //RESET OFF delay(100); digitalWrite(RESET, HIGH); //RESET OFF pinMode(MUX, OUTPUT); digitalWrite(MUX, LOW); //MUX 1 pinMode(PROG_MODE, OUTPUT); digitalWrite(PROG_MODE, LOW); //PROG_MODE OFF pinMode(MODE1, OUTPUT); digitalWrite(MODE1, HIGH); //MODE1 OFF pinMode(MODE2, OUTPUT); digitalWrite(MODE2, HIGH); //MODE2 OFF pinMode(MMC_CS, OUTPUT); digitalWrite(MMC_CS, LOW); //MODE2 OFF pinMode(RTX_CS, OUTPUT); digitalWrite(RTX_CS, LOW); //MODE2 OFF pinMode(POWER, OUTPUT); digitalWrite(POWER, LOW); //POWER RTX pinMode(SELECT_MODE_1, INPUT); pinMode(SELECT_MODE_2, INPUT); Serial.begin(115200); Serial2.begin(115200); } void loop() // run over and over { if (!digitalRead(SELECT_MODE_1)) { digitalWrite(MODE1, LOW); //MODE1 OFF digitalWrite(POWER, HIGH); delay(100); digitalWrite(PROG_MODE, HIGH); delay(100); digitalWrite(POWER, LOW); delay(5000); digitalWrite(PROG_MODE, LOW); delay(100); digitalWrite(MODE1, HIGH); //MODE1 OFF } if (Serial.available()) { Serial2.write(Serial.read()); } if (Serial2.available()) Serial.write(Serial2.read()); }