#define LED_PIN 13
byte roombaState = 0;
word batteryValue = 0;
ZUNO_SETUP_CHANNELS(ZUNO_SWITCH_BINARY(getter, setter),ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, 1, getterBattery));
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial1.begin();
}
void loop() {
byte data[2] = {0,0};
byte i = 0;
Serial1.write(142);
Serial1.write(22);
delay(200);
while (Serial1.available()) {
data[i++] = Serial1.read();
}
batteryValue= (data[0]<<8)+data[1];
zunoSendReport(2);
delay(30000);
}
void setter(byte value) {
if (value) {
digitalWrite (LED_PIN, HIGH);
Serial1.write(128);
Serial1.write(131);
Serial1.write(135);
roombaState = 1;
}
else {
digitalWrite (LED_PIN, LOW);
Serial1.write(128);
Serial1.write(131);
Serial1.write(135);
roombaState = 0;
}
}
byte getter() {
return roombaState;
}
byte getterBattery() {
return batteryValue;
}