Thomas Roberts 3 days ago
committed by GitHub
parent
commit
70795b6715
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 11
      variants/heltec_v4/HeltecV4Board.cpp
  2. 2
      variants/heltec_v4/HeltecV4Board.h

11
variants/heltec_v4/HeltecV4Board.cpp

@ -62,18 +62,19 @@ void HeltecV4Board::begin() {
} }
uint16_t HeltecV4Board::getBattMilliVolts() { uint16_t HeltecV4Board::getBattMilliVolts() {
analogReadResolution(10); analogReadResolution(12);
analogSetPinAttenuation(PIN_VBAT_READ, ADC_2_5db); // divider puts pin at 0.61-0.86V so this attenuation should cover it with some room to spare
digitalWrite(PIN_ADC_CTRL, HIGH); digitalWrite(PIN_ADC_CTRL, HIGH);
delay(10); delay(10);
uint32_t raw = 0; uint32_t raw_mv = 0;
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
raw += analogRead(PIN_VBAT_READ); raw_mv += analogReadMilliVolts(PIN_VBAT_READ);
} }
raw = raw / 8; raw_mv /= 8;
digitalWrite(PIN_ADC_CTRL, LOW); digitalWrite(PIN_ADC_CTRL, LOW);
return (adc_mult * (3.3 / 1024.0) * raw) * 1000; return adc_mult * raw_mv;
} }
const char* HeltecV4Board::getManufacturerName() const { const char* HeltecV4Board::getManufacturerName() const {

2
variants/heltec_v4/HeltecV4Board.h

@ -7,7 +7,7 @@
#include "LoRaFEMControl.h" #include "LoRaFEMControl.h"
#ifndef ADC_MULTIPLIER #ifndef ADC_MULTIPLIER
#define ADC_MULTIPLIER 5.42 #define ADC_MULTIPLIER 4.9 // (R1+R2)/R2 = (390k+100k)/100k
#endif #endif
class HeltecV4Board : public ESP32Board { class HeltecV4Board : public ESP32Board {

Loading…
Cancel
Save