wio_e5_mini: led and rescue cli
This commit is contained in:
@@ -8,7 +8,7 @@ protected:
|
|||||||
uint8_t startup_reason;
|
uint8_t startup_reason;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void begin() {
|
virtual void begin() {
|
||||||
startup_reason = BD_STARTUP_NORMAL;
|
startup_reason = BD_STARTUP_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,5 +25,14 @@ public:
|
|||||||
void reboot() override {
|
void reboot() override {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(P_LORA_TX_LED)
|
||||||
|
void onBeforeTransmit() override {
|
||||||
|
digitalWrite(P_LORA_TX_LED, LOW); // turn TX LED on
|
||||||
|
}
|
||||||
|
void onAfterTransmit() override {
|
||||||
|
digitalWrite(P_LORA_TX_LED, HIGH); // turn TX LED off
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool startOTAUpdate(const char* id, char reply[]) override { return false; };
|
bool startOTAUpdate(const char* id, char reply[]) override { return false; };
|
||||||
};
|
};
|
||||||
24
variants/wio-e5-mini/NullDisplayDriver.h
Normal file
24
variants/wio-e5-mini/NullDisplayDriver.h
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <helpers/ui/DisplayDriver.h>
|
||||||
|
|
||||||
|
class NullDisplayDriver : public DisplayDriver {
|
||||||
|
public:
|
||||||
|
NullDisplayDriver() : DisplayDriver(128, 64) { }
|
||||||
|
bool begin() { return false; } // not present
|
||||||
|
|
||||||
|
bool isOn() override { return false; }
|
||||||
|
void turnOn() override { }
|
||||||
|
void turnOff() override { }
|
||||||
|
void clear() override { }
|
||||||
|
void startFrame(Color bkg = DARK) override { }
|
||||||
|
void setTextSize(int sz) override { }
|
||||||
|
void setColor(Color c) override { }
|
||||||
|
void setCursor(int x, int y) override { }
|
||||||
|
void print(const char* str) override { }
|
||||||
|
void fillRect(int x, int y, int w, int h) override { }
|
||||||
|
void drawRect(int x, int y, int w, int h) override { }
|
||||||
|
void drawXbm(int x, int y, const uint8_t* bits, int w, int h) override { }
|
||||||
|
uint16_t getTextWidth(const char* str) override { return 0; }
|
||||||
|
void endFrame() { }
|
||||||
|
};
|
||||||
@@ -7,6 +7,9 @@ build_flags = ${stm32_base.build_flags}
|
|||||||
-D WRAPPER_CLASS=CustomSTM32WLxWrapper
|
-D WRAPPER_CLASS=CustomSTM32WLxWrapper
|
||||||
-D SPI_INTERFACES_COUNT=0
|
-D SPI_INTERFACES_COUNT=0
|
||||||
-D RX_BOOSTED_GAIN=true
|
-D RX_BOOSTED_GAIN=true
|
||||||
|
-D P_LORA_TX_LED=LED_RED
|
||||||
|
-D PIN_USER_BTN=USER_BTN
|
||||||
|
-D USER_BTN_PRESSED=LOW
|
||||||
-I variants/wio-e5-mini
|
-I variants/wio-e5-mini
|
||||||
build_src_filter = ${stm32_base.build_src_filter}
|
build_src_filter = ${stm32_base.build_src_filter}
|
||||||
+<../variants/wio-e5-mini>
|
+<../variants/wio-e5-mini>
|
||||||
@@ -28,6 +31,7 @@ build_flags = ${lora_e5_mini.build_flags}
|
|||||||
-D LORA_TX_POWER=22
|
-D LORA_TX_POWER=22
|
||||||
-D MAX_CONTACTS=100
|
-D MAX_CONTACTS=100
|
||||||
-D MAX_GROUP_CHANNELS=8
|
-D MAX_GROUP_CHANNELS=8
|
||||||
|
-D DISPLAY_CLASS=NullDisplayDriver
|
||||||
build_src_filter = ${lora_e5_mini.build_src_filter}
|
build_src_filter = ${lora_e5_mini.build_src_filter}
|
||||||
+<../examples/companion_radio/*.cpp>
|
+<../examples/companion_radio/*.cpp>
|
||||||
lib_deps = ${lora_e5_mini.lib_deps}
|
lib_deps = ${lora_e5_mini.lib_deps}
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ static const Module::RfSwitchMode_t rfswitch_table[] = {
|
|||||||
VolatileRTCClock rtc_clock;
|
VolatileRTCClock rtc_clock;
|
||||||
WIOE5SensorManager sensors;
|
WIOE5SensorManager sensors;
|
||||||
|
|
||||||
|
#ifdef DISPLAY_CLASS
|
||||||
|
NullDisplayDriver display;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef LORA_CR
|
#ifndef LORA_CR
|
||||||
#define LORA_CR 5
|
#define LORA_CR 5
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,20 +7,38 @@
|
|||||||
#include <helpers/CustomSTM32WLxWrapper.h>
|
#include <helpers/CustomSTM32WLxWrapper.h>
|
||||||
#include <helpers/ArduinoHelpers.h>
|
#include <helpers/ArduinoHelpers.h>
|
||||||
#include <helpers/SensorManager.h>
|
#include <helpers/SensorManager.h>
|
||||||
|
#ifdef DISPLAY_CLASS
|
||||||
|
#include "NullDisplayDriver.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <BME280I2C.h>
|
#include <BME280I2C.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
|
|
||||||
|
#ifdef DISPLAY_CLASS
|
||||||
|
extern NullDisplayDriver display;
|
||||||
|
#endif
|
||||||
|
|
||||||
class WIOE5Board : public STM32Board {
|
class WIOE5Board : public STM32Board {
|
||||||
public:
|
public:
|
||||||
|
void begin() override {
|
||||||
|
STM32Board::begin();
|
||||||
|
|
||||||
|
pinMode(LED_RED, OUTPUT);
|
||||||
|
digitalWrite(LED_RED, HIGH);
|
||||||
|
pinMode(USER_BTN, INPUT_PULLUP);
|
||||||
|
}
|
||||||
|
|
||||||
const char* getManufacturerName() const override {
|
const char* getManufacturerName() const override {
|
||||||
return "Seeed Wio E5 mini";
|
return "Seeed Wio E5 mini";
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t getBattMilliVolts() override {
|
uint16_t getBattMilliVolts() override {
|
||||||
analogReadResolution(12);
|
analogReadResolution(12);
|
||||||
uint32_t raw = analogRead(PIN_A3);
|
uint32_t raw = 0;
|
||||||
return raw;
|
for (int i=0; i<8;i++) {
|
||||||
|
raw += analogRead(PIN_A3);
|
||||||
|
}
|
||||||
|
return ((double)raw) * 1.73 * 5 * 1000 / 8 / 4096;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user