Data Logger BLE Cellular Board
Loading...
Searching...
No Matches
globals.c
Go to the documentation of this file.
1/*!
2 * \file globals.c
3 *
4 * \brief global variables
5 *
6 * \copyright J Factor Embedded Technologies LLC. 2023
7 * \copyright TJM Embedded Software LLC. 2023
8 * \author T. J. Mulrooney
9 *
10 */
11/*
12 * All Rights Reserved
13 * UNPUBLISHED, LICENSED SOFTWARE.
14 *
15 * CONFIDENTIAL AND PROPRIETARY INFORMATION
16 * WHICH IS THE PROPERTY OF J-Factor Embedded Technologies.
17 *
18 */
19
21#include <stdint.h>
22
23uint16_t manfID;
24uint16_t deviceID;
25float hdcTemp;
27char *cmdLineParameter[MAX_PARAMETERS]; //!< array of pointers to command line parameter strings
29char devIDStr[70];
31float adc_voltage[2] = {0}; //!< last ADC voltage read [0] battery
33char resetCause[100];
34char myStr[256];
35flashParametersStruct flashParameters; //!< working valuses of flash parameters in RAM
36uint8_t tmpData[256];
37uint32_t bleIndex;
38uint8_t stopWDTFeed = 0; //!< stop Watch Dog Timer feed causing a WDT interrupt for testing
39uint8_t hdcMinutes = 0;
40struct bme68x_dev bme688_dev; //!< BME688 device
41int ret;
42uint8_t buffer_tx[SPI_BUF_SIZE + 8] = {}; //!< SPI transmit buffer
43uint8_t buffer_rx[SPI_BUF_SIZE + 8] = {}; //!< SPI receive buffer0
44struct bme68x_data BME688Data;
45char cliCMD[40];
46uint8_t sendingDeviceInfo = false; //!< flag to indicate sending device info in BLE packet instead of sensor data
48char gatewayEpoch[20];
49
50#if 1
51#define SPI_CS1N_NODE DT_ALIAS(spi_cs1n)
52#if !DT_NODE_HAS_STATUS(SPI_CS1N_NODE, okay)
53#error "SPI_CS1N alias is not defined"
54#endif
55const struct gpio_dt_spec spics1n = GPIO_DT_SPEC_GET_OR(SPI_CS1N_NODE, gpios, {0});
56#endif
57
58#if 1
59#define SPI_CS2N_NODE DT_ALIAS(spi_cs2n)
60#if !DT_NODE_HAS_STATUS(SPI_CS2N_NODE, okay)
61#error "SPI_CS2N alias is not defined"
62#endif
63const struct gpio_dt_spec spics2n = GPIO_DT_SPEC_GET_OR(SPI_CS2N_NODE, gpios, {0});
64#endif
65
66// #if DT_NODE_HAS_STATUS(DT_ALIAS(spi0), okay)
67// #define SPI_DEV_NODE DT_ALIAS(spi0)
68// #if DT_NODE_HAS_STATUS(DT_ALIAS(spi1), okay)
69// #define SPI_DEV_NODE DT_ALIAS(spi1)
70#if DT_NODE_HAS_STATUS(DT_ALIAS(spi2), okay)
71#define SPI_DEV_NODE DT_ALIAS(spi2)
72// #elif DT_NODE_HAS_STATUS(DT_ALIAS(spi3), okay)
73#//define SPI_DEV_NODE DT_ALIAS(spi3)
74#else
75#error "Please set the correct SPI device"
76#endif
77// #define SPI_DRV_NAME CONFIG_SPI_LOOPBACK_DRV_NAME
78
79const struct device *const spi_dev = DEVICE_DT_GET(SPI_DEV_NODE);
80
81const struct spi_cs_control spi_cs1 = {
82 .gpio = GPIO_DT_SPEC_GET_OR(SPI_CS1N_NODE, gpios, {0}),
83 .delay = 0,
84};
85
86const struct spi_cs_control spi_cs2 = {
87 .gpio = GPIO_DT_SPEC_GET_OR(SPI_CS2N_NODE, gpios, {0}),
88 .delay = 0,
89};
90
91struct spi_config spi_cfg1 = //!< SPI configuration
92 {
93 .frequency = SLOW_FREQ,
94 .operation = SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8) | SPI_LINES_SINGLE,
95 .slave = SPI_SLAVE,
96 .cs = spi_cs1,
97 // .cs = SPI_CS_CONTROL_INIT(SPI_CS1N_NODE, 0),
98 // .cs = NULL,
99};
100
101struct spi_config spi_cfg2 = //!< SPI configuration
102 {
103 .frequency = SLOW_FREQ,
104 .operation = SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8) | SPI_LINES_SINGLE,
105 .slave = SPI_SLAVE,
106 .cs = spi_cs2,
107 // .cs = SPI_CS_CONTROL_INIT(SPI_CS2N_NODE, 0),
108 // .cs = NULL,
109};
110
111struct spi_buf tx_bufs[] = //!< SPI TX buffer structure
112 {
113 {
114 .buf = buffer_tx,
115 .len = SPI_BUF_SIZE,
116 },
117};
118struct spi_buf rx_bufs[] = //!< SPI RX buffer structure
119 {
120 {
121 .buf = buffer_rx,
122 .len = SPI_BUF_SIZE,
123 },
124};
125const struct spi_buf_set tx = //!< SPI TX buffer structure
126 {.buffers = tx_bufs, .count = ARRAY_SIZE(tx_bufs)};
127const struct spi_buf_set rx = //!< SPI RX buffer structure
128 {.buffers = rx_bufs, .count = ARRAY_SIZE(rx_bufs)};
uint8_t flashReadIn[MAX_FLASH_BYTES]
Definition globals.c:32
struct spi_config spi_cfg1
SPI configuration.
Definition globals.c:91
struct spi_buf tx_bufs[]
SPI TX buffer structure.
Definition globals.c:111
const struct spi_buf_set rx
SPI RX buffer structure.
Definition globals.c:127
const struct spi_cs_control spi_cs2
Definition globals.c:86
float hdcHumidity
Definition globals.c:26
uint8_t buffer_rx[SPI_BUF_SIZE+8]
SPI receive buffer0.
Definition globals.c:43
const struct device *const spi_dev
Definition globals.c:79
#define SPI_CS2N_NODE
Definition globals.c:59
flashParametersStruct flashParameters
working valuses of flash parameters in RAM
Definition globals.c:35
char cliCMD[40]
Definition globals.c:45
char gatewayEpoch[20]
Definition globals.c:48
uint32_t bleIndex
Definition globals.c:37
uint16_t manfID
Definition globals.c:23
uint32_t sensorTypePresentAll
Definition globals.c:30
float adc_voltage[2]
last ADC voltage read [0] battery
Definition globals.c:31
int ret
Definition globals.c:41
uint16_t deviceID
Definition globals.c:24
const struct gpio_dt_spec spics2n
Definition globals.c:63
struct spi_config spi_cfg2
SPI configuration.
Definition globals.c:101
uint8_t buffer_tx[SPI_BUF_SIZE+8]
SPI transmit buffer.
Definition globals.c:42
uint8_t sendingDeviceInfo
flag to indicate sending device info in BLE packet instead of sensor data
Definition globals.c:46
uint8_t tmpData[256]
Definition globals.c:36
uint8_t stopWDTFeed
stop Watch Dog Timer feed causing a WDT interrupt for testing
Definition globals.c:38
long long gatewayDateTime
Definition globals.c:47
char * cmdLineParameter[MAX_PARAMETERS]
array of pointers to command line parameter strings
Definition globals.c:27
const struct spi_cs_control spi_cs1
Definition globals.c:81
struct bme68x_dev bme688_dev
BME688 device.
Definition globals.c:40
struct bme68x_data BME688Data
Definition globals.c:44
uint8_t hdcMinutes
Definition globals.c:39
#define SPI_CS1N_NODE
Definition globals.c:51
char resetCause[100]
Definition globals.c:33
struct spi_buf rx_bufs[]
SPI RX buffer structure.
Definition globals.c:118
const struct spi_buf_set tx
SPI TX buffer structure.
Definition globals.c:125
char devIDStr[70]
Definition globals.c:29
uint8_t numParameters
Definition globals.c:28
char myStr[256]
Definition globals.c:34
const struct gpio_dt_spec spics1n
Definition globals.c:55
float hdcTemp
Definition globals.c:25
common struct, enum, externs, prototypes
#define SLOW_FREQ
Definition jfet_common.h:48
#define SPI_BUF_SIZE
Definition jfet_common.h:46
#define MAX_PARAMETERS
Definition jfet_common.h:75
#define SPI_SLAVE
Definition jfet_common.h:47
#define MAX_FLASH_BYTES
Definition jfet_common.h:76
Flash parameters structure.
Definition jfet_common.h:90