Merge pull request #2335 from fizzyfuzzle/v4_adc_mult

Add Heltec V4 set adc.multiplier functionality
This commit is contained in:
Liam Cottle
2026-04-21 18:06:42 +12:00
committed by GitHub
2 changed files with 19 additions and 3 deletions

View File

@@ -73,7 +73,7 @@ void HeltecV4Board::begin() {
digitalWrite(PIN_ADC_CTRL, LOW); digitalWrite(PIN_ADC_CTRL, LOW);
return (5.42 * (3.3 / 1024.0) * raw) * 1000; return (adc_mult * (3.3 / 1024.0) * raw) * 1000;
} }
const char* HeltecV4Board::getManufacturerName() const { const char* HeltecV4Board::getManufacturerName() const {

View File

@@ -5,8 +5,16 @@
#include <helpers/ESP32Board.h> #include <helpers/ESP32Board.h>
#include <driver/rtc_io.h> #include <driver/rtc_io.h>
#include "LoRaFEMControl.h" #include "LoRaFEMControl.h"
#ifndef ADC_MULTIPLIER
#define ADC_MULTIPLIER 5.42
#endif
class HeltecV4Board : public ESP32Board { class HeltecV4Board : public ESP32Board {
protected:
float adc_mult = ADC_MULTIPLIER;
public: public:
RefCountedDigitalPin periph_power; RefCountedDigitalPin periph_power;
LoRaFEMControl loRaFEMControl; LoRaFEMControl loRaFEMControl;
@@ -18,6 +26,14 @@ public:
void enterDeepSleep(uint32_t secs, int pin_wake_btn = -1); void enterDeepSleep(uint32_t secs, int pin_wake_btn = -1);
void powerOff() override; void powerOff() override;
uint16_t getBattMilliVolts() override; uint16_t getBattMilliVolts() override;
const char* getManufacturerName() const override ; bool setAdcMultiplier(float multiplier) override {
if (multiplier == 0.0f) {
adc_mult = ADC_MULTIPLIER;
} else {
adc_mult = multiplier;
}
return true;
}
float getAdcMultiplier() const override { return adc_mult; }
const char* getManufacturerName() const override;
}; };