/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. ****************************************************************************** ** This notice applies to any and all portions of this file * that are not between comment pairs USER CODE BEGIN and * USER CODE END. Other portions of this file, whether * inserted by the user or by software development tools * are owned by their respective copyright owners. * * COPYRIGHT(c) 2019 STMicroelectronics * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32f1xx_hal.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "sth30_crc.h" #include #include "RGB_Controller.h" #include "core_cm3.h" #include #include "SX1276.h" /* USER CODE END Includes */ /* Exported types ------------------------------------------------------------*/ /* USER CODE BEGIN ET */ typedef enum{ //LIMIT SET enum bluecell_stx = 0, bluecell_type, bluecell_length, bluecell_srcid, bluecell_red_H, bluecell_red_L, bluecell_green_H, bluecell_green_L, bluecell_blue_H, bluecell_blue_L, bluecell_dstid, bluecell_crc, bluecell_etx, }RGB_Protocol_t; /* USER CODE END ET */ /* Exported constants --------------------------------------------------------*/ /* USER CODE BEGIN EC */ /* USER CODE END EC */ /* Exported macro ------------------------------------------------------------*/ /* USER CODE BEGIN EM */ extern void Uart3_Data_Send(uint8_t* data,uint8_t size); extern void RGB_SensorIDAutoSet(uint8_t set); extern uint8_t RGB_SensorIDAutoGet(void); extern void Flash_write(uint8_t*); extern void LoraDataSendSet(uint8_t val); extern uint8_t LoraDataSendGet(void); /* USER CODE END EM */ /* Exported functions prototypes ---------------------------------------------*/ void Error_Handler(void); /* USER CODE BEGIN EFP */ extern uint8_t MyControllerID; extern uint8_t SensorID; extern uint8_t Lora_Buf[100]; typedef enum{ RGB_Status_Data_Request = 0x01, RGB_ControllerID_SET , //2 RGB_SensorID_SET , //3 RGB_SensorID_SET_Success, //4 RGB_Status_Data_Response , //5 RGB_ControllerLimitSet , //6 RGB_Sensor_Start , //7 RGB_Sensor_Check ,//8 RGB_Sensor_Ack, //9 RGB_Reset,//a RGB_ID_Allocate_Request,//b RGB_Lora_Data_Report,//c }RGB_CMD_T; #define RGB_ControllerID_SET_Length 10 #define RGB_SensorID_SET_Length 10 #define RGB_SensorDataRequest_Length 7 #define RGB_SensorIDAutoSetRequest_Length 7 #define RGB_SensorIDCheckSetRequest_Length 4 #define RGB_SensorDataResponse_Length 15 #define RGB_SensorDataResponseData_Length RGB_SensorDataResponse_Length - 3 #define Lora_Max_Amount 60 /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ #define BOOT_LED_Pin GPIO_PIN_15 #define BOOT_LED_GPIO_Port GPIOC #define SX1276_DIO0_Pin GPIO_PIN_4 #define SX1276_DIO0_GPIO_Port GPIOA #define SX1276_DIO1_Pin GPIO_PIN_5 #define SX1276_DIO1_GPIO_Port GPIOA #define SX1276_DIO2_Pin GPIO_PIN_6 #define SX1276_DIO2_GPIO_Port GPIOA #define SX1276_DIO3_Pin GPIO_PIN_7 #define SX1276_DIO3_GPIO_Port GPIOA #define SX1276_DIO4_Pin GPIO_PIN_4 #define SX1276_DIO4_GPIO_Port GPIOC #define SX1276_DIO5_Pin GPIO_PIN_5 #define SX1276_DIO5_GPIO_Port GPIOC #define SX1276_RESET_Pin GPIO_PIN_0 #define SX1276_RESET_GPIO_Port GPIOB #define LED_ALARM_Pin GPIO_PIN_12 #define LED_ALARM_GPIO_Port GPIOB #define SENSOR_EN1_Pin GPIO_PIN_13 #define SENSOR_EN1_GPIO_Port GPIOB #define SENSOR_EN2_Pin GPIO_PIN_14 #define SENSOR_EN2_GPIO_Port GPIOB #define SENSOR_EN3_Pin GPIO_PIN_15 #define SENSOR_EN3_GPIO_Port GPIOB #define SENSOR_EN4_Pin GPIO_PIN_6 #define SENSOR_EN4_GPIO_Port GPIOC #define SENSOR_EN5_Pin GPIO_PIN_7 #define SENSOR_EN5_GPIO_Port GPIOC #define SENSOR_EN6_Pin GPIO_PIN_8 #define SENSOR_EN6_GPIO_Port GPIOC #define SENSOR_EN7_Pin GPIO_PIN_9 #define SENSOR_EN7_GPIO_Port GPIOC #define SENSOR_EN8_Pin GPIO_PIN_8 #define SENSOR_EN8_GPIO_Port GPIOA #define SX1276_NSS_Pin GPIO_PIN_15 #define SX1276_NSS_GPIO_Port GPIOA #define LED_CH1_Pin GPIO_PIN_10 #define LED_CH1_GPIO_Port GPIOC #define LED_CH2_Pin GPIO_PIN_11 #define LED_CH2_GPIO_Port GPIOC #define LED_CH3_Pin GPIO_PIN_12 #define LED_CH3_GPIO_Port GPIOC #define LED_CH4_Pin GPIO_PIN_2 #define LED_CH4_GPIO_Port GPIOD #define SX1276_CLK_Pin GPIO_PIN_3 #define SX1276_CLK_GPIO_Port GPIOB #define SX1276_MISO_Pin GPIO_PIN_4 #define SX1276_MISO_GPIO_Port GPIOB #define SX1276_MOSI_Pin GPIO_PIN_5 #define SX1276_MOSI_GPIO_Port GPIOB #define LED_CH5_Pin GPIO_PIN_6 #define LED_CH5_GPIO_Port GPIOB #define LED_CH6_Pin GPIO_PIN_7 #define LED_CH6_GPIO_Port GPIOB #define LED_CH7_Pin GPIO_PIN_8 #define LED_CH7_GPIO_Port GPIOB #define LED_CH8_Pin GPIO_PIN_9 #define LED_CH8_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ #define buf_size 100 /* USER CODE END Private defines */ #ifdef __cplusplus } #endif #endif /* __MAIN_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/