17
17
#include < std_msgs/msg/float32.h>
18
18
#include < std_msgs/msg/float32_multi_array.h>
19
19
20
- #if !defined(MICRO_ROS_TRANSPORT_ARDUINO_SERIAL)
21
- #error This example is only avaliable for Arduino framework with serial transport.
22
- #endif
23
-
24
20
#define LED_PIN 13
25
21
26
22
bool micro_ros_init_successful;
@@ -58,12 +54,11 @@ rcl_timer_t timer;
58
54
void error_loop () {
59
55
int error = 0 ;
60
56
while (error < 10 ) {
61
- digitalWrite (LED_BUILTIN , !digitalRead (LED_BUILTIN ));
57
+ digitalWrite (LED_PIN , !digitalRead (LED_PIN ));
62
58
delay (100 );
63
-
64
59
error++;
65
60
}
66
- digitalWrite (LED_BUILTIN , HIGH);
61
+ digitalWrite (LED_PIN , HIGH);
67
62
}
68
63
69
64
enum states {
@@ -85,6 +80,8 @@ void propulsion_microseconds_callback(const void * msgin)
85
80
digitalWrite (7 , msg->data .data [5 ] == 0 ? LOW : HIGH);
86
81
digitalWrite (8 , msg->data .data [6 ] == 0 ? LOW : HIGH);
87
82
digitalWrite (9 , msg->data .data [7 ] == 0 ? LOW : HIGH);
83
+
84
+ // logic can go here
88
85
}
89
86
90
87
void timer_callback (rcl_timer_t * timer, int64_t last_call_time) {
@@ -246,6 +243,7 @@ void power_setup() {
246
243
power_board_temperature_msg.data = -2.0 ;
247
244
power_teensy_temperature_msg.data = -2.0 ;
248
245
246
+ // first state
249
247
state = WAITING_AGENT;
250
248
}
251
249
@@ -267,12 +265,10 @@ void power_loop() {
267
265
}
268
266
break ;
269
267
case AGENT_DISCONNECTED:
270
- delay (500 );
271
268
destroy_entities ();
272
269
state = WAITING_AGENT;
273
270
break ;
274
271
default :
275
- delay (200 );
276
272
break ;
277
273
}
278
274
0 commit comments