OLED and button support, some refactoring.
This commit is contained in:
@@ -971,6 +971,10 @@ build_flags = ${nrf52840_base.build_flags}
|
|||||||
-D LORA_TX_POWER=22
|
-D LORA_TX_POWER=22
|
||||||
-D SX126X_CURRENT_LIMIT=130
|
-D SX126X_CURRENT_LIMIT=130
|
||||||
-D SX126X_RX_BOOSTED_GAIN=1
|
-D SX126X_RX_BOOSTED_GAIN=1
|
||||||
|
-D PIN_USER_BTN=6
|
||||||
|
lib_deps=
|
||||||
|
${nrf52840_base.lib_deps}
|
||||||
|
adafruit/Adafruit SSD1306 @ ^2.5.13
|
||||||
|
|
||||||
[env:Faketec_Repeater]
|
[env:Faketec_Repeater]
|
||||||
extends = faketec
|
extends = faketec
|
||||||
@@ -1035,6 +1039,7 @@ lib_deps =
|
|||||||
extends = faketec
|
extends = faketec
|
||||||
build_flags =
|
build_flags =
|
||||||
${faketec.build_flags}
|
${faketec.build_flags}
|
||||||
|
-D DISPLAY_CLASS=SSD1306Display
|
||||||
-D MAX_CONTACTS=100
|
-D MAX_CONTACTS=100
|
||||||
-D MAX_GROUP_CHANNELS=8
|
-D MAX_GROUP_CHANNELS=8
|
||||||
-D BLE_PIN_CODE=123456
|
-D BLE_PIN_CODE=123456
|
||||||
@@ -1043,7 +1048,7 @@ build_flags =
|
|||||||
-D ENABLE_PRIVATE_KEY_IMPORT=1
|
-D ENABLE_PRIVATE_KEY_IMPORT=1
|
||||||
; -D MESH_PACKET_LOGGING=1
|
; -D MESH_PACKET_LOGGING=1
|
||||||
; -D MESH_DEBUG=1
|
; -D MESH_DEBUG=1
|
||||||
build_src_filter = ${faketec.build_src_filter} +<helpers/nrf52/SerialBLEInterface.cpp> +<../examples/companion_radio/main.cpp>
|
build_src_filter = ${faketec.build_src_filter} +<helpers/nrf52/SerialBLEInterface.cpp> +<../examples/companion_radio> +<helpers/ui/*.cpp>
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${faketec.lib_deps}
|
${faketec.lib_deps}
|
||||||
adafruit/RTClib @ ^2.1.3
|
adafruit/RTClib @ ^2.1.3
|
||||||
|
|||||||
@@ -6,6 +6,32 @@
|
|||||||
|
|
||||||
static BLEDfu bledfu;
|
static BLEDfu bledfu;
|
||||||
|
|
||||||
|
void faketecBoard::begin() {
|
||||||
|
// for future use, sub-classes SHOULD call this from their begin()
|
||||||
|
startup_reason = BD_STARTUP_NORMAL;
|
||||||
|
btn_prev_state = HIGH;
|
||||||
|
|
||||||
|
|
||||||
|
pinMode(PIN_VBAT_READ, INPUT);
|
||||||
|
|
||||||
|
#ifdef BUTTON_PIN
|
||||||
|
pinMode(BATTERY_PIN, INPUT);
|
||||||
|
pinMode(BUTTON_PIN, INPUT);
|
||||||
|
pinMode(LED_PIN, OUTPUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PIN_BOARD_SDA) && defined(PIN_BOARD_SCL)
|
||||||
|
Wire.begin(PIN_BOARD_SDA, PIN_BOARD_SCL);
|
||||||
|
#else
|
||||||
|
Wire.begin();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
pinMode(SX126X_POWER_EN, OUTPUT);
|
||||||
|
digitalWrite(SX126X_POWER_EN, HIGH);
|
||||||
|
delay(10); // give sx1262 some time to power up
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void connect_callback(uint16_t conn_handle)
|
static void connect_callback(uint16_t conn_handle)
|
||||||
{
|
{
|
||||||
(void)conn_handle;
|
(void)conn_handle;
|
||||||
|
|||||||
@@ -23,24 +23,10 @@
|
|||||||
class faketecBoard : public mesh::MainBoard {
|
class faketecBoard : public mesh::MainBoard {
|
||||||
protected:
|
protected:
|
||||||
uint8_t startup_reason;
|
uint8_t startup_reason;
|
||||||
|
uint8_t btn_prev_state;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void begin() {
|
void begin();
|
||||||
// for future use, sub-classes SHOULD call this from their begin()
|
|
||||||
startup_reason = BD_STARTUP_NORMAL;
|
|
||||||
|
|
||||||
pinMode(PIN_VBAT_READ, INPUT);
|
|
||||||
|
|
||||||
#if defined(PIN_BOARD_SDA) && defined(PIN_BOARD_SCL)
|
|
||||||
Wire.begin(PIN_BOARD_SDA, PIN_BOARD_SCL);
|
|
||||||
#else
|
|
||||||
Wire.begin();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pinMode(SX126X_POWER_EN, OUTPUT);
|
|
||||||
digitalWrite(SX126X_POWER_EN, HIGH);
|
|
||||||
delay(10); // give sx1262 some time to power up
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t getStartupReason() const override { return startup_reason; }
|
uint8_t getStartupReason() const override { return startup_reason; }
|
||||||
|
|
||||||
@@ -61,6 +47,17 @@ public:
|
|||||||
return "Faketec DIY";
|
return "Faketec DIY";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int buttonStateChanged() {
|
||||||
|
#ifdef BUTTON_PIN
|
||||||
|
uint8_t v = digitalRead(BUTTON_PIN);
|
||||||
|
if (v != btn_prev_state) {
|
||||||
|
btn_prev_state = v;
|
||||||
|
return (v == LOW) ? 1 : -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void reboot() override {
|
void reboot() override {
|
||||||
NVIC_SystemReset();
|
NVIC_SystemReset();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
#define WIRE_INTERFACES_COUNT 2
|
#define WIRE_INTERFACES_COUNT 2
|
||||||
|
|
||||||
#define PIN_WIRE_SDA (6)
|
#define PIN_WIRE_SDA (8)
|
||||||
#define PIN_WIRE_SCL (7)
|
#define PIN_WIRE_SCL (7)
|
||||||
#define PIN_WIRE1_SDA (13)
|
#define PIN_WIRE1_SDA (13)
|
||||||
#define PIN_WIRE1_SCL (14)
|
#define PIN_WIRE1_SCL (14)
|
||||||
|
|||||||
Reference in New Issue
Block a user