1- #include <string.h>
21#include <stdio.h>
2+ #include <string.h>
33#include <unistd.h>
44
5- #include "freertos/FreeRTOS.h"
6- #include "freertos/task.h"
75#include "esp_log.h"
86#include "esp_system.h"
7+ #include "freertos/FreeRTOS.h"
8+ #include "freertos/task.h"
99
10- #include <uros_network_interfaces.h>
11- #include <rcl/rcl.h>
1210#include <rcl/error_handling.h>
13- #include <rclc/rclc .h>
11+ #include <rcl/rcl .h>
1412#include <rclc/executor.h>
13+ #include <rclc/rclc.h>
1514#include <rclc_parameter/rclc_parameter.h>
15+ #include <uros_network_interfaces.h>
16+ #include <uxr/client/config.h>
1617
1718#include <rmw_microros/rmw_microros.h>
1819#include <uxr/client/config.h>
@@ -27,30 +28,31 @@ void timer_callback(rcl_timer_t * timer, int64_t last_call_time)
2728 (void ) timer ;
2829 (void ) last_call_time ;
2930
30- int value ;
31+ int64_t value ;
3132 rclc_parameter_get_int (& param_server , "param2" , & value );
3233 value ++ ;
33- rclc_parameter_set_int (& param_server , "param2" , ( int64_t ) value );
34+ rclc_parameter_set_int (& param_server , "param2" , value );
3435}
3536
36- void on_parameter_changed (Parameter * param )
37- {
38- printf ("Parameter %s modified." , param -> name .data );
39- switch (param -> value .type )
37+ bool on_parameter_changed (const Parameter * old_param , const Parameter * new_param , void * context )
38+ {
39+ printf ("Parameter %s modified." , new_param -> name .data );
40+ switch (new_param -> value .type )
4041 {
4142 case RCLC_PARAMETER_BOOL :
42- printf (" New value: %d (bool)" , param -> value .bool_value );
43+ printf (" New value: %d (bool)" , new_param -> value .bool_value );
4344 break ;
4445 case RCLC_PARAMETER_INT :
45- printf (" New value: %lld (int)" , param -> value .integer_value );
46+ printf (" New value: %lld (int)" , new_param -> value .integer_value );
4647 break ;
4748 case RCLC_PARAMETER_DOUBLE :
48- printf (" New value: %f (double)" , param -> value .double_value );
49+ printf (" New value: %f (double)" , new_param -> value .double_value );
4950 break ;
5051 default :
5152 break ;
5253 }
5354 printf ("\n" );
55+ return true;
5456}
5557
5658void micro_ros_task (void * arg )
@@ -79,16 +81,16 @@ void micro_ros_task(void * arg)
7981
8082 // create timer,
8183 rcl_timer_t timer ;
82- RCCHECK ( rclc_timer_init_default2 (
84+ rclc_timer_init_default2 (
8385 & timer ,
8486 & support ,
8587 RCL_MS_TO_NS (1000 ),
8688 timer_callback ,
87- true)) ;
89+ true);
8890
8991 // Create executor
9092 rclc_executor_t executor ;
91- rclc_executor_init (& executor , & support .context , RCLC_PARAMETER_EXECUTOR_HANDLES_NUMBER + 1 , & allocator );
93+ rclc_executor_init (& executor , & support .context , RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES + 1 , & allocator );
9294 rclc_executor_add_parameter_server (& executor , & param_server , on_parameter_changed );
9395 rclc_executor_add_timer (& executor , & timer );
9496
@@ -102,7 +104,7 @@ void micro_ros_task(void * arg)
102104 rclc_parameter_set_double (& param_server , "param3" , 0.01 );
103105
104106 bool param1 ;
105- int param2 ;
107+ int64_t param2 ;
106108 double param3 ;
107109
108110 rclc_parameter_get_bool (& param_server , "param1" , & param1 );
0 commit comments