Header file of ADGM3121 Driver.
More...
#include <stdint.h>
#include <stdbool.h>
#include "no_os_spi.h"
#include "no_os_gpio.h"
#include "no_os_util.h"
|
| int | adgm3121_init (struct adgm3121_dev **device, struct adgm3121_init_param *init_param) |
| | Initialize the device.
|
| |
| int | adgm3121_remove (struct adgm3121_dev *dev) |
| | Free resources allocated by adgm3121_init()
|
| |
| int | adgm3121_set_switch_state (struct adgm3121_dev *dev, enum adgm3121_switch sw, enum adgm3121_state state) |
| | Set the state of a specific switch.
|
| |
| int | adgm3121_get_switch_state (struct adgm3121_dev *dev, enum adgm3121_switch sw, enum adgm3121_state *state) |
| | Get the current state of a specific switch.
|
| |
| int | adgm3121_set_switches (struct adgm3121_dev *dev, uint8_t switch_mask) |
| | Set multiple switches at once using bitmask.
|
| |
| int | adgm3121_get_switches (struct adgm3121_dev *dev, uint8_t *switch_mask) |
| | Get all switch states as bitmask.
|
| |
| int | adgm3121_reset_switches (struct adgm3121_dev *dev) |
| | Reset all switches to off state.
|
| |
| int | adgm3121_enter_daisy_chain_mode (struct adgm3121_dev *dev) |
| | Enter SPI daisy chain mode.
|
| |
| int | adgm3121_check_internal_error (struct adgm3121_dev *dev, uint8_t *error_status) |
| | Check for internal errors.
|
| |
| int | adgm3121_write_register (struct adgm3121_dev *dev, uint8_t reg_addr, uint8_t data) |
| | Write to device register via SPI.
|
| |
| int | adgm3121_read_register (struct adgm3121_dev *dev, uint8_t reg_addr, uint8_t *data) |
| | Read from device register via SPI.
|
| |
Header file of ADGM3121 Driver.
- Author
- Antoniu Miclaus (anton.nosp@m.iu.m.nosp@m.iclau.nosp@m.s@an.nosp@m.alog..nosp@m.com)
Copyright 2025(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ ADGM3053_POWER_UP_TIME_MS
| #define ADGM3053_POWER_UP_TIME_MS 5 |
◆ ADGM3121_INTERNAL_ERROR
◆ ADGM3121_POWER_UP_TIME_MS
| #define ADGM3121_POWER_UP_TIME_MS 5 |
◆ ADGM3121_REG_SWITCH_DATA
| #define ADGM3121_REG_SWITCH_DATA 0x20 |
◆ ADGM3121_RESERVED
◆ ADGM3121_SPI_ADDR_MSK
◆ ADGM3121_SPI_DAISY_CHAIN_CMD
| #define ADGM3121_SPI_DAISY_CHAIN_CMD 0x2500 |
◆ ADGM3121_SPI_READ
◆ ADGM3121_SPI_WRITE
| #define ADGM3121_SPI_WRITE 0 |
◆ ADGM3121_SW1_EN
◆ ADGM3121_SW2_EN
◆ ADGM3121_SW3_EN
◆ ADGM3121_SW4_EN
◆ ADGM3121_SWITCHING_TIME_US
| #define ADGM3121_SWITCHING_TIME_US 200 |
◆ adgm3121_mode
Control mode enumeration.
| Enumerator |
|---|
| ADGM3121_MODE_PARALLEL | |
| ADGM3121_MODE_SPI | |
◆ adgm3121_state
Switch state enumeration.
| Enumerator |
|---|
| ADGM3121_DISABLE | |
| ADGM3121_ENABLE | |
◆ adgm3121_switch
Switch enumeration (valid for both devices)
| Enumerator |
|---|
| ADGM3121_SW1 | |
| ADGM3121_SW2 | |
| ADGM3121_SW3 | |
| ADGM3121_SW4 | |
◆ adgm3121_type
Device type enumeration.
| Enumerator |
|---|
| ID_ADGM3121 | |
| ID_ADGM3053 | |
◆ adgm3121_check_internal_error()
| int adgm3121_check_internal_error |
( |
struct adgm3121_dev * | dev, |
|
|
uint8_t * | error_status ) |
Check for internal errors.
- Parameters
-
| dev | - The device structure |
| error_status | - Pointer to store error status (bits 7:6) |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_enter_daisy_chain_mode()
| int adgm3121_enter_daisy_chain_mode |
( |
struct adgm3121_dev * | dev | ) |
|
Enter SPI daisy chain mode.
- Parameters
-
| dev | - The device structure |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_get_switch_state()
Get the current state of a specific switch.
- Parameters
-
| dev | - The device structure |
| sw | - The switch to read (SW1 to SW4) |
| state | - Pointer to store the current state |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_get_switches()
| int adgm3121_get_switches |
( |
struct adgm3121_dev * | dev, |
|
|
uint8_t * | switch_mask ) |
Get all switch states as bitmask.
- Parameters
-
| dev | - The device structure |
| switch_mask | - Pointer to store switch states bitmask |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_init()
Initialize the device.
- Parameters
-
| device | - Pointer to the device structure pointer |
| init_param | - Pointer to the initialization parameters |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_read_register()
| int adgm3121_read_register |
( |
struct adgm3121_dev * | dev, |
|
|
uint8_t | reg_addr, |
|
|
uint8_t * | data ) |
Read from device register via SPI.
- Parameters
-
| dev | - The device structure |
| reg_addr | - Register address |
| data | - Pointer to store read data |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_remove()
Free resources allocated by adgm3121_init()
- Parameters
-
| dev | - The device structure |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_reset_switches()
Reset all switches to off state.
- Parameters
-
| dev | - The device structure |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_set_switch_state()
Set the state of a specific switch.
- Parameters
-
| dev | - The device structure |
| sw | - The switch to control (SW1 to SW4) |
| state | - The desired state (ADGM3121_ENABLE or ADGM3121_DISABLE) |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_set_switches()
| int adgm3121_set_switches |
( |
struct adgm3121_dev * | dev, |
|
|
uint8_t | switch_mask ) |
Set multiple switches at once using bitmask.
- Parameters
-
| dev | - The device structure |
| switch_mask | - Bitmask of switches to enable (bits 0-3) |
- Returns
- 0 in case of success, negative error code otherwise
◆ adgm3121_write_register()
| int adgm3121_write_register |
( |
struct adgm3121_dev * | dev, |
|
|
uint8_t | reg_addr, |
|
|
uint8_t | data ) |
Write to device register via SPI.
- Parameters
-
| dev | - The device structure |
| reg_addr | - Register address |
| data | - Data to write |
- Returns
- 0 in case of success, negative error code otherwise