Nordic Thingy:52 v2.2.0
|
SX1509 GPIO extender API. More...
Data Structures | |
struct | drv_sx1509_cfg_t |
SX1509 configuration. More... | |
Enumerations | |
enum | { DRV_SX1509_STATUS_CODE_SUCCESS, DRV_SX1509_STATUS_CODE_DISALLOWED, DRV_SX1509_STATUS_CODE_INVALID_PARAM, DRV_SX1509_STATUS_CODE_NOT_SUPPORTED } |
SX1509 status codes. More... | |
Functions | |
uint32_t | drv_sx1509_clock_get (uint8_t *p_clock) |
Function for getting the clock configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_clock_modify (uint8_t set_mask, uint8_t clr_mask) |
Function for modifying the clock configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_close (void) |
Function for closing the SX1509 driver. More... | |
uint32_t | drv_sx1509_data_get (uint16_t *p_data) |
Function for getting the data seen at the pins of the SX1509 device. More... | |
uint32_t | drv_sx1509_data_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the data to be output to the output-configured IOs of the SX1509 device. More... | |
uint32_t | drv_sx1509_data_set (uint16_t data) |
Function for setting the data to be output to the output-configured IOs of the SX1509 device. More... | |
uint32_t | drv_sx1509_debounceconfig_get (uint8_t *p_debounceconfig) |
Function for getting the debounce configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_debounceconfig_modify (uint8_t set_mask, uint8_t clr_mask) |
Function for modifying the debounce configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_debounceenable_get (uint16_t *p_debounceenable) |
Function for getting the debounce enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_debounceenable_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the debounce enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_dir_get (uint16_t *p_dir) |
Function for getting the pin direction configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_dir_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the pin direction configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_eventstatus_clr (uint16_t clr_mask) |
Function for modifying the event status of the SX1509 device. More... | |
uint32_t | drv_sx1509_eventstatus_get (uint16_t *p_eventstatus) |
Function for getting the event status of the SX1509 device. More... | |
uint32_t | drv_sx1509_highinpmode_get (uint16_t *p_highinpmode) |
Function for getting the enable configuration for high-voltage input mode of the SX1509 device. More... | |
uint32_t | drv_sx1509_highinpmode_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the enable configuration for high-voltage input mode of the SX1509 device. More... | |
void | drv_sx1509_init (void) |
Function for initializing the driver. | |
uint32_t | drv_sx1509_inpbufdisable_get (uint16_t *p_inputdisable) |
Function for getting the input buffer disable register of the SX1509 device. More... | |
uint32_t | drv_sx1509_inpbufdisable_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the input buffer disable register of the SX1509 device. More... | |
uint32_t | drv_sx1509_interruptmask_get (uint16_t *p_interruptmask) |
Function for getting the interrupt mask of the SX1509 device. More... | |
uint32_t | drv_sx1509_interruptmask_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the interrupt mask of the SX1509 device. More... | |
uint32_t | drv_sx1509_interruptsource_clr (uint16_t clr_mask) |
Function for clearing the interrupt source status of the SX1509 device. More... | |
uint32_t | drv_sx1509_interruptsource_get (uint16_t *p_interruptsource) |
Function for getting the interrupt source status of the SX1509 device. More... | |
uint32_t | drv_sx1509_keyconfig_get (uint16_t *p_keyconfig) |
Function for getting the key configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_keyconfig_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the key configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_keydata_get (uint16_t *p_keydata) |
Function for getting the key data status of the SX1509 device. More... | |
uint32_t | drv_sx1509_leddriverenable_get (uint16_t *p_leddriverenable) |
Function for getting the LED driver enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_leddriverenable_modify (uint16_t set_mask, uint16_t clr_mask) |
Functiong for modifying the LED driver enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_levelshifter_get (uint16_t *p_levelshifter) |
Function for getting the level shifter configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_levelshifter_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the level shifter configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_longslewrate_get (uint16_t *p_longslewrate) |
Function for getting the long slew rate configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_longslewrate_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the long slew rate configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_lowdrive_get (uint16_t *p_lowdrive) |
Function for getting the low drive configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_lowdrive_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the low drive configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_misc_get (uint8_t *p_misc) |
Function for getting miscellaneous configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_misc_modify (uint8_t set_mask, uint8_t clr_mask) |
Fucntion for modifying miscellaneous configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_onoffcfgx_get (uint8_t pin_no, uint32_t *p_onoffcfgx) |
Function for getting the on/off time and intensity configuration (RegTOn15, RegIOnX & RegOffX registers) of the SX1509 device. More... | |
uint32_t | drv_sx1509_onoffcfgx_modify (uint8_t pin_no, uint32_t set_mask, uint32_t clr_mask) |
Function for modifying the on/off time and intensity configuration (RegTOn15, RegIOnX & RegOffX registers) of the SX1509 device. More... | |
uint32_t | drv_sx1509_open (drv_sx1509_cfg_t const *const p_drv_sx1509_cfg) |
Function for opening the SX1509 driver according to the specified configuration. More... | |
uint32_t | drv_sx1509_opendrain_get (uint16_t *p_opendrain) |
Function for getting the open drain operation enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_opendrain_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the open drain operation enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_polarity_get (uint16_t *p_polarity) |
Function for getting the polarity inversion enable status of the SX1509 device. More... | |
uint32_t | drv_sx1509_polarity_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the polarity inversion enable status of the SX1509 device. More... | |
uint32_t | drv_sx1509_pulldown_get (uint16_t *p_pulldown) |
Function for getting the pull-down enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_pulldown_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the pull-down enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_pullup_get (uint16_t *p_pullup) |
Function for getting the pull-up enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_pullup_modify (uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the pull-up enable configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_reg_get (uint8_t reg_addr, uint8_t *p_value) |
Function for getting any register from SX1509. More... | |
uint32_t | drv_sx1509_reset (void) |
Function for resetting the SX1509 device. More... | |
uint32_t | drv_sx1509_risefallcfgx_get (uint8_t pin_no, uint16_t *p_risefallcfgx) |
Function for getting the fade in/out configuration (RegTRiseX & RegTFallX registers) of the SX1509 device. More... | |
uint32_t | drv_sx1509_risefallcfgx_modify (uint8_t pin_no, uint16_t set_mask, uint16_t clr_mask) |
Function for modifying the fade in/out configuration (RegTRiseX & RegTFallX registers) of the SX1509 device. More... | |
uint32_t | drv_sx1509_sense_get (uint32_t *p_sense) |
Function for getting the edge sensitivity configuration of the SX1509 device. More... | |
uint32_t | drv_sx1509_sense_modify (uint32_t set_mask, uint32_t clr_mask) |
Function for modifying the edge sensitivity configuration of the SX1509 device. More... | |
SX1509 GPIO extender API.
anonymous enum |
uint32_t drv_sx1509_clock_get | ( | uint8_t * | p_clock | ) |
Function for getting the clock configuration of the SX1509 device.
[in] | p_clock | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_clock_modify | ( | uint8_t | set_mask, |
uint8_t | clr_mask | ||
) |
Function for modifying the clock configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_close | ( | void | ) |
Function for closing the SX1509 driver.
uint32_t drv_sx1509_data_get | ( | uint16_t * | p_data | ) |
Function for getting the data seen at the pins of the SX1509 device.
[in] | p_data | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_data_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the data to be output to the output-configured IOs of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_data_set | ( | uint16_t | data | ) |
Function for setting the data to be output to the output-configured IOs of the SX1509 device.
[in] | data | Pin data. |
uint32_t drv_sx1509_debounceconfig_get | ( | uint8_t * | p_debounceconfig | ) |
Function for getting the debounce configuration of the SX1509 device.
[in] | p_debounceconfig | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_debounceconfig_modify | ( | uint8_t | set_mask, |
uint8_t | clr_mask | ||
) |
Function for modifying the debounce configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_debounceenable_get | ( | uint16_t * | p_debounceenable | ) |
Function for getting the debounce enable configuration of the SX1509 device.
[in] | p_debounceenable | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_debounceenable_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the debounce enable configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_dir_get | ( | uint16_t * | p_dir | ) |
Function for getting the pin direction configuration of the SX1509 device.
[in] | p_dir | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_dir_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the pin direction configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_eventstatus_clr | ( | uint16_t | clr_mask | ) |
Function for modifying the event status of the SX1509 device.
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_eventstatus_get | ( | uint16_t * | p_eventstatus | ) |
Function for getting the event status of the SX1509 device.
[in] | p_eventstatus | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_highinpmode_get | ( | uint16_t * | p_highinpmode | ) |
Function for getting the enable configuration for high-voltage input mode of the SX1509 device.
[in] | p_highinpmode | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_highinpmode_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the enable configuration for high-voltage input mode of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_inpbufdisable_get | ( | uint16_t * | p_inputdisable | ) |
Function for getting the input buffer disable register of the SX1509 device.
[in] | p_inputdisable | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_inpbufdisable_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the input buffer disable register of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_interruptmask_get | ( | uint16_t * | p_interruptmask | ) |
Function for getting the interrupt mask of the SX1509 device.
[in] | p_interruptmask | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_interruptmask_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the interrupt mask of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_interruptsource_clr | ( | uint16_t | clr_mask | ) |
Function for clearing the interrupt source status of the SX1509 device.
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_interruptsource_get | ( | uint16_t * | p_interruptsource | ) |
Function for getting the interrupt source status of the SX1509 device.
[in] | p_interruptsource | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_keyconfig_get | ( | uint16_t * | p_keyconfig | ) |
Function for getting the key configuration of the SX1509 device.
[in] | p_keyconfig | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_keyconfig_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the key configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_keydata_get | ( | uint16_t * | p_keydata | ) |
Function for getting the key data status of the SX1509 device.
[in] | p_keydata | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_leddriverenable_get | ( | uint16_t * | p_leddriverenable | ) |
Function for getting the LED driver enable configuration of the SX1509 device.
[in] | p_leddriverenable | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_leddriverenable_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Functiong for modifying the LED driver enable configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_levelshifter_get | ( | uint16_t * | p_levelshifter | ) |
Function for getting the level shifter configuration of the SX1509 device.
[in] | p_levelshifter | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_levelshifter_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the level shifter configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_longslewrate_get | ( | uint16_t * | p_longslewrate | ) |
Function for getting the long slew rate configuration of the SX1509 device.
[in] | p_longslewrate | Pointer to where the value is to be stored. |
uint32_t drv_sx1509_longslewrate_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the long slew rate configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_lowdrive_get | ( | uint16_t * | p_lowdrive | ) |
Function for getting the low drive configuration of the SX1509 device.
[in] | p_lowdrive | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_lowdrive_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the low drive configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_misc_get | ( | uint8_t * | p_misc | ) |
Function for getting miscellaneous configuration of the SX1509 device.
[in] | p_misc | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_misc_modify | ( | uint8_t | set_mask, |
uint8_t | clr_mask | ||
) |
Fucntion for modifying miscellaneous configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_onoffcfgx_get | ( | uint8_t | pin_no, |
uint32_t * | p_onoffcfgx | ||
) |
Function for getting the on/off time and intensity configuration (RegTOn15, RegIOnX & RegOffX registers) of the SX1509 device.
[in] | pin_no | The pin number to configure. |
[in] | p_onoffcfgx | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_onoffcfgx_modify | ( | uint8_t | pin_no, |
uint32_t | set_mask, | ||
uint32_t | clr_mask | ||
) |
Function for modifying the on/off time and intensity configuration (RegTOn15, RegIOnX & RegOffX registers) of the SX1509 device.
[in] | pin_no | The pin number to configure. |
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_open | ( | drv_sx1509_cfg_t const *const | p_drv_sx1509_cfg | ) |
Function for opening the SX1509 driver according to the specified configuration.
[in] | p_drv_sx1509_cfg | Pointer to the driver configuration for the session to be opened. |
uint32_t drv_sx1509_opendrain_get | ( | uint16_t * | p_opendrain | ) |
Function for getting the open drain operation enable configuration of the SX1509 device.
[in] | p_opendrain | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_opendrain_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the open drain operation enable configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_polarity_get | ( | uint16_t * | p_polarity | ) |
Function for getting the polarity inversion enable status of the SX1509 device.
[in] | p_polarity | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_polarity_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the polarity inversion enable status of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_pulldown_get | ( | uint16_t * | p_pulldown | ) |
Function for getting the pull-down enable configuration of the SX1509 device.
[in] | p_pulldown | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_pulldown_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the pull-down enable configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_pullup_get | ( | uint16_t * | p_pullup | ) |
Function for getting the pull-up enable configuration of the SX1509 device.
[in] | p_pullup | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_pullup_modify | ( | uint16_t | set_mask, |
uint16_t | clr_mask | ||
) |
Function for modifying the pull-up enable configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_reg_get | ( | uint8_t | reg_addr, |
uint8_t * | p_value | ||
) |
Function for getting any register from SX1509.
[in] | reg_addr | Register address to read. |
[in] | p_value | Pointer to store data. |
uint32_t drv_sx1509_reset | ( | void | ) |
Function for resetting the SX1509 device.
uint32_t drv_sx1509_risefallcfgx_get | ( | uint8_t | pin_no, |
uint16_t * | p_risefallcfgx | ||
) |
Function for getting the fade in/out configuration (RegTRiseX & RegTFallX registers) of the SX1509 device.
[in] | pin_no | The pin number to configure. |
[in] | p_risefallcfgx | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_risefallcfgx_modify | ( | uint8_t | pin_no, |
uint16_t | set_mask, | ||
uint16_t | clr_mask | ||
) |
Function for modifying the fade in/out configuration (RegTRiseX & RegTFallX registers) of the SX1509 device.
[in] | pin_no | The pin number to configure. |
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |
uint32_t drv_sx1509_sense_get | ( | uint32_t * | p_sense | ) |
Function for getting the edge sensitivity configuration of the SX1509 device.
[in] | p_sense | A pointer to where the value is to be stored. |
uint32_t drv_sx1509_sense_modify | ( | uint32_t | set_mask, |
uint32_t | clr_mask | ||
) |
Function for modifying the edge sensitivity configuration of the SX1509 device.
[in] | set_mask | A mask specifying which bits to set. |
[in] | clr_mask | A mask specifying which bits to clear. |