Merge branch 'dev' into xiao_s3_serial_onpins
This commit is contained in:
@@ -1437,19 +1437,22 @@ void setup() {
|
|||||||
|
|
||||||
board.begin();
|
board.begin();
|
||||||
|
|
||||||
if (!radio_init()) { halt(); }
|
|
||||||
|
|
||||||
fast_rng.begin(radio_get_rng_seed());
|
|
||||||
|
|
||||||
#ifdef HAS_UI
|
#ifdef HAS_UI
|
||||||
DisplayDriver* disp = NULL;
|
DisplayDriver* disp = NULL;
|
||||||
#ifdef DISPLAY_CLASS
|
#ifdef DISPLAY_CLASS
|
||||||
if (display.begin()) {
|
if (display.begin()) {
|
||||||
disp = &display;
|
disp = &display;
|
||||||
|
disp->startFrame();
|
||||||
|
disp->print("Please wait...");
|
||||||
|
disp->endFrame();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (!radio_init()) { halt(); }
|
||||||
|
|
||||||
|
fast_rng.begin(radio_get_rng_seed());
|
||||||
|
|
||||||
#if defined(NRF52_PLATFORM)
|
#if defined(NRF52_PLATFORM)
|
||||||
InternalFS.begin();
|
InternalFS.begin();
|
||||||
the_mesh.begin(InternalFS,
|
the_mesh.begin(InternalFS,
|
||||||
|
|||||||
@@ -616,6 +616,14 @@ void setup() {
|
|||||||
|
|
||||||
board.begin();
|
board.begin();
|
||||||
|
|
||||||
|
#ifdef DISPLAY_CLASS
|
||||||
|
if(display.begin()){
|
||||||
|
display.startFrame();
|
||||||
|
display.print("Please wait...");
|
||||||
|
display.endFrame();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!radio_init()) { halt(); }
|
if (!radio_init()) { halt(); }
|
||||||
|
|
||||||
fast_rng.begin(radio_get_rng_seed());
|
fast_rng.begin(radio_get_rng_seed());
|
||||||
@@ -646,7 +654,6 @@ void setup() {
|
|||||||
the_mesh.begin(fs);
|
the_mesh.begin(fs);
|
||||||
|
|
||||||
#ifdef DISPLAY_CLASS
|
#ifdef DISPLAY_CLASS
|
||||||
display.begin();
|
|
||||||
ui_task.begin(the_mesh.getNodeName(), FIRMWARE_BUILD_DATE);
|
ui_task.begin(the_mesh.getNodeName(), FIRMWARE_BUILD_DATE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MAX_UNSYNCED_POSTS
|
#ifndef MAX_UNSYNCED_POSTS
|
||||||
#define MAX_UNSYNCED_POSTS 16
|
#define MAX_UNSYNCED_POSTS 32
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DISPLAY_CLASS
|
#ifdef DISPLAY_CLASS
|
||||||
@@ -111,7 +111,7 @@ struct PostInfo {
|
|||||||
|
|
||||||
#define REPLY_DELAY_MILLIS 1500
|
#define REPLY_DELAY_MILLIS 1500
|
||||||
#define PUSH_NOTIFY_DELAY_MILLIS 2000
|
#define PUSH_NOTIFY_DELAY_MILLIS 2000
|
||||||
#define SYNC_PUSH_INTERVAL 2000
|
#define SYNC_PUSH_INTERVAL 1200
|
||||||
|
|
||||||
#define PUSH_ACK_TIMEOUT_FLOOD 12000
|
#define PUSH_ACK_TIMEOUT_FLOOD 12000
|
||||||
#define PUSH_TIMEOUT_BASE 4000
|
#define PUSH_TIMEOUT_BASE 4000
|
||||||
@@ -782,6 +782,7 @@ public:
|
|||||||
}
|
}
|
||||||
// check next Round-Robin client, and sync next new post
|
// check next Round-Robin client, and sync next new post
|
||||||
auto client = &known_clients[next_client_idx];
|
auto client = &known_clients[next_client_idx];
|
||||||
|
bool did_push = false;
|
||||||
if (client->pending_ack == 0 && client->last_activity != 0 && client->push_failures < 3) { // not already waiting for ACK, AND not evicted, AND retries not max
|
if (client->pending_ack == 0 && client->last_activity != 0 && client->push_failures < 3) { // not already waiting for ACK, AND not evicted, AND retries not max
|
||||||
MESH_DEBUG_PRINTLN("loop - checking for client %02X", (uint32_t) client->id.pub_key[0]);
|
MESH_DEBUG_PRINTLN("loop - checking for client %02X", (uint32_t) client->id.pub_key[0]);
|
||||||
for (int k = 0, idx = next_post_idx; k < MAX_UNSYNCED_POSTS; k++) {
|
for (int k = 0, idx = next_post_idx; k < MAX_UNSYNCED_POSTS; k++) {
|
||||||
@@ -789,6 +790,7 @@ public:
|
|||||||
&& !posts[idx].author.matches(client->id)) { // don't push posts to the author
|
&& !posts[idx].author.matches(client->id)) { // don't push posts to the author
|
||||||
// push this post to Client, then wait for ACK
|
// push this post to Client, then wait for ACK
|
||||||
pushPostToClient(client, posts[idx]);
|
pushPostToClient(client, posts[idx]);
|
||||||
|
did_push = true;
|
||||||
MESH_DEBUG_PRINTLN("loop - pushed to client %02X: %s", (uint32_t) client->id.pub_key[0], posts[idx].text);
|
MESH_DEBUG_PRINTLN("loop - pushed to client %02X: %s", (uint32_t) client->id.pub_key[0], posts[idx].text);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -799,7 +801,12 @@ public:
|
|||||||
}
|
}
|
||||||
next_client_idx = (next_client_idx + 1) % num_clients; // round robin polling for each client
|
next_client_idx = (next_client_idx + 1) % num_clients; // round robin polling for each client
|
||||||
|
|
||||||
next_push = futureMillis(SYNC_PUSH_INTERVAL);
|
if (did_push) {
|
||||||
|
next_push = futureMillis(SYNC_PUSH_INTERVAL);
|
||||||
|
} else {
|
||||||
|
// were no unsynced posts for curr client, so proccess next client much quicker! (in next loop())
|
||||||
|
next_push = futureMillis(SYNC_PUSH_INTERVAL / 8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (next_flood_advert && millisHasNowPassed(next_flood_advert)) {
|
if (next_flood_advert && millisHasNowPassed(next_flood_advert)) {
|
||||||
@@ -839,6 +846,14 @@ void setup() {
|
|||||||
|
|
||||||
board.begin();
|
board.begin();
|
||||||
|
|
||||||
|
#ifdef DISPLAY_CLASS
|
||||||
|
if(display.begin()){
|
||||||
|
display.startFrame();
|
||||||
|
display.print("Please wait...");
|
||||||
|
display.endFrame();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!radio_init()) { halt(); }
|
if (!radio_init()) { halt(); }
|
||||||
|
|
||||||
fast_rng.begin(radio_get_rng_seed());
|
fast_rng.begin(radio_get_rng_seed());
|
||||||
@@ -868,7 +883,6 @@ void setup() {
|
|||||||
the_mesh.begin(fs);
|
the_mesh.begin(fs);
|
||||||
|
|
||||||
#ifdef DISPLAY_CLASS
|
#ifdef DISPLAY_CLASS
|
||||||
display.begin();
|
|
||||||
ui_task.begin(the_mesh.getNodeName(), FIRMWARE_BUILD_DATE);
|
ui_task.begin(the_mesh.getNodeName(), FIRMWARE_BUILD_DATE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include "FaketecBoard.h"
|
#include "PromicroBoard.h"
|
||||||
|
|
||||||
#include <bluefruit.h>
|
#include <bluefruit.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
|
|
||||||
static BLEDfu bledfu;
|
static BLEDfu bledfu;
|
||||||
|
|
||||||
void FaketecBoard::begin() {
|
void PromicroBoard::begin() {
|
||||||
// for future use, sub-classes SHOULD call this from their begin()
|
// for future use, sub-classes SHOULD call this from their begin()
|
||||||
startup_reason = BD_STARTUP_NORMAL;
|
startup_reason = BD_STARTUP_NORMAL;
|
||||||
btn_prev_state = HIGH;
|
btn_prev_state = HIGH;
|
||||||
@@ -39,7 +39,7 @@ static void disconnect_callback(uint16_t conn_handle, uint8_t reason) {
|
|||||||
MESH_DEBUG_PRINTLN("BLE client disconnected");
|
MESH_DEBUG_PRINTLN("BLE client disconnected");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FaketecBoard::startOTAUpdate(const char* id, char reply[]) {
|
bool PromicroBoard::startOTAUpdate(const char* id, char reply[]) {
|
||||||
// Config the peripheral connection with maximum bandwidth
|
// Config the peripheral connection with maximum bandwidth
|
||||||
// more SRAM required by SoftDevice
|
// more SRAM required by SoftDevice
|
||||||
// Note: All config***() function must be called before begin()
|
// Note: All config***() function must be called before begin()
|
||||||
@@ -50,7 +50,7 @@ bool FaketecBoard::startOTAUpdate(const char* id, char reply[]) {
|
|||||||
// Set max power. Accepted values are: -40, -30, -20, -16, -12, -8, -4, 0, 4
|
// Set max power. Accepted values are: -40, -30, -20, -16, -12, -8, -4, 0, 4
|
||||||
Bluefruit.setTxPower(4);
|
Bluefruit.setTxPower(4);
|
||||||
// Set the BLE device name
|
// Set the BLE device name
|
||||||
Bluefruit.setName("Faketec_OTA");
|
Bluefruit.setName("ProMicro_OTA");
|
||||||
|
|
||||||
Bluefruit.Periph.setConnectCallback(connect_callback);
|
Bluefruit.Periph.setConnectCallback(connect_callback);
|
||||||
Bluefruit.Periph.setDisconnectCallback(disconnect_callback);
|
Bluefruit.Periph.setDisconnectCallback(disconnect_callback);
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
#define PIN_VBAT_READ 17
|
#define PIN_VBAT_READ 17
|
||||||
#define ADC_MULTIPLIER (1.815f) // dependent on voltage divider resistors. TODO: more accurate battery tracking
|
#define ADC_MULTIPLIER (1.815f) // dependent on voltage divider resistors. TODO: more accurate battery tracking
|
||||||
|
|
||||||
class FaketecBoard : public mesh::MainBoard {
|
class PromicroBoard : public mesh::MainBoard {
|
||||||
protected:
|
protected:
|
||||||
uint8_t startup_reason;
|
uint8_t startup_reason;
|
||||||
uint8_t btn_prev_state;
|
uint8_t btn_prev_state;
|
||||||
@@ -43,7 +43,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
const char* getManufacturerName() const override {
|
const char* getManufacturerName() const override {
|
||||||
return "Faketec DIY";
|
return "ProMicro DIY";
|
||||||
}
|
}
|
||||||
|
|
||||||
int buttonStateChanged() {
|
int buttonStateChanged() {
|
||||||
@@ -15,6 +15,7 @@ public:
|
|||||||
virtual bool isOn() = 0;
|
virtual bool isOn() = 0;
|
||||||
virtual void turnOn() = 0;
|
virtual void turnOn() = 0;
|
||||||
virtual void turnOff() = 0;
|
virtual void turnOff() = 0;
|
||||||
|
virtual void clear() = 0;
|
||||||
virtual void startFrame(Color bkg = DARK) = 0;
|
virtual void startFrame(Color bkg = DARK) = 0;
|
||||||
virtual void setTextSize(int sz) = 0;
|
virtual void setTextSize(int sz) = 0;
|
||||||
virtual void setColor(Color c) = 0;
|
virtual void setColor(Color c) = 0;
|
||||||
|
|||||||
@@ -20,6 +20,11 @@ void SSD1306Display::turnOff() {
|
|||||||
_isOn = false;
|
_isOn = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SSD1306Display::clear() {
|
||||||
|
display.clearDisplay();
|
||||||
|
display.display();
|
||||||
|
}
|
||||||
|
|
||||||
void SSD1306Display::startFrame(Color bkg) {
|
void SSD1306Display::startFrame(Color bkg) {
|
||||||
display.clearDisplay(); // TODO: apply 'bkg'
|
display.clearDisplay(); // TODO: apply 'bkg'
|
||||||
_color = SSD1306_WHITE;
|
_color = SSD1306_WHITE;
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public:
|
|||||||
bool isOn() override { return _isOn; }
|
bool isOn() override { return _isOn; }
|
||||||
void turnOn() override;
|
void turnOn() override;
|
||||||
void turnOff() override;
|
void turnOff() override;
|
||||||
|
void clear() override;
|
||||||
void startFrame(Color bkg = DARK) override;
|
void startFrame(Color bkg = DARK) override;
|
||||||
void setTextSize(int sz) override;
|
void setTextSize(int sz) override;
|
||||||
void setColor(Color c) override;
|
void setColor(Color c) override;
|
||||||
|
|||||||
@@ -44,3 +44,21 @@ build_src_filter = ${LilyGo_TBeam.build_src_filter}
|
|||||||
lib_deps =
|
lib_deps =
|
||||||
${LilyGo_TBeam.lib_deps}
|
${LilyGo_TBeam.lib_deps}
|
||||||
densaugeo/base64 @ ~1.4.0
|
densaugeo/base64 @ ~1.4.0
|
||||||
|
|
||||||
|
[env:Tbeam_repeater]
|
||||||
|
extends = LilyGo_TBeam
|
||||||
|
build_flags =
|
||||||
|
${LilyGo_TBeam.build_flags}
|
||||||
|
-D DISPLAY_CLASS=SSD1306Display
|
||||||
|
-D ADVERT_NAME='"Tbeam Repeater"'
|
||||||
|
-D ADVERT_LAT=-37.0
|
||||||
|
-D ADVERT_LON=145.0
|
||||||
|
-D ADMIN_PASSWORD='"password"'
|
||||||
|
-D MESH_PACKET_LOGGING=1
|
||||||
|
; -D MESH_DEBUG=1
|
||||||
|
build_src_filter = ${LilyGo_TBeam.build_src_filter}
|
||||||
|
+<helpers/ui/*.cpp>
|
||||||
|
+<../examples/simple_repeater>
|
||||||
|
lib_deps =
|
||||||
|
${LilyGo_TBeam.lib_deps}
|
||||||
|
${esp32_ota.lib_deps}
|
||||||
@@ -5,9 +5,9 @@ TBeamBoard board;
|
|||||||
|
|
||||||
#if defined(P_LORA_SCLK)
|
#if defined(P_LORA_SCLK)
|
||||||
static SPIClass spi;
|
static SPIClass spi;
|
||||||
RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY, spi);
|
RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_0, P_LORA_RESET, P_LORA_DIO_1, spi);
|
||||||
#else
|
#else
|
||||||
RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY);
|
RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_0, P_LORA_RESET, P_LORA_DIO_1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WRAPPER_CLASS radio_driver(radio, board);
|
WRAPPER_CLASS radio_driver(radio, board);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[faketec]
|
[Faketec]
|
||||||
extends = nrf52840_base
|
extends = nrf52840_base
|
||||||
board = promicro_nrf52840
|
board = promicro_nrf52840
|
||||||
build_flags = ${nrf52840_base.build_flags}
|
build_flags = ${nrf52840_base.build_flags}
|
||||||
@@ -15,17 +15,17 @@ build_flags = ${nrf52840_base.build_flags}
|
|||||||
-D PIN_OLED_RESET=-1
|
-D PIN_OLED_RESET=-1
|
||||||
-D PIN_USER_BTN=6
|
-D PIN_USER_BTN=6
|
||||||
build_src_filter = ${nrf52840_base.build_src_filter}
|
build_src_filter = ${nrf52840_base.build_src_filter}
|
||||||
+<helpers/nrf52/FaketecBoard.cpp>
|
+<helpers/nrf52/PromicroBoard.cpp>
|
||||||
+<../variants/promicro>
|
+<../variants/promicro>
|
||||||
lib_deps=
|
lib_deps=
|
||||||
${nrf52840_base.lib_deps}
|
${nrf52840_base.lib_deps}
|
||||||
adafruit/Adafruit SSD1306 @ ^2.5.13
|
adafruit/Adafruit SSD1306 @ ^2.5.13
|
||||||
|
|
||||||
[env:Faketec_Repeater]
|
[env:Faketec_Repeater]
|
||||||
extends = faketec
|
extends = Faketec
|
||||||
build_src_filter = ${faketec.build_src_filter} +<../examples/simple_repeater> +<helpers/ui/*.cpp>
|
build_src_filter = ${Faketec.build_src_filter} +<../examples/simple_repeater> +<helpers/ui/*.cpp>
|
||||||
build_flags =
|
build_flags =
|
||||||
${faketec.build_flags}
|
${Faketec.build_flags}
|
||||||
-D ADVERT_NAME="\"Faketec Repeater\""
|
-D ADVERT_NAME="\"Faketec Repeater\""
|
||||||
-D ADVERT_LAT=-37.0
|
-D ADVERT_LAT=-37.0
|
||||||
-D ADVERT_LON=145.0
|
-D ADVERT_LON=145.0
|
||||||
@@ -33,14 +33,14 @@ build_flags =
|
|||||||
; -D MESH_PACKET_LOGGING=1
|
; -D MESH_PACKET_LOGGING=1
|
||||||
; -D MESH_DEBUG=1
|
; -D MESH_DEBUG=1
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${faketec.lib_deps}
|
${Faketec.lib_deps}
|
||||||
adafruit/RTClib @ ^2.1.3
|
adafruit/RTClib @ ^2.1.3
|
||||||
|
|
||||||
[env:Faketec_room_server]
|
[env:Faketec_room_server]
|
||||||
extends = faketec
|
extends = Faketec
|
||||||
build_src_filter = ${faketec.build_src_filter} +<../examples/simple_room_server> +<helpers/ui/*.cpp>
|
build_src_filter = ${Faketec.build_src_filter} +<../examples/simple_room_server> +<helpers/ui/*.cpp>
|
||||||
build_flags =
|
build_flags =
|
||||||
${faketec.build_flags}
|
${Faketec.build_flags}
|
||||||
-D ADVERT_NAME="\"Test Room\""
|
-D ADVERT_NAME="\"Test Room\""
|
||||||
-D ADVERT_LAT=-37.0
|
-D ADVERT_LAT=-37.0
|
||||||
-D ADVERT_LON=145.0
|
-D ADVERT_LON=145.0
|
||||||
@@ -49,41 +49,41 @@ build_flags =
|
|||||||
; -D MESH_PACKET_LOGGING=1
|
; -D MESH_PACKET_LOGGING=1
|
||||||
; -D MESH_DEBUG=1
|
; -D MESH_DEBUG=1
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${faketec.lib_deps}
|
${Faketec.lib_deps}
|
||||||
adafruit/RTClib @ ^2.1.3
|
adafruit/RTClib @ ^2.1.3
|
||||||
|
|
||||||
[env:Faketec_terminal_chat]
|
[env:Faketec_terminal_chat]
|
||||||
extends = faketec
|
extends = Faketec
|
||||||
build_flags =
|
build_flags =
|
||||||
${faketec.build_flags}
|
${Faketec.build_flags}
|
||||||
-D MAX_CONTACTS=100
|
-D MAX_CONTACTS=100
|
||||||
-D MAX_GROUP_CHANNELS=1
|
-D MAX_GROUP_CHANNELS=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} +<../examples/simple_secure_chat/main.cpp>
|
build_src_filter = ${Faketec.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${faketec.lib_deps}
|
${Faketec.lib_deps}
|
||||||
densaugeo/base64 @ ~1.4.0
|
densaugeo/base64 @ ~1.4.0
|
||||||
adafruit/RTClib @ ^2.1.3
|
adafruit/RTClib @ ^2.1.3
|
||||||
|
|
||||||
[env:Faketec_companion_radio_usb]
|
[env:Faketec_companion_radio_usb]
|
||||||
extends = faketec
|
extends = Faketec
|
||||||
build_flags =
|
build_flags =
|
||||||
${faketec.build_flags}
|
${Faketec.build_flags}
|
||||||
-D MAX_CONTACTS=100
|
-D MAX_CONTACTS=100
|
||||||
-D MAX_GROUP_CHANNELS=8
|
-D MAX_GROUP_CHANNELS=8
|
||||||
; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
|
; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
|
||||||
; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
|
; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
|
||||||
build_src_filter = ${faketec.build_src_filter} +<../examples/companion_radio> +<../examples/companion_radio> +<helpers/ui/*.cpp>
|
build_src_filter = ${Faketec.build_src_filter} +<../examples/companion_radio> +<../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
|
||||||
densaugeo/base64 @ ~1.4.0
|
densaugeo/base64 @ ~1.4.0
|
||||||
|
|
||||||
[env:Faketec_companion_radio_ble]
|
[env:Faketec_companion_radio_ble]
|
||||||
extends = faketec
|
extends = Faketec
|
||||||
build_flags =
|
build_flags =
|
||||||
${faketec.build_flags}
|
${Faketec.build_flags}
|
||||||
-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
|
||||||
@@ -92,9 +92,9 @@ 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> +<helpers/ui/*.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
|
||||||
densaugeo/base64 @ ~1.4.0
|
densaugeo/base64 @ ~1.4.0
|
||||||
|
|
||||||
@@ -103,14 +103,14 @@ extends = nrf52840_base
|
|||||||
board = promicro_nrf52840
|
board = promicro_nrf52840
|
||||||
build_flags = ${nrf52840_base.build_flags}
|
build_flags = ${nrf52840_base.build_flags}
|
||||||
-I variants/promicro
|
-I variants/promicro
|
||||||
-D FAKETEC
|
-D PROMICROLLCC68
|
||||||
-D RADIO_CLASS=CustomLLCC68
|
-D RADIO_CLASS=CustomLLCC68
|
||||||
-D WRAPPER_CLASS=CustomLLCC68Wrapper
|
-D WRAPPER_CLASS=CustomLLCC68Wrapper
|
||||||
-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
|
||||||
build_src_filter = ${nrf52840_base.build_src_filter}
|
build_src_filter = ${nrf52840_base.build_src_filter}
|
||||||
+<helpers/nrf52/FaketecBoard.cpp>
|
+<helpers/nrf52/PromicroBoard.cpp>
|
||||||
+<../variants/promicro>
|
+<../variants/promicro>
|
||||||
|
|
||||||
[env:ProMicroLLCC68_Repeater]
|
[env:ProMicroLLCC68_Repeater]
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include <helpers/ArduinoHelpers.h>
|
#include <helpers/ArduinoHelpers.h>
|
||||||
|
|
||||||
FaketecBoard board;
|
PromicroBoard board;
|
||||||
|
|
||||||
RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY, SPI);
|
RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY, SPI);
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,12 @@
|
|||||||
#define RADIOLIB_STATIC_ONLY 1
|
#define RADIOLIB_STATIC_ONLY 1
|
||||||
#include <RadioLib.h>
|
#include <RadioLib.h>
|
||||||
#include <helpers/RadioLibWrappers.h>
|
#include <helpers/RadioLibWrappers.h>
|
||||||
#include <helpers/nrf52/FaketecBoard.h>
|
#include <helpers/nrf52/PromicroBoard.h>
|
||||||
#include <helpers/CustomSX1262Wrapper.h>
|
#include <helpers/CustomSX1262Wrapper.h>
|
||||||
#include <helpers/CustomLLCC68Wrapper.h>
|
#include <helpers/CustomLLCC68Wrapper.h>
|
||||||
#include <helpers/AutoDiscoverRTCClock.h>
|
#include <helpers/AutoDiscoverRTCClock.h>
|
||||||
|
|
||||||
extern FaketecBoard board;
|
extern PromicroBoard board;
|
||||||
extern WRAPPER_CLASS radio_driver;
|
extern WRAPPER_CLASS radio_driver;
|
||||||
extern AutoDiscoverRTCClock rtc_clock;
|
extern AutoDiscoverRTCClock rtc_clock;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include <helpers/ArduinoHelpers.h>
|
|
||||||
|
|
||||||
T1000eBoard board;
|
T1000eBoard board;
|
||||||
|
|
||||||
@@ -8,8 +7,7 @@ RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BU
|
|||||||
|
|
||||||
WRAPPER_CLASS radio_driver(radio, board);
|
WRAPPER_CLASS radio_driver(radio, board);
|
||||||
|
|
||||||
VolatileRTCClock fallback_clock;
|
VolatileRTCClock rtc_clock;
|
||||||
AutoDiscoverRTCClock rtc_clock(fallback_clock);
|
|
||||||
|
|
||||||
#ifndef LORA_CR
|
#ifndef LORA_CR
|
||||||
#define LORA_CR 5
|
#define LORA_CR 5
|
||||||
@@ -38,7 +36,7 @@ static const Module::RfSwitchMode_t rfswitch_table[] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool radio_init() {
|
bool radio_init() {
|
||||||
rtc_clock.begin(Wire);
|
//rtc_clock.begin(Wire);
|
||||||
|
|
||||||
#ifdef LR11X0_DIO3_TCXO_VOLTAGE
|
#ifdef LR11X0_DIO3_TCXO_VOLTAGE
|
||||||
float tcxo = LR11X0_DIO3_TCXO_VOLTAGE;
|
float tcxo = LR11X0_DIO3_TCXO_VOLTAGE;
|
||||||
|
|||||||
@@ -5,11 +5,11 @@
|
|||||||
#include <helpers/RadioLibWrappers.h>
|
#include <helpers/RadioLibWrappers.h>
|
||||||
#include <helpers/nrf52/T1000eBoard.h>
|
#include <helpers/nrf52/T1000eBoard.h>
|
||||||
#include <helpers/CustomLR1110Wrapper.h>
|
#include <helpers/CustomLR1110Wrapper.h>
|
||||||
#include <helpers/AutoDiscoverRTCClock.h>
|
#include <helpers/ArduinoHelpers.h>
|
||||||
|
|
||||||
extern T1000eBoard board;
|
extern T1000eBoard board;
|
||||||
extern WRAPPER_CLASS radio_driver;
|
extern WRAPPER_CLASS radio_driver;
|
||||||
extern AutoDiscoverRTCClock rtc_clock;
|
extern VolatileRTCClock rtc_clock;
|
||||||
|
|
||||||
bool radio_init();
|
bool radio_init();
|
||||||
uint32_t radio_get_rng_seed();
|
uint32_t radio_get_rng_seed();
|
||||||
|
|||||||
Reference in New Issue
Block a user