| Nordic Thingy:52 v2.0.0

Data Structures | Enumerations | Functions
SX1509 GPIO extender driver
Drivers » GPIO extender

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_clock | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_data | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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] | data | Pin 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_debounceconfig | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_debounceenable | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_dir | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_mask | A 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_eventstatus | A 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_highinpmode | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_inputdisable | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_interruptmask | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_mask | A 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_interruptsource | A 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_keyconfig | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_keydata | A 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_leddriverenable | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_levelshifter | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_longslewrate | 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_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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_lowdrive | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_misc | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_no | The pin number to configure.
  [in] | p_onoffcfgx | A 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_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.

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_cfg | Pointer 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_opendrain | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_polarity | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_pulldown | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_pullup | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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_addr | Register address to read.
  [in] | p_value | Pointer 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_no | The pin number to configure.
  [in] | p_risefallcfgx | A 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_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.

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_sense | A 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_mask | A mask specifying which bits to set.
  [in] | clr_mask | A 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.