TechoCardBoard.h 934 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <MeshCore.h>
  3. #include <Arduino.h>
  4. #include <helpers/NRF52Board.h>
  5. #include <Adafruit_Neopixel.h>
  6. // built-ins
  7. #define VBAT_MV_PER_LSB (0.73242188F) // 3.0V ADC range and 12-bit ADC resolution = 3000mV/4096
  8. #define VBAT_DIVIDER (0.5F) // Even voltage divider on VBAT
  9. #define VBAT_DIVIDER_COMP (2.0F) // Compensation factor for the VBAT divider
  10. #define PIN_VBAT_READ (2)
  11. #define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
  12. class TechoCardBoard : public NRF52BoardDCDC {
  13. bool _torchStatus = false;
  14. public:
  15. TechoCardBoard() : NRF52Board("TECHO_OTA") {}
  16. void begin();
  17. uint16_t getBattMilliVolts() override;
  18. void onBeforeTransmit(void) override;
  19. void onAfterTransmit(void) override;
  20. const char* getManufacturerName() const override {
  21. return "LilyGo T-Echo Card";
  22. }
  23. void powerOff() override;
  24. void toggleTorch();
  25. void turnOffLeds();
  26. };