no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
parameters.h
Go to the documentation of this file.
1/***************************************************************************/
34#ifndef __PARAMETERS_H__
35#define __PARAMETERS_H__
36
37#include "maxim_uart_stdio.h"
38#include "maxim_gpio.h"
39#include "maxim_uart.h"
40#include "maxim_irq.h"
41#include "maxim_i2c.h"
42#include "maxim_spi.h"
43// UART parameters
44#define UART_IRQ_ID UART0_IRQn
45
46#define UART_DEVICE_ID 0
47#define UART_BAUDRATE 57600
48#define UART_EXTRA &ade9113_uart_extra_ip
49#define UART_OPS &max_uart_ops
50
51#define I2C_DEVICE_ID 1
52#define I2C_OPS &max_i2c_ops
53#define I2C_EXTRA &adt75_i2c_extra
54
55// SPI parameters
56#if (TARGET_NUM == 78000)
57#define SPI_DEVICE_ID 1
58#define SPI_CS 1
59#elif (TARGET_NUM == 32650)
60#define SPI_DEVICE_ID 1
61#define SPI_CS 0
62#else
63#define SPI_DEVICE_ID 1
64#define SPI_CS 0
65#endif
66
67#define SPI_BAUDRATE 1000000
68#define SPI_OPS &max_spi_ops
69#define SPI_EXTRA &ade9113_spi_extra_ip
70
71// GPIO parameters
72#define GPIO_OPS &max_gpio_ops
73#define GPIO_EXTRA &ade9113_gpio_extra_ip
74#define GPIO_RDY_PIN_NUM 15
75#define GPIO_RDY_PORT_NUM 0
76
77#define GPIO_IRQ_OPS &max_gpio_irq_ops
78#define GPIO_CTRL_IRQ_ID 0
79#define GPIO_IRQ_EXTRA &ade9113_gpio_extra_ip
80#define NVIC_GPIO_IRQ GPIO0_IRQn
81
82#define GPIO_RESET_PIN_NUM 19
83#define GPIO_RESET_PORT_NUM 0
84
85#define GPIO_ZC_PIN 14
86
87// RCD GPIOs
88#define GPIO_RCM_TEST_PIN 18
89#define GPIO_RCDDC_PIN 26
90#define GPIO_RCDAC_PIN 27
91
92// PWM parameters and CP measurement parameters
93#define FREQ 1000 // (Hz)
94#define PWM_TIMER MXC_TMR0 // Port 0, Pin 2 output
95#define PWM_LOW_TIMER MXC_TMR1 // Timer for measuring CP Low voltage
96#define PWM_DUTY_10A (166u)
97#define PWM_DUTY_16A (266u)
98#define PWM_DC (999u)
99#define PWM_OFF (1u)
100#define PWM_LOW_TEST_VAL (160u)
101#define PWM_HIGH_TEST_VAL (1890u)
102#define PWM_HIGH_TEST_VAL_EV_CONNECTED (1600u)
103// ADC parameters
104#define ADC_CHANNEL MXC_ADC_CH_0
105// Take action flag
106#define TAKE_S_M_ACTION (1000u)
107// Steps required for RELAY checking
108#define RELAY_CHECK_STEP (3u)
109// Steps required for RCD testing
110#define MEASURE_RCDAC_RCDDC_STEP (108u)
111#define RESTORE_TEST_PIN_STEP (3u)
112#define SAMPLE_PINS_STEP_1 (37u)
113#define SAMPLE_PINS_STEP_2 (72u)
114#define SAMPLE_PINS_STEP_3 (108u)
115// Steps for requiring overcurrent check
116#define MEASURE_OVERCURRENT_STEP (300u)
117// Current limit not charging
118#define I_LIMIT_NOT_CHG (200u)
119// Current limit charging
120#define I_LIMIT_16A (16500u)
121// Curent limit charging low power
122#define I_LIMIT_10A (10500u)
123// Number of cycles skipped before Vin self test
124#define SELF_TEST_SKIP_CYCLES_NO (50u)
125// Number of cycles skipped after self test to update rms values
126#define SKIP_CYCLES_AFTER_SELF_TEST (100u)
127#if defined REV_A
128// Number of cycles skipped after relay switch to update rms values
129#define SKIP_CYCLES_AFTER_RELAY_SW (150u)
130#endif
131// Delay used between Vin and Vrelay readings during startup selftest
132#define DELAY_SELF_TEST_READING (300u)
133// Value indicating the delay between readings (default 20ms)
134#define VALUE_20MS (20000u)
135// RCD test repeat disable interval in seconds
136#define RCD_TIME_REPEAT_INTERVAL (10u)
137// Print values disable interval in seconds
138#define PRINT_VALUES_TIME (4u)
139// The time rate used to compute Vin and Iout (multiple of 20ms)
140#define COMPUTE_VALUES_INTERVAL (5u)
141// The time rate used to compute Vrelay (multiple of COMPUTE_VALUES_INTERVAL)
142#define COMPUTE_VRELAY_INTERVAL (25u)
143// The rate at which the temperature is read (multiple of 20ms)
144#define TEMPERATURE_READ_RATE (250u)
145// Delay for diode error check
146#define DIODE_ERR_DELAY (20u)
147// CP value limit for diode error detected
148#define CP_DIODE_ERROR_LIMIT (150u)
149// Charging blinking LED timing for Iout 16A
150#define LED_BLINKING_16A (4u)
151// Charging blinking LED timing for Iout 10A
152#define LED_BLINKING_10A (8u)
153// Control pilot High side low limit value
154#define CP_H_LOW_LIMIT (1100u)
155// State A CP high side high limit
156#define CPH_A_LIMIT_HIGH (1890u)
157// State A CP high side low limit
158#define CPH_A_LIMIT_LOW (1800u)
159// State B CP high side high limit
160#define CPH_B_LIMIT_HIGH (1670u)
161// State B CP high side low limi
162#define CPH_B_LIMIT_LOW (1600u)
163// State C CP high side high limit
164#define CPH_C_LIMIT_HIGH (1450u)
165// State C CP high side low limit
166#define CPH_C_LIMIT_LOW (1390u)
167// State D CP high side high limit
168#define CPH_D_LIMIT_HIGH (1226u)
169// State D CP high side low limit
170#define CPH_D_LIMIT_LOW (1180u)
171// State B delay for changing CP from DC to PWM
172#define CP_DC_PWM_DELAY (2000u)
173// Adjust to new PWM duty time delay
174#define ADJUST_TIME (5000l)
175#if defined(REV_D)
176//Upstream PE error detection pin
177#define INT_PORT (2u)
178#define INT_PIN (3u)
179#define INT_PIN_OPTO1 (5u)
180#define INT_PIN_OPTO2 (7u)
181#endif
182
183// Extra components
188
189
190#endif /* __PARAMETERS_H__ */
struct max_uart_init_param ade9113_uart_extra_ip
Definition parameters.c:36
struct max_spi_init_param ade9113_spi_extra_ip
Definition parameters.c:40
struct max_gpio_init_param ade9113_gpio_extra_ip
Definition parameters.c:46
struct max_i2c_init_param adt75_i2c_extra
Definition parameters.c:50
GPIO platform specific init parameters.
Definition maxim_gpio.h:55
Definition maxim_i2c.h:58
Maxim specific SPI initialization parameters.
Definition maxim_spi.h:53
Aditional UART config parameters.
Definition maxim_uart.h:55