Trident IoT SDK
 
Loading...
Searching...
No Matches
+ Collaboration diagram for GPIO:

Functions

tr_hal_status_t tr_hal_gpio_init (tr_hal_gpio_pin_t pin, tr_hal_gpio_settings_t *gpio_settings)
 
tr_hal_status_t tr_hal_gpio_read_settings (tr_hal_gpio_pin_t pin, tr_hal_gpio_settings_t *gpio_settings)
 
tr_hal_status_t tr_hal_gpio_read_input (tr_hal_gpio_pin_t pin, tr_hal_level_t *read_value)
 
bool tr_hal_gpio_is_available (tr_hal_gpio_pin_t pin)
 
bool tr_hal_gpio_are_pins_equal (tr_hal_gpio_pin_t pin1, tr_hal_gpio_pin_t pin2)
 
tr_hal_status_t tr_hal_gpio_set_direction (tr_hal_gpio_pin_t pin, tr_hal_direction_t direction)
 
tr_hal_status_t tr_hal_gpio_get_direction (tr_hal_gpio_pin_t pin, tr_hal_direction_t *direction)
 
tr_hal_status_t tr_hal_gpio_set_output (tr_hal_gpio_pin_t pin, tr_hal_level_t level)
 
tr_hal_status_t tr_hal_gpio_get_output (tr_hal_gpio_pin_t pin, tr_hal_level_t *level)
 
tr_hal_status_t tr_hal_gpio_toggle_output (tr_hal_gpio_pin_t pin)
 
tr_hal_status_t tr_hal_gpio_set_interrupt_trigger (tr_hal_gpio_pin_t pin, tr_hal_trigger_t trigger)
 
tr_hal_status_t tr_hal_gpio_get_interrupt_trigger (tr_hal_gpio_pin_t pin, tr_hal_trigger_t *trigger)
 
tr_hal_status_t tr_hal_gpio_set_interrupt_priority (tr_hal_int_pri_t new_interrupt_priority)
 
tr_hal_status_t tr_hal_gpio_get_interrupt_priority (tr_hal_int_pri_t *interrupt_priority)
 
tr_hal_status_t tr_hal_gpio_set_interrupt_callback (tr_hal_gpio_pin_t pin, tr_hal_gpio_event_callback_t callback_function)
 
tr_hal_status_t tr_hal_gpio_get_interrupt_callback (tr_hal_gpio_pin_t pin, tr_hal_gpio_event_callback_t *callback_function)
 
tr_hal_status_t tr_hal_gpio_set_open_drain (tr_hal_gpio_pin_t pin, bool enable)
 
tr_hal_status_t tr_hal_gpio_get_open_drain (tr_hal_gpio_pin_t pin, bool *drain_enabled)
 
tr_hal_status_t tr_hal_gpio_set_pull_mode (tr_hal_gpio_pin_t pin, tr_hal_pullopt_t mode)
 
tr_hal_status_t tr_hal_gpio_get_pull_mode (tr_hal_gpio_pin_t pin, tr_hal_pullopt_t *mode)
 
tr_hal_status_t tr_hal_gpio_set_debounce (tr_hal_gpio_pin_t pin, bool enable)
 
tr_hal_status_t tr_hal_gpio_get_debounce (tr_hal_gpio_pin_t pin, bool *debounce_enabled)
 
tr_hal_status_t tr_hal_gpio_set_debounce_time (tr_hal_debounce_time_t new_debounce_time)
 
tr_hal_status_t tr_hal_gpio_get_debounce_time (tr_hal_debounce_time_t *debounce_time)
 
tr_hal_status_t tr_hal_gpio_set_drive_strength (tr_hal_gpio_pin_t pin, tr_hal_drive_strength_t new_drive_strength)
 
tr_hal_status_t tr_hal_gpio_get_drive_strength (tr_hal_gpio_pin_t pin, tr_hal_drive_strength_t *drive_strength)
 
tr_hal_status_t tr_hal_gpio_set_wake_mode (tr_hal_gpio_pin_t pin, tr_hal_wake_mode_t wake_mode)
 
tr_hal_status_t tr_hal_gpio_get_wake_mode (tr_hal_gpio_pin_t pin, tr_hal_wake_mode_t *wake_mode)
 
tr_hal_status_t tr_hal_gpio_set_mode (tr_hal_gpio_pin_t pin, tr_hal_pin_mode_t mode)
 
tr_hal_status_t tr_hal_gpio_get_mode (tr_hal_gpio_pin_t pin, tr_hal_pin_mode_t *mode)
 
char * tr_hal_gpio_get_string (tr_hal_gpio_pin_t pin)
 

Detailed Description



Function Documentation

◆ tr_hal_gpio_are_pins_equal()

bool tr_hal_gpio_are_pins_equal ( tr_hal_gpio_pin_t pin1,
tr_hal_gpio_pin_t pin2 )

since a pin is a struct, we cannot compare it directly. need a comparator function.

◆ tr_hal_gpio_get_debounce()

tr_hal_status_t tr_hal_gpio_get_debounce ( tr_hal_gpio_pin_t pin,
bool * debounce_enabled )

◆ tr_hal_gpio_get_debounce_time()

tr_hal_status_t tr_hal_gpio_get_debounce_time ( tr_hal_debounce_time_t * debounce_time)

◆ tr_hal_gpio_get_direction()

tr_hal_status_t tr_hal_gpio_get_direction ( tr_hal_gpio_pin_t pin,
tr_hal_direction_t * direction )

◆ tr_hal_gpio_get_drive_strength()

tr_hal_status_t tr_hal_gpio_get_drive_strength ( tr_hal_gpio_pin_t pin,
tr_hal_drive_strength_t * drive_strength )

◆ tr_hal_gpio_get_interrupt_callback()

tr_hal_status_t tr_hal_gpio_get_interrupt_callback ( tr_hal_gpio_pin_t pin,
tr_hal_gpio_event_callback_t * callback_function )

◆ tr_hal_gpio_get_interrupt_priority()

tr_hal_status_t tr_hal_gpio_get_interrupt_priority ( tr_hal_int_pri_t * interrupt_priority)

◆ tr_hal_gpio_get_interrupt_trigger()

tr_hal_status_t tr_hal_gpio_get_interrupt_trigger ( tr_hal_gpio_pin_t pin,
tr_hal_trigger_t * trigger )

◆ tr_hal_gpio_get_mode()

tr_hal_status_t tr_hal_gpio_get_mode ( tr_hal_gpio_pin_t pin,
tr_hal_pin_mode_t * mode )

◆ tr_hal_gpio_get_open_drain()

tr_hal_status_t tr_hal_gpio_get_open_drain ( tr_hal_gpio_pin_t pin,
bool * drain_enabled )

◆ tr_hal_gpio_get_output()

tr_hal_status_t tr_hal_gpio_get_output ( tr_hal_gpio_pin_t pin,
tr_hal_level_t * level )

◆ tr_hal_gpio_get_pull_mode()

tr_hal_status_t tr_hal_gpio_get_pull_mode ( tr_hal_gpio_pin_t pin,
tr_hal_pullopt_t * mode )

◆ tr_hal_gpio_get_string()

char * tr_hal_gpio_get_string ( tr_hal_gpio_pin_t pin)

◆ tr_hal_gpio_get_wake_mode()

tr_hal_status_t tr_hal_gpio_get_wake_mode ( tr_hal_gpio_pin_t pin,
tr_hal_wake_mode_t * wake_mode )

◆ tr_hal_gpio_init()

tr_hal_status_t tr_hal_gpio_init ( tr_hal_gpio_pin_t pin,
tr_hal_gpio_settings_t * gpio_settings )

this is the simplest way to setup a GPIO. Create a tr_hal_gpio_settings_t and fill in the fields with the behavior that is desired, then call this gpio_init function. This is done INSTEAD of all the gpio_set functions below

◆ tr_hal_gpio_is_available()

bool tr_hal_gpio_is_available ( tr_hal_gpio_pin_t pin)

this functions checks if a pin can be used or not. true = can be used. false = cannot be used.

◆ tr_hal_gpio_read_input()

tr_hal_status_t tr_hal_gpio_read_input ( tr_hal_gpio_pin_t pin,
tr_hal_level_t * read_value )

this function read the state of an input pin. The status return lets the caller know if it worked. The read_value is set if the status is SUCCESS

◆ tr_hal_gpio_read_settings()

tr_hal_status_t tr_hal_gpio_read_settings ( tr_hal_gpio_pin_t pin,
tr_hal_gpio_settings_t * gpio_settings )

this can be used to read the current settings of the GPIO pin, including the output and input state. This returns a tr_hal_gpio_settings_t. The fields that are valid for this are based on the direction field.

◆ tr_hal_gpio_set_debounce()

tr_hal_status_t tr_hal_gpio_set_debounce ( tr_hal_gpio_pin_t pin,
bool enable )

◆ tr_hal_gpio_set_debounce_time()

tr_hal_status_t tr_hal_gpio_set_debounce_time ( tr_hal_debounce_time_t new_debounce_time)

◆ tr_hal_gpio_set_direction()

tr_hal_status_t tr_hal_gpio_set_direction ( tr_hal_gpio_pin_t pin,
tr_hal_direction_t direction )

◆ tr_hal_gpio_set_drive_strength()

tr_hal_status_t tr_hal_gpio_set_drive_strength ( tr_hal_gpio_pin_t pin,
tr_hal_drive_strength_t new_drive_strength )

◆ tr_hal_gpio_set_interrupt_callback()

tr_hal_status_t tr_hal_gpio_set_interrupt_callback ( tr_hal_gpio_pin_t pin,
tr_hal_gpio_event_callback_t callback_function )

◆ tr_hal_gpio_set_interrupt_priority()

tr_hal_status_t tr_hal_gpio_set_interrupt_priority ( tr_hal_int_pri_t new_interrupt_priority)

◆ tr_hal_gpio_set_interrupt_trigger()

tr_hal_status_t tr_hal_gpio_set_interrupt_trigger ( tr_hal_gpio_pin_t pin,
tr_hal_trigger_t trigger )

◆ tr_hal_gpio_set_mode()

tr_hal_status_t tr_hal_gpio_set_mode ( tr_hal_gpio_pin_t pin,
tr_hal_pin_mode_t mode )

◆ tr_hal_gpio_set_open_drain()

tr_hal_status_t tr_hal_gpio_set_open_drain ( tr_hal_gpio_pin_t pin,
bool enable )

◆ tr_hal_gpio_set_output()

tr_hal_status_t tr_hal_gpio_set_output ( tr_hal_gpio_pin_t pin,
tr_hal_level_t level )

◆ tr_hal_gpio_set_pull_mode()

tr_hal_status_t tr_hal_gpio_set_pull_mode ( tr_hal_gpio_pin_t pin,
tr_hal_pullopt_t mode )

◆ tr_hal_gpio_set_wake_mode()

tr_hal_status_t tr_hal_gpio_set_wake_mode ( tr_hal_gpio_pin_t pin,
tr_hal_wake_mode_t wake_mode )

◆ tr_hal_gpio_toggle_output()

tr_hal_status_t tr_hal_gpio_toggle_output ( tr_hal_gpio_pin_t pin)