no-OS
Loading...
Searching...
No Matches
max14916.c File Reference

Source file of MAX14916 Driver. More...

#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include "max14916.h"
#include "no_os_util.h"
#include "no_os_alloc.h"
Include dependency graph for max14916.c:

Functions

int max14916_ch_get (struct max149x6_desc *desc, uint32_t ch, uint32_t *val)
 Read the high-side state of a channel's switch.
 
int max14916_ch_set (struct max149x6_desc *desc, uint32_t ch, uint32_t val)
 Write the (logic) state of a channel (on/off).
 
int max14916_sled_set (struct max149x6_desc *desc, uint32_t ch, enum max14916_sled_state state)
 Read an output channel's current limit.
 
int max14916_fled_time_set (struct max149x6_desc *desc, enum max14916_fled_time fled_time)
 Set FLEDs minimum on-time to requested value.
 
int max14916_set_wd (struct max149x6_desc *desc, enum max14916_wd wd)
 Set watchdog timeout in the config2 register.
 
int max14916_set_ow_off (struct max149x6_desc *desc, enum max14916_ow_off_cs ow_off_cs)
 Set current magnitude for the ow off in the config2 register.
 
int max14916_set_sht_vdd_thr (struct max149x6_desc *desc, enum max14916_sht_vdd_thr sht_vdd_thr)
 Set short to vdd threshold in the config2 register.
 
int max14916_init (struct max149x6_desc **desc, struct max149x6_init_param *param)
 Initialize and configure the MAX14916 device.
 
int max14916_remove (struct max149x6_desc *desc)
 Free the resources allocated during init.
 

Detailed Description

Source file of MAX14916 Driver.

Author
Radu Sabau (radu..nosp@m.saba.nosp@m.u@ana.nosp@m.log..nosp@m.com)

Copyright 2023(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ max14916_ch_get()

int max14916_ch_get ( struct max149x6_desc * desc,
uint32_t ch,
uint32_t * val )

Read the high-side state of a channel's switch.

Parameters
desc- device descriptor for the MAX14916.
ch- channel index (0 based).
val- binary value representing a channel's high-side switc state.
Returns
0 in case of success, negative error code otherwise.

◆ max14916_ch_set()

int max14916_ch_set ( struct max149x6_desc * desc,
uint32_t ch,
uint32_t val )

Write the (logic) state of a channel (on/off).

Parameters
desc- device descriptor for the MAX14916.
ch- channel index (0 based).
val- binary value representing a channel's voltage level (0 or 1).
Returns
0 in case of success, negative error code otherwise.

◆ max14916_fled_time_set()

int max14916_fled_time_set ( struct max149x6_desc * desc,
enum max14916_fled_time fled_time )

Set FLEDs minimum on-time to requested value.

Parameters
desc- device descriptor for the MAX14916.
fled_time- minimum on-time for the FLEDs to be set.
Returns
0 in case of succes, negative error code otherwise.

◆ max14916_init()

int max14916_init ( struct max149x6_desc ** desc,
struct max149x6_init_param * param )

Initialize and configure the MAX14916 device.

Parameters
desc- device descriptor for the MAX14916 that will be initialized.
param- initialization parameter for the device.
Returns
0 in case of success, negative error code otherwise.

◆ max14916_remove()

int max14916_remove ( struct max149x6_desc * desc)

Free the resources allocated during init.

Parameters
desc- device descriptor for the MAX14916 that will be initialized.
Returns
0 in case of success, negative error code otherwise.

◆ max14916_set_ow_off()

int max14916_set_ow_off ( struct max149x6_desc * desc,
enum max14916_ow_off_cs ow_off_cs )

Set current magnitude for the ow off in the config2 register.

Parameters
desc- device descriptor for the MAX14916.
ow_off_cs- current magnitude to be set.
Returns
0 in case of succes, negative error code otherwise.

◆ max14916_set_sht_vdd_thr()

int max14916_set_sht_vdd_thr ( struct max149x6_desc * desc,
enum max14916_sht_vdd_thr sht_vdd_thr )

Set short to vdd threshold in the config2 register.

Parameters
desc- device descriptor for the MAX14916.
sht_vdd_thr- threshold to be set.
Returns
0 in case of succes, negative error code otherwise.

◆ max14916_set_wd()

int max14916_set_wd ( struct max149x6_desc * desc,
enum max14916_wd wd )

Set watchdog timeout in the config2 register.

Parameters
desc- device descriptor for the MAX14916.
wd- watchdog timer to be selected.
Returns
0 in case of succes, negative error code otherwise.

◆ max14916_sled_set()

int max14916_sled_set ( struct max149x6_desc * desc,
uint32_t ch,
enum max14916_sled_state state )

Read an output channel's current limit.

Parameters
desc- device descriptor for the MAX14916.
ch- channel index (0 based).
state- status led state.
Returns
0 in case of success, negative error code otherwise.

SLEDSet bit needs to be set to 1 in config1 register in order to change the SLED state.