| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #include <Arduino.h>
- #include <helpers/RefCountedDigitalPin.h>
- #include <helpers/ESP32Board.h>
- #include <driver/rtc_io.h>
- #include "LoRaFEMControl.h"
- #ifndef ADC_MULTIPLIER
- #define ADC_MULTIPLIER 5.42
- #endif
- class HeltecV4Board : public ESP32Board {
- protected:
- float adc_mult = ADC_MULTIPLIER;
- public:
- RefCountedDigitalPin periph_power;
- LoRaFEMControl loRaFEMControl;
- HeltecV4Board() : periph_power(PIN_VEXT_EN,PIN_VEXT_EN_ACTIVE) { }
- void begin();
- void onBeforeTransmit(void) override;
- void onAfterTransmit(void) override;
- void enterDeepSleep(uint32_t secs, int pin_wake_btn = -1);
- void powerOff() override;
- bool setLoRaFemLnaEnabled(bool enable) override;
- bool canControlLoRaFemLna() const override;
- bool isLoRaFemLnaEnabled() const override;
- uint16_t getBattMilliVolts() 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;
- };
|