no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
common_data.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __COMMON_DATA_H__
34#define __COMMON_DATA_H__
35
36#include "ade9153a.h"
37#include "no_os_uart.h"
38#include "no_os_pwm.h"
39#include "no_os_delay.h"
40#include "no_os_gpio.h"
41#include "no_os_spi.h"
42#include "no_os_print_log.h"
43#include "no_os_units.h"
44#include "no_os_util.h"
45#include "no_os_error.h"
46#include "maxim_uart.h"
47#include "maxim_gpio.h"
48#include "maxim_uart_stdio.h"
49#include "maxim_pwm.h"
50#include "maxim_spi.h"
51#include "maxim_irq.h"
52
53// UART init params
54extern struct no_os_uart_init_param uart_ip;
55// GPIO LED init params
57// SPI init params
61// GPIO RESET init params
63// GPIO RDY init params
65// GPIO IRQ init params
67
68/* Configuration for AD-APARD32690-SL */
69// Port and pin for user LED
70#define GPIO_LED_PORT 2
71#define GPIO_LED_PIN 7
72// SPI port and pins
73#define GPIO_SS_PORT 2
74#define GPIO_SS_PIN 26
75#define GPIO_SCK_PORT 2
76#define GPIO_SCK_PIN 29
77// Hardware reset port and pin
78#define GPIO_RESET_PORT 2
79#define GPIO_RESET_PIN 8
80// Data ready interrup port and pin
81#define GPIO_OPS &max_gpio_ops
82#define GPIO_EXTRA &ade9153_gpio_extra_ip
83#define GPIO_RDY_PORT 2
84#define GPIO_RDY_PIN 9
85// SPI config
86#define SPI_DEVICE_ID 0
87#define SPI_BAUDRATE 1000000
88#define SPI_CS 1
89#define SPI_SLAVE_NUM 1
90// UART config
91#define UART_DEV_ID 0
92#define UART_BAUD 115200
93// IRQ config
94#define GPIO_IRQ_OPS &max_gpio_irq_ops
95#define GPIO_CTRL_IRQ_ID 0
96#define GPIO_IRQ_EXTRA &ade9153a_gpio_extra_ip
97#define NVIC_GPIO_IRQ GPIO2_IRQn
98// Value used for delay after reset
99#define RESET_TIME 500
100#define SPI_EN 1
101// Read data interval in ms
102#define READ_INTERVAL 3000
103
104// Setup values for ADE9153A used for EV-ADE9153ASHIELDZ
105// Vlevel value assuming 1/2 full scale
106#define ADE9153A_VLEVEL 0x002C11E8
107// value for R_small 1k
108#define ADE9153A_RSMALL 0x03E8
109// energy accumulate no of samples set to 4000
110#define ADE9153A_NO_SAMPLES 0x0F9F
111// AIGAIN -1 (IAP-IAN swap) AIGAIN = -1*2^28
112#define ADE9153A_AIGAIN -(1 << 28)
113#define ADE9153A_AIGAIN2 -(1 << 27)
114
115// Calibration values for EV-ADE9153ASHIELDZ
116// Energy vals calibration coeffiecient (uWh/code)
117#define ENERGY_CC 0.858307
118// Energy vals calibration coeffiecient (uW/code)
119#define POWER_CC 1508.743
120// Current calibration coeffiecient (uA/code)
121#define RMS_CURENT_CC 0.838190
122// Voltage calibration coeffiecient (uV/code)
123#define RMS_VOLTAGE_CC 13.41105
124// PF calibration coeffiecient
125#define PF_CC 134217728
126// Frequency calibration coeffiecient
127#define FREQ_CC 262144000
128// Frequency multiplier for angle compute
129#define MULT_CC_50HZ 0.017578125
130// Frequency multiplier for angle compute
131#define MULT_CC_60HZ 0.02109375
132
133/* Toggle user LED */
134int interface_toggle_led(struct no_os_gpio_desc *gpio_led_desc);
135
136/* Read measurements */
137int read_measurements(struct ade9153a_dev *dev);
138
139/* Autocalibration read values */
141
142/* Autocalibration start */
143int autocalibration_start(struct ade9153a_dev *dev);
144
145#endif
Header file of ADE9153A Driver.
struct no_os_uart_init_param uart_ip
Definition common_data.c:52
struct no_os_gpio_init_param gpio_reset_ip
Definition platform.c:74
int read_measurements(struct ade7753_dev *dev)
Read measurements.
Definition common_data.c:41
struct no_os_gpio_init_param gpio_led1_ip
Definition platform.c:65
int interface_toggle_led(struct no_os_gpio_desc *gpio_led_desc)
Toggle LED.
Definition interface.c:95
struct no_os_gpio_init_param gpio_sck_ip
Definition common_data.c:83
struct no_os_spi_init_param ade9153a_spi_ip
Definition common_data.c:109
struct no_os_gpio_init_param ade9153a_gpio_rdy_ip
Definition common_data.c:101
struct no_os_irq_init_param ade9153a_gpio_irq_ip
Definition common_data.c:119
struct no_os_gpio_init_param gpio_ss_ip
Definition common_data.c:74
int autocalibration_read_vals(struct ade9153a_dev *dev)
Autocalibration read values.
Definition common_data.c:296
int autocalibration_start(struct ade9153a_dev *dev)
Autocalibration start.
Definition common_data.c:353
Header file of Delay functions.
Error codes definition.
Header file of GPIO Interface.
Print messages helpers.
Header file of PWM Interface.
Header file of SPI Interface.
Header file of UART interface.
Header file of Units.
Header file of utility functions.
ADE9153A Device structure.
Definition ade9153a.h:701
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding the initial parameters for Interrupt Request.
Definition no_os_irq.h:101
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
Structure holding the parameters for UART initialization.
Definition no_os_uart.h:98