Subversion Repositories DashDisplay

Rev

Rev 67 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
50 mjames 1
/* USER CODE BEGIN Header */
2
/**
56 mjames 3
 ******************************************************************************
4
 * @file           : main.h
5
 * @brief          : Header for main.c file.
6
 *                   This file contains the common defines of the application.
7
 ******************************************************************************
8
 * @attention
9
 *
10
 * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
11
 * All rights reserved.</center></h2>
12
 *
13
 * This software component is licensed by ST under BSD 3-Clause license,
14
 * the "License"; You may not use this file except in compliance with the
15
 * License. You may obtain a copy of the License at:
16
 *                        opensource.org/licenses/BSD-3-Clause
17
 *
18
 ******************************************************************************
19
 */
50 mjames 20
/* USER CODE END Header */
21
 
22
/* Define to prevent recursive inclusion -------------------------------------*/
23
#ifndef __MAIN_H
24
#define __MAIN_H
25
 
26
#ifdef __cplusplus
67 mjames 27
extern "C" {
50 mjames 28
#endif
29
 
58 mjames 30
/* Includes ------------------------------------------------------------------*/
50 mjames 31
#include "stm32l1xx_hal.h"
32
 
58 mjames 33
/* Private includes ----------------------------------------------------------*/
34
/* USER CODE BEGIN Includes */
50 mjames 35
#include "display.h"
65 mjames 36
#include "nvram.h"
50 mjames 37
 
38
#include "libPLX/plx.h"
39
 
67 mjames 40
/* USER CODE END Includes */
50 mjames 41
 
67 mjames 42
/* Exported types ------------------------------------------------------------*/
43
/* USER CODE BEGIN ET */
50 mjames 44
 
58 mjames 45
#define TX_USART_BUFF_SIZ 512
46
#define RX_USART_BUFF_SIZ 512
47
 
65 mjames 48
#define MAXRDG 32
58 mjames 49
 
56 mjames 50
  extern const int DialTimeout;
50 mjames 51
 
56 mjames 52
  /// \brief Sensor information as read in from serial port, and expressed as structures.
53
  typedef union
50 mjames 54
  {
56 mjames 55
    PLX_SensorInfo Sensor[MAXRDG];
56
    char Bytes[MAXRDG * sizeof(PLX_SensorInfo)];
57
  } data_t;
50 mjames 58
 
56 mjames 59
  typedef struct
60
  {
61
    int Max;
62
    int Min;
63
    enum PLX_Observations observation;
64
    uint8_t instance;
65
    uint16_t data;
66 mjames 66
    uint32_t sum;         //< Sum of readings since last logged
67
  uint32_t lastUpdated; ///< Time of last update
68
    uint16_t count;       //< Count of readings since last logged .
69
    uint8_t updated; ///< Set when updated 
56 mjames 70
  } info_t;
50 mjames 71
 
56 mjames 72
  typedef struct
73
  {
65 mjames 74
    int8_t knobPos; ///< User interface knob position
57 mjames 75
    int16_t OldObservation;
76
    int16_t OldObservationIndex;
65 mjames 77
    int16_t dial0; ///< Display needle position 0
78
    int16_t dial1; ///< Display needle position 1
57 mjames 79
    uint16_t dial_timer;
65 mjames 80
    // nvram_info_t * info;  ///< currently selected item
56 mjames 81
  } context_t;
50 mjames 82
 
56 mjames 83
  extern info_t Info[MAXRDG];
50 mjames 84
 
56 mjames 85
  extern context_t contexts[MAX_DISPLAYS];
50 mjames 86
 
56 mjames 87
  extern int PLXItems;
50 mjames 88
 
65 mjames 89
  // declarations need to be visible elsewhere
56 mjames 90
  extern SPI_HandleTypeDef hspi1;
50 mjames 91
 
56 mjames 92
  extern UART_HandleTypeDef huart1;
93
  extern UART_HandleTypeDef huart2;
94
  extern UART_HandleTypeDef huart3;
50 mjames 95
 
56 mjames 96
  extern TIM_HandleTypeDef htim3;
97
  extern TIM_HandleTypeDef htim9;
50 mjames 98
 
67 mjames 99
/* USER CODE END ET */
50 mjames 100
 
67 mjames 101
/* Exported constants --------------------------------------------------------*/
102
/* USER CODE BEGIN EC */
50 mjames 103
 
67 mjames 104
/* USER CODE END EC */
50 mjames 105
 
67 mjames 106
/* Exported macro ------------------------------------------------------------*/
107
/* USER CODE BEGIN EM */
50 mjames 108
 
67 mjames 109
/* USER CODE END EM */
50 mjames 110
 
67 mjames 111
/* Exported functions prototypes ---------------------------------------------*/
112
void Error_Handler(void);
50 mjames 113
 
67 mjames 114
/* USER CODE BEGIN EFP */
56 mjames 115
  extern context_t context[MAX_DISPLAYS];
50 mjames 116
 
65 mjames 117
  extern uint8_t btConnected();
50 mjames 118
/* USER CODE END EFP */
119
 
120
/* Private defines -----------------------------------------------------------*/
121
#define SPI_NSS1_Pin GPIO_PIN_4
122
#define SPI_NSS1_GPIO_Port GPIOA
123
#define SPI_SCK_Pin GPIO_PIN_5
124
#define SPI_SCK_GPIO_Port GPIOA
125
#define SPI_CD_Pin GPIO_PIN_6
126
#define SPI_CD_GPIO_Port GPIOA
127
#define SPI_MOSI_Pin GPIO_PIN_7
128
#define SPI_MOSI_GPIO_Port GPIOA
129
#define SPI_RESET_Pin GPIO_PIN_4
130
#define SPI_RESET_GPIO_Port GPIOC
131
#define SPI_NSS2_Pin GPIO_PIN_5
132
#define SPI_NSS2_GPIO_Port GPIOC
61 mjames 133
#define BT_STATE_Pin GPIO_PIN_2
134
#define BT_STATE_GPIO_Port GPIOB
50 mjames 135
#define SW1_PUSH_Pin GPIO_PIN_12
136
#define SW1_PUSH_GPIO_Port GPIOB
137
#define SW1_I_Pin GPIO_PIN_13
138
#define SW1_I_GPIO_Port GPIOB
139
#define SW1_Q_Pin GPIO_PIN_14
140
#define SW1_Q_GPIO_Port GPIOB
141
#define SW2_PUSH_Pin GPIO_PIN_15
142
#define SW2_PUSH_GPIO_Port GPIOB
143
#define SW2_I_Pin GPIO_PIN_6
144
#define SW2_I_GPIO_Port GPIOC
145
#define SW2_Q_Pin GPIO_PIN_7
146
#define SW2_Q_GPIO_Port GPIOC
147
#define POWER_LATCH_Pin GPIO_PIN_8
148
#define POWER_LATCH_GPIO_Port GPIOC
149
#define IGNITION_Pin GPIO_PIN_9
150
#define IGNITION_GPIO_Port GPIOC
151
#define BT_BUTTON_Pin GPIO_PIN_8
152
#define BT_BUTTON_GPIO_Port GPIOA
153
#define PLX_TX_Pin GPIO_PIN_9
154
#define PLX_TX_GPIO_Port GPIOA
155
#define PLX_RX_Pin GPIO_PIN_10
156
#define PLX_RX_GPIO_Port GPIOA
157
#define USB_PWR_Pin GPIO_PIN_12
158
#define USB_PWR_GPIO_Port GPIOC
67 mjames 159
/* USER CODE BEGIN Private defines */
50 mjames 160
 
67 mjames 161
/* USER CODE END Private defines */
50 mjames 162
 
163
#ifdef __cplusplus
164
}
165
#endif
166
 
167
#endif /* __MAIN_H */