Skip to content

eve-autonomy/button_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Button manager

Overview

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 and Output

Node Graph

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. node graph

Launch arguments

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.

Parameter description

Output signal parameters

Name Description
active_polarity This inverts mutually high (ON) and low (OFF) values of a DI signal.
- True: With inversion. - False: No inversion.

GPIO noise reduction parameters

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.

Button press state transition

state_machine

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •