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

Implementation of ADG1736 Driver. More...

#include <stdlib.h>
#include "no_os_error.h"
#include "no_os_alloc.h"
#include "adg1736.h"
Include dependency graph for adg1736.c:

Functions

int adg1736_set_switch_state (struct adg1736_dev *dev, enum adg1736_switch sw, enum adg1736_state state)
 Set the state of a specific switch.
 
int adg1736_get_switch_state (struct adg1736_dev *dev, enum adg1736_switch sw, enum adg1736_state *state)
 Get the current state of a specific switch.
 
int adg1736_init (struct adg1736_dev **device, struct adg1736_init_param *init_param)
 Initialize the ADG1736 device.
 
int adg1736_remove (struct adg1736_dev *dev)
 Free resources allocated by adg1736_init().
 

Detailed Description

Implementation of ADG1736 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.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Function Documentation

◆ adg1736_get_switch_state()

int adg1736_get_switch_state ( struct adg1736_dev * dev,
enum adg1736_switch sw,
enum adg1736_state * state )

Get the current state of a specific switch.

Parameters
dev- The device structure.
sw- The switch to read (ADG1736_SW1 or ADG1736_SW2).
state- Pointer to store the current state.
Returns
0 in case of success, negative error code otherwise.

◆ adg1736_init()

int adg1736_init ( struct adg1736_dev ** device,
struct adg1736_init_param * init_param )

Initialize the ADG1736 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.

◆ adg1736_remove()

int adg1736_remove ( struct adg1736_dev * dev)

Free resources allocated by adg1736_init().

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.

◆ adg1736_set_switch_state()

int adg1736_set_switch_state ( struct adg1736_dev * dev,
enum adg1736_switch sw,
enum adg1736_state state )

Set the state of a specific switch.

Parameters
dev- The device structure.
sw- The switch to control (ADG1736_SW1 or ADG1736_SW2).
state- The desired state (ADG1736_CONNECT_A or ADG1736_CONNECT_B).
Returns
0 in case of success, negative error code otherwise.