#define SENSOR_NET PA0
#define SENSOR_CHG PA1
#define KEY_BAT PA4
#define KEY_NET PA5
#define CHG_CTRL PA6
void setup() {
pinMode(SENSOR_NET, INPUT_PULLDOWN);
pinMode(SENSOR_CHG, INPUT_PULLDOWN);
pinMode(KEY_BAT, OUTPUT);
pinMode(KEY_NET, OUTPUT);
pinMode(CHG_CTRL, OUTPUT);
digitalWrite(KEY_BAT, LOW);
digitalWrite(KEY_NET, LOW);
digitalWrite(CHG_CTRL, LOW);
}
void loop() {
bool net_present = digitalRead(SENSOR_NET);
bool battery_low = digitalRead(SENSOR_CHG);
if (net_present) {
digitalWrite(KEY_NET, HIGH);
digitalWrite(KEY_BAT, LOW);
if (battery_low) {
digitalWrite(CHG_CTRL, HIGH);
} else {
digitalWrite(CHG_CTRL, LOW);
}
}
else {
digitalWrite(KEY_NET, LOW);
digitalWrite(KEY_BAT, HIGH);
digitalWrite(CHG_CTRL, LOW);
}
delay(500);
}