This node manages DI signals from/dio_ros_driver
as button manipulation.
This has a noise reduction from GPIO signals. It aim to prevent malfunction of button manipulation.
- input
- from dio_ros_driver
/dio/din[0-7]
[dio_ros_driver/msg/DIOPort]:
GPIO input topic. It is output at regular intervals regardless of whether the button is ON or OFF.
Which ofdin[0-7]
is chosen depends on theport_name
of the Launch arguments.
- from dio_ros_driver
- output
- to engage_srv_converter and button_output_selector
(button_name)_manager/output/(button_name)
[autoware_state_machine_msgs/msg/VehicleButton]:
Output indicating that the button is pressed.
See Launch arguments forbutton_name
.
- to engage_srv_converter and button_output_selector
In this figure, /engage_button_manager
and /delivery_reservation_button_manager
are both execution node names of this node.
The name is changed with a launch argument button_name
.
Name | Description |
---|---|
button_name | This argument modifies the node name, namespace, and topic name. Set the name ***_button as the value. |
port_name | This argument specifies the GPIO port name. Select dio[0-7] as the value. |
Name | Description |
---|---|
active_polarity | This inverts mutually high (ON) and low (OFF) values of a DI signal. - True: With inversion. - False: No inversion. |
ID | Name | Description |
---|---|---|
T0 | not_pressed_period_threshold | This defines a minimum time, until it takes for a button to be recognized as NOT pressed. |
T1 | pressed_period_threshold | This defines a minimum time, until it takes for a button to be recognized as PRESSED. |
T2 | not_pressed_period_threshold_after_pressed | This defines a minimum time to move to next button action, until it takes for a button to be recognized as not pressed. |
T3 | max_allowable_period_of_pressing | This defines a maximum time, until it takes for a button to be recognized as one time pressure. If someone presses the button over the time, this node recognized as malfunction. |