Gateway by Jorge Troncoso

Dependencies:   libmDot-mbed5

Committer:
jortronm2
Date:
Wed Jun 13 11:45:52 2018 +0000
Revision:
0:e671110e33a3
Gateway by Jorge Troncoso

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jortronm2 0:e671110e33a3 1 #ifndef BOARD_CONFIG_H
jortronm2 0:e671110e33a3 2 #define BOARD_CONFIG_H
jortronm2 0:e671110e33a3 3
jortronm2 0:e671110e33a3 4
jortronm2 0:e671110e33a3 5 #include "mbed.h"
jortronm2 0:e671110e33a3 6
jortronm2 0:e671110e33a3 7
jortronm2 0:e671110e33a3 8 /* PIN ALLOCATIONS ************************************************************/
jortronm2 0:e671110e33a3 9
jortronm2 0:e671110e33a3 10
jortronm2 0:e671110e33a3 11 #define PIN_OUTPUT_LED_EXTERNAL PA_0
jortronm2 0:e671110e33a3 12 #define PIN_OUTPUT_SENSOR_2_SIGNAL PA_1
jortronm2 0:e671110e33a3 13 #define PIN_OUTPUT_ESP_UART_TX PA_2
jortronm2 0:e671110e33a3 14 #define PIN_OUTPUT_ESP_UART_RX PA_3
jortronm2 0:e671110e33a3 15 #define PIN_OUTPUT_SENSOR_1_SIGNAL PA_4
jortronm2 0:e671110e33a3 16 #define PIN_OUTPUT_MAX_SPI_SCK PA_5
jortronm2 0:e671110e33a3 17 #define PIN_OUTPUT_MAX_SPI_MISO PA_6
jortronm2 0:e671110e33a3 18 #define PIN_OUTPUT_MAX_SPI_MOSI PA_7
jortronm2 0:e671110e33a3 19 #define PIN_OUTPUT_ESP_POWER PA_7
jortronm2 0:e671110e33a3 20 #define PIN_OUTPUT_ADS_I2C_SCL PA_8
jortronm2 0:e671110e33a3 21 #define PIN_OUTPUT_DEBUG_UART_TX PA_9
jortronm2 0:e671110e33a3 22 #define PIN_OUTPUT_DEBUG_UART_RX PA_10
jortronm2 0:e671110e33a3 23 #define PIN_OUTPUT_SENSOR_POWER PA_11
jortronm2 0:e671110e33a3 24 //#define PA_13 // JTAG
jortronm2 0:e671110e33a3 25 //#define PA_14 // JTAG
jortronm2 0:e671110e33a3 26
jortronm2 0:e671110e33a3 27 #define PIN_OUTPUT_MAX_SPI_CS PB_0
jortronm2 0:e671110e33a3 28 #define PIN_OUTPUT_LED_INTERNAL PB_1
jortronm2 0:e671110e33a3 29 //#define PB_3 // JTAG
jortronm2 0:e671110e33a3 30 //#define PB_4 // JTAG
jortronm2 0:e671110e33a3 31
jortronm2 0:e671110e33a3 32 #define PIN_OUTPUT_SENSOR_3_SIGNAL PC_1
jortronm2 0:e671110e33a3 33 #define PIN_OUTPUT_ADS_I2C_SDA PC_9
jortronm2 0:e671110e33a3 34 #define PIN_INPUT_BUTTON PC_13
jortronm2 0:e671110e33a3 35
jortronm2 0:e671110e33a3 36
jortronm2 0:e671110e33a3 37 /* DEBUG SERIAL SETTINGS *****************************************************/
jortronm2 0:e671110e33a3 38
jortronm2 0:e671110e33a3 39
jortronm2 0:e671110e33a3 40 extern Serial debug_serial;
jortronm2 0:e671110e33a3 41 #define DEBUG_UART_BAUD 115200
jortronm2 0:e671110e33a3 42 // Uncomment "#define DEBUG_SERIAL_ENABLED" to enable debug printing external to the logging system.
jortronm2 0:e671110e33a3 43 #define DEBUG_SERIAL_ENABLED
jortronm2 0:e671110e33a3 44 #ifdef DEBUG_SERIAL_ENABLED
jortronm2 0:e671110e33a3 45 #define DEBUG_PRINTF(...) debug_serial.printf(__VA_ARGS__)
jortronm2 0:e671110e33a3 46 #else
jortronm2 0:e671110e33a3 47 #define DEBUG_PRINTF(...)
jortronm2 0:e671110e33a3 48 #endif
jortronm2 0:e671110e33a3 49
jortronm2 0:e671110e33a3 50
jortronm2 0:e671110e33a3 51 /* RADIO SETTINGS *************************************************************/
jortronm2 0:e671110e33a3 52
jortronm2 0:e671110e33a3 53
jortronm2 0:e671110e33a3 54 // Channel plan options:
jortronm2 0:e671110e33a3 55 // CP_US915
jortronm2 0:e671110e33a3 56 // CP_AU915
jortronm2 0:e671110e33a3 57 // CP_EU868
jortronm2 0:e671110e33a3 58 // CP_KR920
jortronm2 0:e671110e33a3 59 // CP_AS923
jortronm2 0:e671110e33a3 60 // CP_AS923_JAPAN
jortronm2 0:e671110e33a3 61 // CP_IN865
jortronm2 0:e671110e33a3 62 #define RADIO_CHANNEL_PLAN CP_AU915
jortronm2 0:e671110e33a3 63
jortronm2 0:e671110e33a3 64
jortronm2 0:e671110e33a3 65 /* SENSOR READING SETTINGS ****************************************************/
jortronm2 0:e671110e33a3 66
jortronm2 0:e671110e33a3 67
jortronm2 0:e671110e33a3 68 // Scaling factors to turn raw sensor data into proper readings.
jortronm2 0:e671110e33a3 69 #define BATTERY_VOLTAGE_SCALE (1193.2f)
jortronm2 0:e671110e33a3 70 #define TEMPERATURE_READING_SCALE (4)
jortronm2 0:e671110e33a3 71
jortronm2 0:e671110e33a3 72
jortronm2 0:e671110e33a3 73 /* IMPORTANT DATA STRUCTURES **************************************************/
jortronm2 0:e671110e33a3 74
jortronm2 0:e671110e33a3 75
jortronm2 0:e671110e33a3 76 // This structure contains the raw sensor data.
jortronm2 0:e671110e33a3 77 struct sensor_data_raw {
jortronm2 0:e671110e33a3 78 uint16_t reading_number;
jortronm2 0:e671110e33a3 79 uint16_t voltage_battery;
jortronm2 0:e671110e33a3 80 uint16_t voltage_wire[9];
jortronm2 0:e671110e33a3 81 int16_t temperature;
jortronm2 0:e671110e33a3 82 };
jortronm2 0:e671110e33a3 83
jortronm2 0:e671110e33a3 84 // This structure contains the actual scaled readings.
jortronm2 0:e671110e33a3 85 struct sensor_data {
jortronm2 0:e671110e33a3 86 uint16_t reading_number;
jortronm2 0:e671110e33a3 87 float voltage_battery;
jortronm2 0:e671110e33a3 88 uint16_t voltage_wire[9];
jortronm2 0:e671110e33a3 89 float temperature;
jortronm2 0:e671110e33a3 90 float rssi;
jortronm2 0:e671110e33a3 91 };
jortronm2 0:e671110e33a3 92
jortronm2 0:e671110e33a3 93
jortronm2 0:e671110e33a3 94 /* VARIABLES FOR STORING INCOMING RADIO DATA **********************************/
jortronm2 0:e671110e33a3 95
jortronm2 0:e671110e33a3 96
jortronm2 0:e671110e33a3 97 extern bool radio_gateway_rx_ready;
jortronm2 0:e671110e33a3 98 extern uint8_t *radio_gateway_rx_data;
jortronm2 0:e671110e33a3 99 extern uint32_t radio_gateway_rx_length;
jortronm2 0:e671110e33a3 100 extern int16_t radio_gateway_rx_rssi;
jortronm2 0:e671110e33a3 101
jortronm2 0:e671110e33a3 102
jortronm2 0:e671110e33a3 103 #endif // BOARD_CONFIG_H