no-OS
Macros | Functions | Variables
common_data.h File Reference

Defines common data to be used by ADE9153A example project. More...

#include "ade9153a.h"
#include "no_os_uart.h"
#include "no_os_pwm.h"
#include "no_os_delay.h"
#include "no_os_gpio.h"
#include "no_os_spi.h"
#include "no_os_print_log.h"
#include "no_os_units.h"
#include "no_os_util.h"
#include "no_os_error.h"
#include "maxim_uart.h"
#include "maxim_gpio.h"
#include "maxim_uart_stdio.h"
#include "maxim_pwm.h"
#include "maxim_spi.h"
#include "maxim_irq.h"
Include dependency graph for common_data.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GPIO_LED_PORT   2
 
#define GPIO_LED_PIN   7
 
#define GPIO_SS_PORT   2
 
#define GPIO_SS_PIN   26
 
#define GPIO_SCK_PORT   2
 
#define GPIO_SCK_PIN   29
 
#define GPIO_RESET_PORT   2
 
#define GPIO_RESET_PIN   8
 
#define GPIO_OPS   &max_gpio_ops
 
#define GPIO_EXTRA   &ade9153_gpio_extra_ip
 
#define GPIO_RDY_PORT   2
 
#define GPIO_RDY_PIN   9
 
#define SPI_DEVICE_ID   0
 
#define SPI_BAUDRATE   1000000
 
#define SPI_CS   1
 
#define SPI_SLAVE_NUM   1
 
#define UART_DEV_ID   0
 
#define UART_BAUD   115200
 
#define GPIO_IRQ_OPS   &max_gpio_irq_ops
 
#define GPIO_CTRL_IRQ_ID   0
 
#define GPIO_IRQ_EXTRA   &ade9153a_gpio_extra_ip
 
#define NVIC_GPIO_IRQ   GPIO2_IRQn
 
#define RESET_TIME   500
 
#define SPI_EN   1
 
#define READ_INTERVAL   3000
 
#define ADE9153A_VLEVEL   0x002C11E8
 
#define ADE9153A_RSMALL   0x03E8
 
#define ADE9153A_NO_SAMPLES   0x0F9F
 
#define ADE9153A_AIGAIN   -(1 << 28)
 
#define ADE9153A_AIGAIN2   -(1 << 27)
 
#define ENERGY_CC   0.858307
 
#define POWER_CC   1508.743
 
#define RMS_CURENT_CC   0.838190
 
#define RMS_VOLTAGE_CC   13.41105
 
#define PF_CC   134217728
 
#define FREQ_CC   262144000
 
#define MULT_CC_50HZ   0.017578125
 
#define MULT_CC_60HZ   0.02109375
 

Functions

int interface_toggle_led (struct no_os_gpio_desc *gpio_led_desc)
 Toggle LED. More...
 
int read_measurements (struct ade9153a_dev *dev)
 Read measurements. More...
 
int autocalibration_read_vals (struct ade9153a_dev *dev)
 Autocalibration read values. More...
 
int autocalibration_start (struct ade9153a_dev *dev)
 Autocalibration start. More...
 

Variables

struct no_os_uart_init_param uart_ip
 
struct no_os_gpio_init_param gpio_led1_ip
 
struct no_os_spi_init_param ade9153a_spi_ip
 
struct no_os_gpio_init_param gpio_ss_ip
 
struct no_os_gpio_init_param gpio_sck_ip
 
struct no_os_gpio_init_param gpio_reset_ip
 
struct no_os_gpio_init_param ade9153a_gpio_rdy_ip
 
struct no_os_irq_init_param ade9153a_gpio_irq_ip
 

Detailed Description

Defines common data to be used by ADE9153A example project.

Author
REtz (radu..nosp@m.etz@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright (c) 2024 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.

Macro Definition Documentation

◆ ADE9153A_AIGAIN

#define ADE9153A_AIGAIN   -(1 << 28)

◆ ADE9153A_AIGAIN2

#define ADE9153A_AIGAIN2   -(1 << 27)

◆ ADE9153A_NO_SAMPLES

#define ADE9153A_NO_SAMPLES   0x0F9F

◆ ADE9153A_RSMALL

#define ADE9153A_RSMALL   0x03E8

◆ ADE9153A_VLEVEL

#define ADE9153A_VLEVEL   0x002C11E8

◆ ENERGY_CC

#define ENERGY_CC   0.858307

◆ FREQ_CC

#define FREQ_CC   262144000

◆ GPIO_CTRL_IRQ_ID

#define GPIO_CTRL_IRQ_ID   0

◆ GPIO_EXTRA

#define GPIO_EXTRA   &ade9153_gpio_extra_ip

◆ GPIO_IRQ_EXTRA

#define GPIO_IRQ_EXTRA   &ade9153a_gpio_extra_ip

◆ GPIO_IRQ_OPS

#define GPIO_IRQ_OPS   &max_gpio_irq_ops

◆ GPIO_LED_PIN

#define GPIO_LED_PIN   7

◆ GPIO_LED_PORT

#define GPIO_LED_PORT   2

◆ GPIO_OPS

#define GPIO_OPS   &max_gpio_ops

◆ GPIO_RDY_PIN

#define GPIO_RDY_PIN   9

◆ GPIO_RDY_PORT

#define GPIO_RDY_PORT   2

◆ GPIO_RESET_PIN

#define GPIO_RESET_PIN   8

◆ GPIO_RESET_PORT

#define GPIO_RESET_PORT   2

◆ GPIO_SCK_PIN

#define GPIO_SCK_PIN   29

◆ GPIO_SCK_PORT

#define GPIO_SCK_PORT   2

◆ GPIO_SS_PIN

#define GPIO_SS_PIN   26

◆ GPIO_SS_PORT

#define GPIO_SS_PORT   2

◆ MULT_CC_50HZ

#define MULT_CC_50HZ   0.017578125

◆ MULT_CC_60HZ

#define MULT_CC_60HZ   0.02109375

◆ NVIC_GPIO_IRQ

#define NVIC_GPIO_IRQ   GPIO2_IRQn

◆ PF_CC

#define PF_CC   134217728

◆ POWER_CC

#define POWER_CC   1508.743

◆ READ_INTERVAL

#define READ_INTERVAL   3000

◆ RESET_TIME

#define RESET_TIME   500

◆ RMS_CURENT_CC

#define RMS_CURENT_CC   0.838190

◆ RMS_VOLTAGE_CC

#define RMS_VOLTAGE_CC   13.41105

◆ SPI_BAUDRATE

#define SPI_BAUDRATE   1000000

◆ SPI_CS

#define SPI_CS   1

◆ SPI_DEVICE_ID

#define SPI_DEVICE_ID   0

◆ SPI_EN

#define SPI_EN   1

◆ SPI_SLAVE_NUM

#define SPI_SLAVE_NUM   1

◆ UART_BAUD

#define UART_BAUD   115200

◆ UART_DEV_ID

#define UART_DEV_ID   0

Function Documentation

◆ autocalibration_read_vals()

int autocalibration_read_vals ( struct ade9153a_dev dev)

Autocalibration read values.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ autocalibration_start()

int autocalibration_start ( struct ade9153a_dev dev)

Autocalibration start.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ interface_toggle_led()

int interface_toggle_led ( struct no_os_gpio_desc gpio_led_desc)

Toggle LED.

Parameters
gpio_led_desc- LED descriptor
Returns
0 in case of success, error code otherwise

Toggle LED.

Parameters
gpio_led_desc- led descriptor
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ read_measurements()

int read_measurements ( struct ade9153a_dev dev)

Read measurements.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

Variable Documentation

◆ ade9153a_gpio_irq_ip

struct no_os_irq_init_param ade9153a_gpio_irq_ip

◆ ade9153a_gpio_rdy_ip

struct no_os_gpio_init_param ade9153a_gpio_rdy_ip

◆ ade9153a_spi_ip

struct no_os_spi_init_param ade9153a_spi_ip

◆ gpio_led1_ip

struct no_os_gpio_init_param gpio_led1_ip

◆ gpio_reset_ip

struct no_os_gpio_init_param gpio_reset_ip

◆ gpio_sck_ip

struct no_os_gpio_init_param gpio_sck_ip

◆ gpio_ss_ip

struct no_os_gpio_init_param gpio_ss_ip

◆ uart_ip

struct no_os_uart_init_param uart_ip