Inconsistent usage of non-numeric validator arguments
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 50/100
Direzione di ricerca
The bug is in the Python code that generates C++ validation code. Start by finding where bounds validator arguments are emitted—likely in a code generation module or template. Compare with the descriptor initialization code that correctly leaves arguments unquoted. Remove the quoting for non-numeric arguments in the validation path. Run the existing tests to ensure the generated code compiles and behaves correctly.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I would like to refer to variables that I already have in code (in an underlying driver library) to define bounds of a parameter.
I.e., doing something like this
gain:
type: double
default_value: 0.0
read_only: false
description: "The amplifier gain in dB"
validation:
bounds<>: [device_params::Gain::min, device_params::Gain::max]
In the generated header file, it does work how I want it at the declaration of the parameter: it puts the unquoted arguments there, resulting in properly working code:
descriptor.read_only = false;
descriptor.floating_point_range.resize(1);
descriptor.floating_point_range.at(0).from_value = device_params::Gain::min;
descriptor.floating_point_range.at(0).to_value = device_params::Gain::max;
However, at the validation part of the generated code, it quotes the arguments, leading to compile errors:
param = parameters_interface_->get_parameter(prefix_ + "gain");
RCLCPP_DEBUG_STREAM(logger_, param.get_name() << ": " << param.get_type_name() << " = " << param.value_to_string());
if(auto validation_result = bounds<double>(param, "device_params::Gain::min", "device_params::Gain::max"); validation_result) {
throw rclcpp::exceptions::InvalidParameterValueException(fmt::format("Invalid value set during initialization for parameter 'gain': {}", validation_result.error()));
}
Could it be an easy fix if it's just the quoting?
- Lingua principale
- Python
- Stelle
- 385
- Fork
- 81
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PickNikRobotics/generate_parameter_library
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
-
Feature: Enum supportAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
PickNikRobotics/generate_parameter_library#392 · 2 commenti ·
-
GCC 15 emits -Wfree-nonheap-object for generated string one_of validationForse già presa @tylerjw l’ha presa 17 giorni fa. Aperta
PickNikRobotics/generate_parameter_library#389 · 1 commento · 1 assegnatario ·
-
Feature request: math in the yamlForse già presa @tylerjw l’ha presa 17 giorni fa. Aperta
PickNikRobotics/generate_parameter_library#381 · 2 commenti · 1 reazione · 1 assegnatario ·
-
Validator reference (bounds<>/element_bounds<> etc.) is hard to find inside the READMEForse già presa @tylerjw l’ha presa 17 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
PickNikRobotics/generate_parameter_library#377 · 1 commento ·
Tutte le issue di PickNikRobotics/generate_parameter_library
Issue simili
-
Workflow.schedule stops when a cron deadline passes before sleepForse già presa @HuaTNA l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug] HiveDialect shares its colspecs dict with SQLAlchemy's DefaultDialect (python/pyhive)Forse già presa @rusackas l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
apache/kyuubi#7786 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
[20.0] hr_work_entry: Duration column of Export Time Entries is truncated to whole hoursForse già presa @odooaktiv l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
fix formatting of the sample database page of the docsForse già presa @Aaqibhafeezkhan l’ha presa oggi. Apertadocumentation good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
chaoss/CollectOSS#544 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno