Skip to content

Commit 2457da6

Browse files
committed
mod: rem setup hook
1 parent a923a97 commit 2457da6

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

examples/simple_bridge/simple_bridge.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <Arduino_BridgeImola.h>
22

3+
//BridgeClass Bridge(Serial1);
34

45
bool set_led(bool state) {
56
digitalWrite(LED_BUILTIN, state);

src/bridge.h

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@
99
#define UPDATE_THREAD_STACK_SIZE 500
1010
#define UPDATE_THREAD_PRIORITY 5
1111

12-
#define DEFAULT_SERIAL_BAUD 115200
12+
#define DEFAULT_SERIAL_BAUD 115200
1313

1414
#include <zephyr/kernel.h>
1515
#include <Arduino_RPClite.h>
1616

1717

18+
void updateEntryPoint(void *, void *, void *);
19+
1820
class BridgeClass {
1921

2022
RPCClient* client = nullptr;
@@ -24,6 +26,10 @@ class BridgeClass {
2426

2527
struct k_mutex read_mutex;
2628
struct k_mutex write_mutex;
29+
30+
k_tid_t upd_tid;
31+
k_thread_stack_t *upd_stack_area;
32+
struct k_thread upd_thread_data;
2733

2834
public:
2935

@@ -41,6 +47,14 @@ class BridgeClass {
4147

4248
client = new RPCClient(*transport);
4349
server = new RPCServer(*transport);
50+
51+
upd_stack_area = k_thread_stack_alloc(UPDATE_THREAD_STACK_SIZE, 0);
52+
upd_tid = k_thread_create(&upd_thread_data, upd_stack_area,
53+
UPDATE_THREAD_STACK_SIZE,
54+
updateEntryPoint,
55+
NULL, NULL, NULL,
56+
UPDATE_THREAD_PRIORITY, 0, K_NO_WAIT);
57+
4458
bool res;
4559
return call(RESET_METHOD, res);
4660
}
@@ -157,33 +171,20 @@ class BridgeClassUpdater {
157171
BridgeClassUpdater() = delete; // prevents instantiation
158172
};
159173

174+
#if defined(UNOQ) || defined(ARDUINO_UNOQ)
160175
BridgeClass Bridge(Serial1);
161-
162-
static void safeUpdate(){
163-
BridgeClassUpdater::safeUpdate(Bridge);
164-
}
165-
176+
#else
177+
extern BridgeClass Bridge;
178+
#endif
166179

167180
void updateEntryPoint(void *, void *, void *){
168181
while(1){
169182
Bridge.update();
170183
}
171184
}
172185

173-
static k_tid_t upd_tid;
174-
static k_thread_stack_t *upd_stack_area;
175-
static struct k_thread upd_thread_data;
176-
177-
void __setupHook(){
178-
179-
Bridge.begin();
180-
181-
upd_stack_area = k_thread_stack_alloc(UPDATE_THREAD_STACK_SIZE, 0);
182-
upd_tid = k_thread_create(&upd_thread_data, upd_stack_area,
183-
UPDATE_THREAD_STACK_SIZE,
184-
updateEntryPoint,
185-
NULL, NULL, NULL,
186-
UPDATE_THREAD_PRIORITY, 0, K_NO_WAIT);
186+
static void safeUpdate(){
187+
BridgeClassUpdater::safeUpdate(Bridge);
187188
}
188189

189190
void __loopHook(){

0 commit comments

Comments
 (0)