Nordic Thingy:52 v2.2.0
SX1509 GPIO extender driver

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

Detailed Description

SX1509 GPIO extender API.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

SX1509 status codes.

Enumerator
DRV_SX1509_STATUS_CODE_SUCCESS 

Successfull.

DRV_SX1509_STATUS_CODE_DISALLOWED 

Disallowed.

DRV_SX1509_STATUS_CODE_INVALID_PARAM 

Invalid parameters.

DRV_SX1509_STATUS_CODE_NOT_SUPPORTED 

Not supported.

Function Documentation

◆ drv_sx1509_clock_get()

uint32_t drv_sx1509_clock_get ( uint8_t *  p_clock)

Function for getting the clock configuration of the SX1509 device.

Parameters
[in]p_clockA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_clock_modify()

uint32_t drv_sx1509_clock_modify ( uint8_t  set_mask,
uint8_t  clr_mask 
)

Function for modifying the clock configuration of the SX1509 device.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Note
Clear mask may overlap with set mask to make it easier to set new values for multi-bit fields. The clear mask will be applied first so that the set mask gets priority to override the clear mask.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_close()

uint32_t drv_sx1509_close ( void  )

Function for closing the SX1509 driver.

Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_data_get()

uint32_t drv_sx1509_data_get ( uint16_t *  p_data)

Function for getting the data seen at the pins of the SX1509 device.

Note
The input buffer must be connected to read the values.
Parameters
[in]p_dataA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_data_modify()

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.

Note
For this function to work correctly, the input buffer must be enabled.
Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_data_set()

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.

Parameters
[in]dataPin data.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_debounceconfig_get()

uint32_t drv_sx1509_debounceconfig_get ( uint8_t *  p_debounceconfig)

Function for getting the debounce configuration of the SX1509 device.

Parameters
[in]p_debounceconfigA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_debounceconfig_modify()

uint32_t drv_sx1509_debounceconfig_modify ( uint8_t  set_mask,
uint8_t  clr_mask 
)

Function for modifying the debounce configuration of the SX1509 device.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_debounceenable_get()

uint32_t drv_sx1509_debounceenable_get ( uint16_t *  p_debounceenable)

Function for getting the debounce enable configuration of the SX1509 device.

Parameters
[in]p_debounceenableA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_debounceenable_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_dir_get()

uint32_t drv_sx1509_dir_get ( uint16_t *  p_dir)

Function for getting the pin direction configuration of the SX1509 device.

Parameters
[in]p_dirA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_dir_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_eventstatus_clr()

uint32_t drv_sx1509_eventstatus_clr ( uint16_t  clr_mask)

Function for modifying the event status of the SX1509 device.

Parameters
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If specified mask is empty.

◆ drv_sx1509_eventstatus_get()

uint32_t drv_sx1509_eventstatus_get ( uint16_t *  p_eventstatus)

Function for getting the event status of the SX1509 device.

Parameters
[in]p_eventstatusA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_highinpmode_get()

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.

Parameters
[in]p_highinpmodeA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_highinpmode_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If specified masks overlaps.

◆ drv_sx1509_inpbufdisable_get()

uint32_t drv_sx1509_inpbufdisable_get ( uint16_t *  p_inputdisable)

Function for getting the input buffer disable register of the SX1509 device.

Parameters
[in]p_inputdisableA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_inpbufdisable_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_interruptmask_get()

uint32_t drv_sx1509_interruptmask_get ( uint16_t *  p_interruptmask)

Function for getting the interrupt mask of the SX1509 device.

Parameters
[in]p_interruptmaskA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_interruptmask_modify()

uint32_t drv_sx1509_interruptmask_modify ( uint16_t  set_mask,
uint16_t  clr_mask 
)

Function for modifying the interrupt mask of the SX1509 device.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_interruptsource_clr()

uint32_t drv_sx1509_interruptsource_clr ( uint16_t  clr_mask)

Function for clearing the interrupt source status of the SX1509 device.

Parameters
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified mask is empty.

◆ drv_sx1509_interruptsource_get()

uint32_t drv_sx1509_interruptsource_get ( uint16_t *  p_interruptsource)

Function for getting the interrupt source status of the SX1509 device.

Parameters
[in]p_interruptsourceA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_keyconfig_get()

uint32_t drv_sx1509_keyconfig_get ( uint16_t *  p_keyconfig)

Function for getting the key configuration of the SX1509 device.

Parameters
[in]p_keyconfigA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_keyconfig_modify()

uint32_t drv_sx1509_keyconfig_modify ( uint16_t  set_mask,
uint16_t  clr_mask 
)

Function for modifying the key configuration of the SX1509 device.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_keydata_get()

uint32_t drv_sx1509_keydata_get ( uint16_t *  p_keydata)

Function for getting the key data status of the SX1509 device.

Note
The key data value is intentionally of opposite polarity than HW to work in the same way as the InterruptSource and EventStatus registers (i.e. active high interrupts).
Parameters
[in]p_keydataA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_leddriverenable_get()

uint32_t drv_sx1509_leddriverenable_get ( uint16_t *  p_leddriverenable)

Function for getting the LED driver enable configuration of the SX1509 device.

Parameters
[in]p_leddriverenableA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_leddriverenable_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_levelshifter_get()

uint32_t drv_sx1509_levelshifter_get ( uint16_t *  p_levelshifter)

Function for getting the level shifter configuration of the SX1509 device.

Parameters
[in]p_levelshifterA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_levelshifter_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Note
Clear mask may overlap with set mask to make it easier to set new values for multi-bit fields. The clear mask will be applied first so that the set mask gets priority to override the clear mask.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_longslewrate_get()

uint32_t drv_sx1509_longslewrate_get ( uint16_t *  p_longslewrate)

Function for getting the long slew rate configuration of the SX1509 device.

Parameters
[in]p_longslewratePointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_longslewrate_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_lowdrive_get()

uint32_t drv_sx1509_lowdrive_get ( uint16_t *  p_lowdrive)

Function for getting the low drive configuration of the SX1509 device.

Parameters
[in]p_lowdriveA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_lowdrive_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_misc_get()

uint32_t drv_sx1509_misc_get ( uint8_t *  p_misc)

Function for getting miscellaneous configuration of the SX1509 device.

Parameters
[in]p_miscA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_misc_modify()

uint32_t drv_sx1509_misc_modify ( uint8_t  set_mask,
uint8_t  clr_mask 
)

Fucntion for modifying miscellaneous configuration of the SX1509 device.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_onoffcfgx_get()

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.

Parameters
[in]pin_noThe pin number to configure.
[in]p_onoffcfgxA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_onoffcfgx_modify()

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.

Parameters
[in]pin_noThe pin number to configure.
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Note
Clear mask may overlap with set mask to make it easier to set new values for multi-bit fields. The clear mask will be applied first so that the set mask gets priority to override the clear mask.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM Invalid pin number, or masks specify unused bits.

◆ drv_sx1509_open()

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.

Parameters
[in]p_drv_sx1509_cfgPointer to the driver configuration for the session to be opened.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_opendrain_get()

uint32_t drv_sx1509_opendrain_get ( uint16_t *  p_opendrain)

Function for getting the open drain operation enable configuration of the SX1509 device.

Parameters
[in]p_opendrainA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_opendrain_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_polarity_get()

uint32_t drv_sx1509_polarity_get ( uint16_t *  p_polarity)

Function for getting the polarity inversion enable status of the SX1509 device.

Parameters
[in]p_polarityA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_polarity_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_pulldown_get()

uint32_t drv_sx1509_pulldown_get ( uint16_t *  p_pulldown)

Function for getting the pull-down enable configuration of the SX1509 device.

Parameters
[in]p_pulldownA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_pulldown_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_pullup_get()

uint32_t drv_sx1509_pullup_get ( uint16_t *  p_pullup)

Function for getting the pull-up enable configuration of the SX1509 device.

Parameters
[in]p_pullupA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_pullup_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.

◆ drv_sx1509_reg_get()

uint32_t drv_sx1509_reg_get ( uint8_t  reg_addr,
uint8_t *  p_value 
)

Function for getting any register from SX1509.

Parameters
[in]reg_addrRegister address to read.
[in]p_valuePointer to store data.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_reset()

uint32_t drv_sx1509_reset ( void  )

Function for resetting the SX1509 device.

Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_risefallcfgx_get()

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.

Parameters
[in]pin_noThe pin number to configure.
[in]p_risefallcfgxA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_risefallcfgx_modify()

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.

Parameters
[in]pin_noThe pin number to configure.
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Note
Clear mask may overlap with set mask to make it easier to set new values for multi-bit fields. The clear mask will be applied first so that the set mask gets priority to override the clear mask.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM Invalid pin number, or masks specify unused bits.

◆ drv_sx1509_sense_get()

uint32_t drv_sx1509_sense_get ( uint32_t *  p_sense)

Function for getting the edge sensitivity configuration of the SX1509 device.

Parameters
[in]p_senseA pointer to where the value is to be stored.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.

◆ drv_sx1509_sense_modify()

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.

Parameters
[in]set_maskA mask specifying which bits to set.
[in]clr_maskA mask specifying which bits to clear.
Note
Clear mask may overlap with set mask to make it easier to set new values for multi-bit fields. The clear mask will be applied first so that the set mask gets priority to override the clear mask.
Returns
DRV_SX1509_STATUS_CODE_SUCCESS If the call was successful.
DRV_SX1509_STATUS_CODE_DISALLOWED If the call was not allowed at this time.
DRV_SX1509_STATUS_INVALID_PARAM If the specified masks overlaps.