Skip to content

Commit 5729d66

Browse files
author
Scott Powell
committed
* companion: some further refactors after the MyMesh refactor
1 parent accbe3b commit 5729d66

File tree

5 files changed

+41
-48
lines changed

5 files changed

+41
-48
lines changed

examples/companion_radio/MyMesh.cpp

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,37 @@
6868
#define RESP_CODE_SIGNATURE 20
6969
#define RESP_CODE_CUSTOM_VARS 21
7070

71+
#define SEND_TIMEOUT_BASE_MILLIS 500
72+
#define FLOOD_SEND_TIMEOUT_FACTOR 16.0f
73+
#define DIRECT_SEND_PERHOP_FACTOR 6.0f
74+
#define DIRECT_SEND_PERHOP_EXTRA_MILLIS 250
75+
#define LAZY_CONTACTS_WRITE_DELAY 5000
76+
77+
#define PUBLIC_GROUP_PSK "izOH6cXN6mrJ5e26oRXNcg=="
78+
79+
// these are _pushed_ to client app at any time
80+
#define PUSH_CODE_ADVERT 0x80
81+
#define PUSH_CODE_PATH_UPDATED 0x81
82+
#define PUSH_CODE_SEND_CONFIRMED 0x82
83+
#define PUSH_CODE_MSG_WAITING 0x83
84+
#define PUSH_CODE_RAW_DATA 0x84
85+
#define PUSH_CODE_LOGIN_SUCCESS 0x85
86+
#define PUSH_CODE_LOGIN_FAIL 0x86
87+
#define PUSH_CODE_STATUS_RESPONSE 0x87
88+
#define PUSH_CODE_LOG_RX_DATA 0x88
89+
#define PUSH_CODE_TRACE_DATA 0x89
90+
#define PUSH_CODE_NEW_ADVERT 0x8A
91+
#define PUSH_CODE_TELEMETRY_RESPONSE 0x8B
92+
93+
#define ERR_CODE_UNSUPPORTED_CMD 1
94+
#define ERR_CODE_NOT_FOUND 2
95+
#define ERR_CODE_TABLE_FULL 3
96+
#define ERR_CODE_BAD_STATE 4
97+
#define ERR_CODE_FILE_IO_ERROR 5
98+
#define ERR_CODE_ILLEGAL_ARG 6
99+
100+
#define MAX_SIGN_DATA_LEN (8 * 1024) // 8K
101+
71102
#ifdef DISPLAY_CLASS
72103
#include "UITask.h"
73104
#endif
@@ -1527,10 +1558,8 @@ bool MyMesh::advert() {
15271558
auto pkt = createSelfAdvert(_prefs.node_name, sensors.node_lat, sensors.node_lon);
15281559
if (pkt) {
15291560
sendZeroHop(pkt);
1530-
writeOKFrame();
15311561
return true;
15321562
} else {
1533-
writeErrFrame(ERR_CODE_TABLE_FULL);
15341563
return false;
15351564
}
15361565
}

examples/companion_radio/MyMesh.h

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -70,43 +70,12 @@
7070

7171
#include <helpers/BaseChatMesh.h>
7272

73-
#define SEND_TIMEOUT_BASE_MILLIS 500
74-
#define FLOOD_SEND_TIMEOUT_FACTOR 16.0f
75-
#define DIRECT_SEND_PERHOP_FACTOR 6.0f
76-
#define DIRECT_SEND_PERHOP_EXTRA_MILLIS 250
77-
#define LAZY_CONTACTS_WRITE_DELAY 5000
78-
79-
#define PUBLIC_GROUP_PSK "izOH6cXN6mrJ5e26oRXNcg=="
80-
81-
// these are _pushed_ to client app at any time
82-
#define PUSH_CODE_ADVERT 0x80
83-
#define PUSH_CODE_PATH_UPDATED 0x81
84-
#define PUSH_CODE_SEND_CONFIRMED 0x82
85-
#define PUSH_CODE_MSG_WAITING 0x83
86-
#define PUSH_CODE_RAW_DATA 0x84
87-
#define PUSH_CODE_LOGIN_SUCCESS 0x85
88-
#define PUSH_CODE_LOGIN_FAIL 0x86
89-
#define PUSH_CODE_STATUS_RESPONSE 0x87
90-
#define PUSH_CODE_LOG_RX_DATA 0x88
91-
#define PUSH_CODE_TRACE_DATA 0x89
92-
#define PUSH_CODE_NEW_ADVERT 0x8A
93-
#define PUSH_CODE_TELEMETRY_RESPONSE 0x8B
94-
95-
#define ERR_CODE_UNSUPPORTED_CMD 1
96-
#define ERR_CODE_NOT_FOUND 2
97-
#define ERR_CODE_TABLE_FULL 3
98-
#define ERR_CODE_BAD_STATE 4
99-
#define ERR_CODE_FILE_IO_ERROR 5
100-
#define ERR_CODE_ILLEGAL_ARG 6
101-
10273
/* -------------------------------------------------------------------------------------- */
10374

10475
#define REQ_TYPE_GET_STATUS 0x01 // same as _GET_STATS
10576
#define REQ_TYPE_KEEP_ALIVE 0x02
10677
#define REQ_TYPE_GET_TELEMETRY_DATA 0x03
10778

108-
#define MAX_SIGN_DATA_LEN (8 * 1024) // 8K
109-
11079
class MyMesh : public BaseChatMesh {
11180
public:
11281
MyMesh(mesh::Radio &radio, mesh::RNG &rng, mesh::RTCClock &rtc, SimpleMeshTables &tables);
@@ -213,8 +182,6 @@ class MyMesh : public BaseChatMesh {
213182
int next_ack_idx;
214183
};
215184

216-
extern StdRNG fast_rng;
217-
extern SimpleMeshTables tables;
218185
extern MyMesh the_mesh;
219186
#ifdef DISPLAY_CLASS
220187
extern UITask ui_task;

examples/companion_radio/UITask.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,25 @@ static const uint8_t meshcore_logo [] PROGMEM = {
3434
0xe3, 0xe3, 0x8f, 0xff, 0x1f, 0xfc, 0x3c, 0x0e, 0x1f, 0xf8, 0xff, 0xf8, 0x70, 0x3c, 0x7f, 0xf8,
3535
};
3636

37-
void UITask::begin(DisplayDriver* display, NodePrefs* node_prefs, const char* build_date, const char* firmware_version, uint32_t pin_code) {
37+
void UITask::begin(DisplayDriver* display, NodePrefs* node_prefs) {
3838
_display = display;
3939
_auto_off = millis() + AUTO_OFF_MILLIS;
4040
clearMsgPreview();
4141
_node_prefs = node_prefs;
42-
_pin_code = pin_code;
4342
if (_display != NULL) {
4443
_display->turnOn();
4544
}
4645

4746
// strip off dash and commit hash by changing dash to null terminator
4847
// e.g: v1.2.3-abcdef -> v1.2.3
49-
char *version = strdup(firmware_version);
48+
char *version = strdup(FIRMWARE_VERSION);
5049
char *dash = strchr(version, '-');
51-
if(dash){
50+
if (dash) {
5251
*dash = 0;
5352
}
5453

5554
// v1.2.3 (1 Jan 2025)
56-
sprintf(_version_info, "%s (%s)", version, build_date);
55+
sprintf(_version_info, "%s (%s)", version, FIRMWARE_BUILD_DATE);
5756

5857
#ifdef PIN_BUZZER
5958
buzzer.begin();
@@ -216,11 +215,11 @@ void UITask::renderCurrScreen() {
216215
_display->print(tmp);
217216

218217
// BT pin
219-
if (!_connected && _pin_code != 0) {
218+
if (!_connected && the_mesh.getBLEPin() != 0) {
220219
_display->setColor(DisplayDriver::RED);
221220
_display->setTextSize(2);
222221
_display->setCursor(0, 43);
223-
sprintf(tmp, "Pin:%d", _pin_code);
222+
sprintf(tmp, "Pin:%d", the_mesh.getBLEPin());
224223
_display->print(tmp);
225224
_display->setColor(DisplayDriver::GREEN);
226225
} else {
@@ -343,10 +342,9 @@ void UITask::handleButtonShortPress() {
343342
void UITask::handleButtonDoublePress() {
344343
MESH_DEBUG_PRINTLN("UITask: double press triggered, sending advert");
345344
// ADVERT
346-
if(the_mesh.advert()) {
345+
if (the_mesh.advert()) {
347346
MESH_DEBUG_PRINTLN("Advert sent!");
348-
}
349-
else {
347+
} else {
350348
MESH_DEBUG_PRINTLN("Advert failed!");
351349
}
352350
}

examples/companion_radio/UITask.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ class UITask {
2929
#endif
3030
unsigned long _next_refresh, _auto_off;
3131
bool _connected;
32-
uint32_t _pin_code;
3332
NodePrefs* _node_prefs;
3433
char _version_info[32];
3534
char _origin[62];
@@ -61,7 +60,7 @@ class UITask {
6160
_next_refresh = 0;
6261
_connected = false;
6362
}
64-
void begin(DisplayDriver* display, NodePrefs* node_prefs, const char* build_date, const char* firmware_version, uint32_t pin_code);
63+
void begin(DisplayDriver* display, NodePrefs* node_prefs);
6564

6665
void setHasConnection(bool connected) { _connected = connected; }
6766
bool hasDisplay() const { return _display != NULL; }

examples/companion_radio/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ void setup() {
181181
sensors.begin();
182182

183183
#ifdef DISPLAY_CLASS
184-
ui_task.begin(disp, the_mesh.getNodePrefs(), FIRMWARE_BUILD_DATE, FIRMWARE_VERSION, the_mesh.getBLEPin());
184+
ui_task.begin(disp, the_mesh.getNodePrefs()); // still want to pass this in as dependency, as prefs might be moved
185185
#endif
186186
}
187187

0 commit comments

Comments
 (0)