precision-converters-firmware
Loading...
Searching...
No Matches
app_config_mbed.h
Go to the documentation of this file.
1/***************************************************************************/
13#ifndef APP_CONFIG_MBED_H_
14#define APP_CONFIG_MBED_H_
15
16/******************************************************************************/
17/***************************** Include Files **********************************/
18/******************************************************************************/
19
20#include <stdint.h>
21#include <PinNames.h>
22
23#include "mbed_uart.h"
24#include "mbed_irq.h"
25#include "mbed_gpio_irq.h"
26#include "mbed_spi.h"
27#include "mbed_pwm.h"
28#include "mbed_gpio.h"
29#include "mbed_i2c.h"
30
31/******************************************************************************/
32/********************** Macros and Constants Definition ***********************/
33/******************************************************************************/
34
35/* Pin mapping of SDP-K1 w.r.t Arduino connector */
36#define SPI_CSB ARDUINO_UNO_D10
37#define SPI_HOST_SDO ARDUINO_UNO_D11
38#define SPI_HOST_SDI ARDUINO_UNO_D12
39#define SPI_SCK ARDUINO_UNO_D13
40
41/* Pins used to trigger and/or read a new (periodic) conversion event */
42#define PWM_TRIGGER ARDUINO_UNO_D3
43#define INT_EVENT ARDUINO_UNO_D3
44
45/* Common pin mapping on SDP-K1 */
46#define UART_TX CONSOLE_TX
47#define UART_RX CONSOLE_RX
48#define LED_GPO LED3
49
50#define I2C_SCL ARDUINO_UNO_D15
51#define I2C_SDA ARDUINO_UNO_D14
52
53/* Unused Macros */
54#define SPI_DEVICE_ID 0
55#define I2C_DEVICE_ID 0
56#define LED_PORT 0
57#define PWM_ID 0
58
59/* Define the max possible sampling (or output data) rate for a given platform.
60 * This is also used to find the time period to trigger a periodic conversion event.
61 * Note: Max possible ODR is 62.5KSPS per channel for continuous data capture on
62 * IIO client. This is derived by testing the firmware on SDP-K1 controller board
63 * @22Mhz SPI clock. The max possible ODR can vary from board to board and
64 * data continuity is not guaranteed above this ODR on IIO oscilloscope */
65#define SAMPLING_RATE (62500)
66#define CONV_TRIGGER_PERIOD_NSEC (((float)(1.0 / SAMPLING_RATE) * 1000000) * 1000)
67#define CONV_TRIGGER_DUTY_CYCLE_NSEC (CONV_TRIGGER_PERIOD_NSEC / 2)
68
69/******************************************************************************/
70/********************** Public/Extern Declarations ****************************/
71/******************************************************************************/
72
73extern struct mbed_gpio_irq_init_param mbed_trigger_gpio_irq_init_params;
74extern struct mbed_gpio_init_param mbed_trigger_gpio_extra_init_params;
75extern struct mbed_pwm_init_param mbed_pwm_extra_init_params;
76extern struct mbed_uart_init_param mbed_uart_extra_init_params;
77extern struct mbed_uart_init_param mbed_vcom_extra_init_params;
78extern struct mbed_spi_init_param mbed_spi_extra_init_params;
79extern struct mbed_i2c_init_param mbed_i2c_extra_init_params;
80
81#endif /* APP_CONFIG_MBED_H_ */
struct mbed_gpio_init_param mbed_trigger_gpio_extra_init_params
Definition app_config_mbed.c:61
struct mbed_pwm_init_param mbed_pwm_extra_init_params
Definition app_config_mbed.c:69
struct mbed_gpio_irq_init_param mbed_trigger_gpio_irq_init_params
Definition app_config_mbed.c:65
struct mbed_uart_init_param mbed_vcom_extra_init_params
Definition app_config_mbed.c:42
struct mbed_uart_init_param mbed_uart_extra_init_params
Definition app_config_mbed.c:31
struct mbed_spi_init_param mbed_spi_extra_init_params
Definition app_config_mbed.c:54
struct mbed_i2c_init_param mbed_i2c_extra_init_params
Definition app_config_mbed.c:69