Files
MeshCore-RelayRadio/variants/wio-e5-mini/target.h
ua1zbe cdd9d32fb5
Some checks failed
Build and deploy Docs site to GitHub Pages / github-pages (push) Has been cancelled
Run Unit Tests / test (push) Has been cancelled
PR Build Check / build (Heltec_v3_companion_radio_ble) (push) Has been cancelled
PR Build Check / build (Heltec_v3_repeater) (push) Has been cancelled
PR Build Check / build (Heltec_v3_room_server) (push) Has been cancelled
PR Build Check / build (LilyGo_Tlora_C6_repeater_) (push) Has been cancelled
PR Build Check / build (PicoW_repeater) (push) Has been cancelled
PR Build Check / build (RAK_4631_companion_radio_ble) (push) Has been cancelled
PR Build Check / build (RAK_4631_repeater) (push) Has been cancelled
PR Build Check / build (RAK_4631_room_server) (push) Has been cancelled
PR Build Check / build (Tbeam_SX1276_repeater) (push) Has been cancelled
PR Build Check / build (wio-e5-mini_repeater) (push) Has been cancelled
PR Build Check / build (wio_wm1110_repeater) (push) Has been cancelled
Add MeshCore relay_radio firmware for Heltec T114
2026-06-09 15:36:22 +03:00

62 lines
1.4 KiB
C++

#pragma once
#define RADIOLIB_STATIC_ONLY 1
#include <RadioLib.h>
#include <helpers/radiolib/RadioLibWrappers.h>
#include <helpers/stm32/STM32Board.h>
#include <helpers/radiolib/CustomSTM32WLxWrapper.h>
#include <helpers/ArduinoHelpers.h>
#include <helpers/SensorManager.h>
#ifdef DISPLAY_CLASS
#include "NullDisplayDriver.h"
#endif
#include <BME280I2C.h>
#include <Wire.h>
#ifdef DISPLAY_CLASS
extern NullDisplayDriver display;
#endif
class WIOE5Board : public STM32Board {
public:
void begin() override {
STM32Board::begin();
pinMode(LED_RED, OUTPUT);
digitalWrite(LED_RED, HIGH);
pinMode(USER_BTN, INPUT_PULLUP);
}
const char* getManufacturerName() const override {
return "Seeed Wio E5 mini";
}
uint16_t getBattMilliVolts() override {
analogReadResolution(12);
uint32_t raw = 0;
for (int i=0; i<8;i++) {
raw += analogRead(PIN_A3);
}
return ((double)raw) * 1.73 * 5 * 1000 / 8 / 4096;
}
};
class WIOE5SensorManager : public SensorManager {
BME280I2C bme;
bool has_bme = false;
public:
WIOE5SensorManager() {}
bool begin() override;
bool querySensors(uint8_t requester_permissions, CayenneLPP& telemetry) override;
};
extern WIOE5Board board;
extern WRAPPER_CLASS radio_driver;
extern VolatileRTCClock rtc_clock;
extern WIOE5SensorManager sensors;
bool radio_init();
mesh::LocalIdentity radio_new_identity();