@@ -98,18 +98,46 @@ uint8_t System::readTouchpad(uint8_t _pad)
98
98
*/
99
99
double System::readBattery ()
100
100
{
101
+ pinModeInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 , INPUT);
102
+ int state = digitalReadInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 );
103
+ pinModeInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 , OUTPUT);
104
+
105
+ if (state)
106
+ {
107
+ digitalWriteInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 , LOW);
108
+ }
109
+ else
110
+ {
111
+ digitalWriteInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 , HIGH);
112
+ }
113
+ /*
101
114
#ifdef ARDUINO_ESP32_DEV
102
115
digitalWriteInternal(MCP23017_INT_ADDR, mcpRegsInt, 9, LOW);
103
116
#else
104
117
digitalWriteInternal(MCP23017_INT_ADDR, mcpRegsInt, 9, HIGH);
105
118
#endif
119
+ */
106
120
delay (1 );
107
121
int adc = analogRead (35 );
122
+ if (state)
123
+ {
124
+ pinModeInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 , INPUT);
125
+ }
126
+ else
127
+ {
128
+ digitalWriteInternal (MCP23017_INT_ADDR, mcpRegsInt, 9 , LOW);
129
+ }
130
+
131
+
132
+
133
+ /*
134
+
108
135
#ifdef ARDUINO_ESP32_DEV
109
136
digitalWriteInternal(MCP23017_INT_ADDR, mcpRegsInt, 9, HIGH);
110
137
#else
111
138
digitalWriteInternal(MCP23017_INT_ADDR, mcpRegsInt, 9, LOW);
112
139
#endif
140
+ */
113
141
// Calculate the voltage using the following formula
114
142
// 1.1V is internal ADC reference of ESP32, 3.548133892 is 11dB in linear
115
143
// scale (Analog signal is attenuated by 11dB before ESP32 ADC input)
0 commit comments