HeltecV4Board.h 992 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <Arduino.h>
  3. #include <helpers/RefCountedDigitalPin.h>
  4. #include <helpers/ESP32Board.h>
  5. #include <driver/rtc_io.h>
  6. #include "LoRaFEMControl.h"
  7. #ifndef ADC_MULTIPLIER
  8. #define ADC_MULTIPLIER 5.42
  9. #endif
  10. class HeltecV4Board : public ESP32Board {
  11. protected:
  12. float adc_mult = ADC_MULTIPLIER;
  13. public:
  14. RefCountedDigitalPin periph_power;
  15. LoRaFEMControl loRaFEMControl;
  16. HeltecV4Board() : periph_power(PIN_VEXT_EN,PIN_VEXT_EN_ACTIVE) { }
  17. void begin();
  18. void onBeforeTransmit(void) override;
  19. void onAfterTransmit(void) override;
  20. void enterDeepSleep(uint32_t secs, int pin_wake_btn = -1);
  21. void powerOff() override;
  22. uint16_t getBattMilliVolts() override;
  23. bool setAdcMultiplier(float multiplier) override {
  24. if (multiplier == 0.0f) {
  25. adc_mult = ADC_MULTIPLIER;
  26. } else {
  27. adc_mult = multiplier;
  28. }
  29. return true;
  30. }
  31. float getAdcMultiplier() const override { return adc_mult; }
  32. const char* getManufacturerName() const override;
  33. };