Skip to content

Commit 683f271

Browse files
authored
Rework demos and add CI (#33)
* Fix callback * Fix callback * Fix service * Remove rclc_executor_set_timeout * Update * Added CI * Update CI
1 parent 8f58373 commit 683f271

16 files changed

Lines changed: 56 additions & 72 deletions

File tree

.github/workflows/ci.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '**'
7+
8+
jobs:
9+
micro_ros_demos:
10+
runs-on: ubuntu-20.04
11+
container: microros/base:foxy
12+
defaults:
13+
run:
14+
shell: bash
15+
16+
steps:
17+
- name: Download environment
18+
run: |
19+
cd /uros_ws
20+
apt update
21+
source /opt/ros/foxy/setup.bash
22+
source install/local_setup.bash
23+
ros2 run micro_ros_setup create_firmware_ws.sh host
24+
rm -rf uros/micro-ROS-demos
25+
- uses: actions/checkout@v2
26+
with:
27+
path: uros/micro-ROS-demos
28+
- name: Build
29+
run: |
30+
cd /uros_ws
31+
source /opt/ros/foxy/setup.bash
32+
source install/local_setup.bash
33+
ros2 run micro_ros_setup build_firmware.sh

rclc/addtwoints_client/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ int main(int argc, const char * const * argv)
4040
// create executor
4141
rclc_executor_t executor;
4242
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
43-
44-
unsigned int rcl_wait_timeout = 10; // in ms
45-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
4643
RCCHECK(rclc_executor_add_client(&executor, &client, &res, client_callback));
4744

4845
int64_t seq;

rclc/addtwoints_server/main.c

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,8 @@
88
#include <stdio.h>
99
#include <unistd.h>
1010

11-
#define RCCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){printf("Failed status on line %d: %d. Aborting.\n",__LINE__,(int)temp_rc); return 1;}}
12-
#define RCSOFTCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){printf("Failed status on line %d: %d. Continuing.\n",__LINE__,(int)temp_rc);}}
13-
14-
example_interfaces__srv__AddTwoInts_Request req;
15-
example_interfaces__srv__AddTwoInts_Response res;
11+
#define RCCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){printk("Failed status on line %d: %d. Aborting.\n",__LINE__,(int)temp_rc);}}
12+
#define RCSOFTCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){printk("Failed status on line %d: %d. Continuing.\n",__LINE__,(int)temp_rc);}}
1613

1714
void service_callback(const void * req, void * res){
1815
example_interfaces__srv__AddTwoInts_Request * req_in = (example_interfaces__srv__AddTwoInts_Request *) req;
@@ -23,35 +20,32 @@ void service_callback(const void * req, void * res){
2320
res_in->sum = req_in->a + req_in->b;
2421
}
2522

26-
int main(int argc, const char * const * argv)
27-
{
28-
RCLC_UNUSED(argc);
29-
RCLC_UNUSED(argv);
30-
rcl_allocator_t allocator = rcl_get_default_allocator();
31-
rclc_support_t support;
32-
33-
// create init_options
34-
RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));
23+
void main(void)
24+
{
25+
rcl_allocator_t allocator = rcl_get_default_allocator();
3526

36-
// create node
37-
rcl_node_t node;
38-
RCCHECK(rclc_node_init_default(&node, "add_twoints_client_rclc", "", &support));
27+
// create init_options
28+
rclc_support_t support;
29+
RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));
3930

40-
// create service
41-
rcl_service_t service;
42-
RCCHECK(rclc_service_init_default(&service, &node, ROSIDL_GET_SRV_TYPE_SUPPORT(example_interfaces, srv, AddTwoInts), "/addtwoints"));
31+
// create node
32+
rcl_node_t node;
33+
RCCHECK(rclc_node_init_default(&node, "add_twoints_client_rclc", "", &support));
4334

44-
// create executor
45-
rclc_executor_t executor;
46-
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
35+
// create service
36+
rcl_service_t service;
37+
RCCHECK(rclc_service_init_default(&service, &node, ROSIDL_GET_SRV_TYPE_SUPPORT(example_interfaces, srv, AddTwoInts), "/addtwoints"));
4738

48-
unsigned int rcl_wait_timeout = 10; // in ms
49-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
39+
// create executor
40+
rclc_executor_t executor;
41+
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
5042

51-
RCCHECK(rclc_executor_add_service(&executor, &service, &req, &res, service_callback));
43+
example_interfaces__srv__AddTwoInts_Response res;
44+
example_interfaces__srv__AddTwoInts_Request req;
45+
RCCHECK(rclc_executor_add_service(&executor, &service, &req, &res, service_callback));
5246

53-
rclc_executor_spin(&executor);
47+
rclc_executor_spin(&executor);
5448

55-
RCCHECK(rcl_service_fini(&service, &node));
56-
RCCHECK(rcl_node_fini(&node));
49+
RCCHECK(rcl_service_fini(&service, &node));
50+
RCCHECK(rcl_node_fini(&node));
5751
}

rclc/autodiscover_agent/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ int main()
6767
// create executor
6868
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
6969
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
70-
71-
unsigned int rcl_wait_timeout = 1000; // in ms
72-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
7370
RCCHECK(rclc_executor_add_timer(&executor, &timer));
7471

7572
msg.data = 0;

rclc/configuration_example/configured_publisher/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,6 @@ int main(int argc, char * const argv[])
7373
// create executor
7474
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
7575
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
76-
77-
unsigned int rcl_wait_timeout = 1000; // in ms
78-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
7976
RCCHECK(rclc_executor_add_timer(&executor, &timer));
8077

8178
msg.data = 0;

rclc/configuration_example/configured_subscriber/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,6 @@ int main(int argc, const char * const * argv)
6060
// create executor
6161
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
6262
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
63-
64-
unsigned int rcl_wait_timeout = 1000; // in ms
65-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
6663
RCCHECK(rclc_executor_add_subscription(&executor, &subscriber, &msg, &subscription_callback, ON_NEW_DATA));
6764

6865
rclc_executor_spin(&executor);

rclc/fragmented_publication/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@ int main(int argc, const char * const * argv)
5656
// create executor
5757
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
5858
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
59-
60-
unsigned int rcl_wait_timeout = 1000; // in ms
61-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
6259
RCCHECK(rclc_executor_add_timer(&executor, &timer));
6360

6461
// Fill the array with a known sequence

rclc/fragmented_subscription/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ int main(int argc, const char * const * argv)
4747
// create executor
4848
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
4949
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
50-
51-
unsigned int rcl_wait_timeout = 1000; // in ms
52-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
5350
RCCHECK(rclc_executor_add_subscription(&executor, &subscriber, &msg, &subscription_callback, ON_NEW_DATA));
5451

5552
msg.data.data = (char * ) malloc(ARRAY_LEN * sizeof(char));

rclc/int32_multinode/main.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,6 @@ int main(int argc, const char * const * argv)
9191
// create executor
9292
rclc_executor_t executor_1 = rclc_executor_get_zero_initialized_executor();
9393
RCCHECK(rclc_executor_init(&executor_1, &support.context, 2, &allocator));
94-
95-
RCCHECK(rclc_executor_set_timeout(&executor_1, RCL_MS_TO_NS(1000)));
9694
RCCHECK(rclc_executor_add_timer(&executor_1, &timer_1));
9795
RCCHECK(rclc_executor_add_subscription(&executor_1, &subscriber_1, &recv_msg_1, &subscription_callback_1, ON_NEW_DATA));
9896

@@ -126,8 +124,6 @@ int main(int argc, const char * const * argv)
126124
// create executor
127125
rclc_executor_t executor_2 = rclc_executor_get_zero_initialized_executor();
128126
RCCHECK(rclc_executor_init(&executor_2, &support.context, 2, &allocator));
129-
130-
RCCHECK(rclc_executor_set_timeout(&executor_2, RCL_MS_TO_NS(1000)));
131127
RCCHECK(rclc_executor_add_timer(&executor_2, &timer_2));
132128
RCCHECK(rclc_executor_add_subscription(&executor_2, &subscriber_2, &recv_msg_2, &subscription_callback_2, ON_NEW_DATA));
133129

rclc/int32_publisher/main.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,6 @@ int main()
5555
// create executor
5656
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
5757
RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
58-
59-
unsigned int rcl_wait_timeout = 1000; // in ms
60-
RCCHECK(rclc_executor_set_timeout(&executor, RCL_MS_TO_NS(rcl_wait_timeout)));
6158
RCCHECK(rclc_executor_add_timer(&executor, &timer));
6259

6360
msg.data = 0;

0 commit comments

Comments
 (0)