Commit graph

15 commits

Author SHA1 Message Date
Michel Hidalgo
6f989433bc
Support parameter overrides and remap rules flags on command line (#483)
* Support rcl_params_t copies.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Parse parameter overrides from command line.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Parameter overrides' tests passing.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Test rcl_yaml_node_struct_copy() function

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Export rcl_yaml_param_parser as rcl dependency.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Zero initialize parameter overrides before rcl arguments copy.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Initialize local variables early enough.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Simplify rcl package.xml

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Assert arguments sanity in rcl args parsing internal functions.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Extend rcl_yaml_param_parser tests to all parameter types.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Address peer review comments.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Support --remap/-r flags.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Please cpplint

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2019-08-26 13:32:16 -03:00
hyunseok-yang
d07003847b Increase MAX_STRING_SIZE (#487)
* Increase MAX_STRING_SIZE

It's too short for string length.
It occurs the error when the string field in yaml files are too long....

Signed-off-by: Hyunseok Yang <hyunseok7.yang@lge.com>

* update test to match increased limit

Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2019-08-23 14:52:46 -07:00
Dirk Thomas
b66395dc57
include actual size in error message (#490)
* include actual size in error message

Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>

* use %u for existing arguments

Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
2019-08-20 11:54:42 -07:00
Esteve Fernandez
5f1e5438af Avoid C4703 error on UWP (#282)
Signed-off-by: Esteve Fernandez <esteve@apache.org>
2019-08-01 12:53:08 -07:00
Michel Hidalgo
5fde9c0c0e
[YAML Parser] Support parameter value parsing (#471)
* Support parameter YAML string value parsing.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Address peer review comments.

- Improve test coverage using new getter API.
- Unify function return style and improve readability.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Clean up allocations in rcl_yaml_param_parser package tests.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2019-07-12 15:07:42 -03:00
Michel Hidalgo
f9ceef5c86
[YAML Parser] Depend on rcutils only (#470)
* Make rcl_yaml_param_parser depend on rcutils only.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Address peer review comments.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
2019-07-12 11:01:24 -03:00
ivanpauno
d6ab086b02
Accept quoted int or float values as strings (#464)
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
2019-06-27 17:51:05 -03:00
Jacob Perron
ec8539b65c
Fix memory corruption when maximum number of parameters is exceeded (#456)
If the maximum number is exceeded fail with an informative error message.

Fixes #419.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2019-06-07 14:56:05 -07:00
Ralf Anton Beier
5f0d331712 Allow empty strings if they are quoted. (#450)
Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
2019-05-24 08:57:47 -07:00
ivanpauno
11b5eb865b Correct bool reading from yaml files (#415)
* Replace some wrong strncmp calls with strcmp

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>

* Add quotes checking when detecting bools

Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
2019-04-12 15:25:44 -07:00
William Woodall
4d8cb487f8
use new error handling API from rcutils (#314)
* use new error handling API from rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>

* use semicolons after macros

Signed-off-by: William Woodall <william@osrfoundation.org>

* use new error handling API from rcutils

Signed-off-by: William Woodall <william@osrfoundation.org>

* minimize vertical whitespace

Signed-off-by: William Woodall <william@osrfoundation.org>

* use semicolons after macros

Signed-off-by: William Woodall <william@osrfoundation.org>
2018-11-01 21:08:31 -05:00
dhood
f1293b7d3b
[yaml parser] Fix FQN=//node_name when ns is / (#299)
* Fix FQN=//node_name when ns is /

* Check end of string for ns sep

* Add regression test
2018-09-21 14:50:48 -07:00
Chris Ye
696f62c80b Deallocate ret_val to avoid memery leak (#278)
In get_value() function ret_val is allocated from rcutils_strdup when type is DATA_TYPE_STRING,

Should be deallocate in switch val_type=DATA_TYPE_STRING case.

Signed-off-by: Chris Ye <chris.ye@intel.com>
2018-08-15 16:56:17 -05:00
Shane Loretz
95b4147009
Initialize seq_data_type (#245) 2018-05-30 09:41:24 -07:00
anup-pem
5edf27b032 YAML parameter parser (#235)
* Implement a basic YAML based parameter parser for ros2 nodes

* Add README file

* Fix the issues after moving from rcutils_yaml_param_parser to rcl_yaml_param_parser

  - rename folders from rcutils_yaml_param_parser to rcl_yaml_param_parser
  - rename project, header guards and include statements from rcutils_yaml_param_parser to rcl_yaml_param_parser
  - move type declaration in separat file and namespace new structures
  - Fix the code review comments from Mikael

* Few minor changes

   - Changed "params" string to "ros__parameters"
   - Add -Wall, -Wextra and -Wpedantic falgs
   - Fix the compile warning with the new flags

* Fix the changes made in the design of C structure

  - Remove the node_namespaces entry in rcl_params_t
  - Change the type of num_nodes and num_params to size_t

* depend on libyaml_vendor (#236)

* Fix cmake setting standard(C and C++) and add byte_array in C struct

*   Remove C11 so that it defaults to C99

* [rcl_yaml_param_parser] fix export symbols (#237)

* add visibility macros

* remove unused macro

* Support for multi level node and parameter name spaces

* Additional fixes and cleanups

  - Support for string namespace seperator
  - Provide parameter structure init function API
  - name cleanups

* off by 1

* Call yaml_parser_delete()

* fclose(yaml_file)

* free() allocated paths

* Call yaml_event_delete()

* completely deallcoate string array

* Few cleanup changes

  - Add install command into CMakelists.txt
  - Replace one of the zero_allocate with reallocate
  - Pass allocator state
  - Fix int32_t -> rcl_ret_t return value

* Don't include unistd.h

* Use size_t for array indices

* Just pass the allocator in the init function
2018-05-29 18:07:02 +02:00