//Connection RM18 to RM8
#include <SoftwareSerial.h>
constexpr int8_t ledPin = 13;
constexpr int8_t RX = 11;
constexpr int8_t TX = 10;
SoftwareSerial bleSerial(RX, TX);
//Use the '' to store them with their ascii value
enum states : int8_t {
OFF = '0',
ON = '1',
IDLE = '2'
};
states status = OFF;
void setup() {
bleSerial.begin(9600);
pinMode(ledPin, OUTPUT);
bleSerial.println("\nPress S to start\nX to STOP\nand R to reset");
}
void loop() {
if(bleSerial.available() > 0) {
status = (states)bleSerial.read();
}
switch(status) {
case ON:
digitalWrite(ledPin, HIGH);
bleSerial.println("ON");
status = IDLE;
break;
case OFF:
digitalWrite(ledPin, LOW);
bleSerial.println("OFF");
status = IDLE;
break;
case IDLE:
//Do nothing here
break;
default:
bleSerial.println("Invalid input, please enter 0 or 1");
}
}