FIX | 新硬件调试修改.

master
yuliang 5 months ago
parent ede556c5e5
commit bc527defce

File diff suppressed because one or more lines are too long

@ -29,47 +29,57 @@ CAD.pinconfig=
CAD.provider= CAD.provider=
Dma.Request0=USART3_RX Dma.Request0=USART3_RX
Dma.Request1=USART3_TX Dma.Request1=USART3_TX
Dma.Request2=UART4_RX Dma.Request2=SPI1_RX
Dma.Request3=SPI1_RX Dma.Request3=SPI1_TX
Dma.Request4=SPI1_TX Dma.Request4=USART2_RX
Dma.Request5=USART2_RX Dma.Request5=USART1_RX
Dma.RequestsNb=6 Dma.Request6=USART1_TX
Dma.SPI1_RX.3.Direction=DMA_PERIPH_TO_MEMORY Dma.RequestsNb=7
Dma.SPI1_RX.3.Instance=DMA2_Channel3 Dma.SPI1_RX.2.Direction=DMA_PERIPH_TO_MEMORY
Dma.SPI1_RX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE Dma.SPI1_RX.2.Instance=DMA2_Channel3
Dma.SPI1_RX.3.MemInc=DMA_MINC_ENABLE Dma.SPI1_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.SPI1_RX.3.Mode=DMA_NORMAL Dma.SPI1_RX.2.MemInc=DMA_MINC_ENABLE
Dma.SPI1_RX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE Dma.SPI1_RX.2.Mode=DMA_NORMAL
Dma.SPI1_RX.3.PeriphInc=DMA_PINC_DISABLE Dma.SPI1_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.SPI1_RX.3.Priority=DMA_PRIORITY_LOW Dma.SPI1_RX.2.PeriphInc=DMA_PINC_DISABLE
Dma.SPI1_RX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority Dma.SPI1_RX.2.Priority=DMA_PRIORITY_LOW
Dma.SPI1_TX.4.Direction=DMA_MEMORY_TO_PERIPH Dma.SPI1_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.SPI1_TX.4.Instance=DMA2_Channel4 Dma.SPI1_TX.3.Direction=DMA_MEMORY_TO_PERIPH
Dma.SPI1_TX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE Dma.SPI1_TX.3.Instance=DMA2_Channel4
Dma.SPI1_TX.4.MemInc=DMA_MINC_ENABLE Dma.SPI1_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.SPI1_TX.4.Mode=DMA_NORMAL Dma.SPI1_TX.3.MemInc=DMA_MINC_ENABLE
Dma.SPI1_TX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE Dma.SPI1_TX.3.Mode=DMA_NORMAL
Dma.SPI1_TX.4.PeriphInc=DMA_PINC_DISABLE Dma.SPI1_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.SPI1_TX.4.Priority=DMA_PRIORITY_LOW Dma.SPI1_TX.3.PeriphInc=DMA_PINC_DISABLE
Dma.SPI1_TX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority Dma.SPI1_TX.3.Priority=DMA_PRIORITY_LOW
Dma.UART4_RX.2.Direction=DMA_PERIPH_TO_MEMORY Dma.SPI1_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.UART4_RX.2.Instance=DMA2_Channel5 Dma.USART1_RX.5.Direction=DMA_PERIPH_TO_MEMORY
Dma.UART4_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE Dma.USART1_RX.5.Instance=DMA1_Channel5
Dma.UART4_RX.2.MemInc=DMA_MINC_ENABLE Dma.USART1_RX.5.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_RX.2.Mode=DMA_NORMAL Dma.USART1_RX.5.MemInc=DMA_MINC_ENABLE
Dma.UART4_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE Dma.USART1_RX.5.Mode=DMA_NORMAL
Dma.UART4_RX.2.PeriphInc=DMA_PINC_DISABLE Dma.USART1_RX.5.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_RX.2.Priority=DMA_PRIORITY_LOW Dma.USART1_RX.5.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority Dma.USART1_RX.5.Priority=DMA_PRIORITY_LOW
Dma.USART2_RX.5.Direction=DMA_PERIPH_TO_MEMORY Dma.USART1_RX.5.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.USART2_RX.5.Instance=DMA1_Channel6 Dma.USART1_TX.6.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART2_RX.5.MemDataAlignment=DMA_MDATAALIGN_BYTE Dma.USART1_TX.6.Instance=DMA1_Channel4
Dma.USART2_RX.5.MemInc=DMA_MINC_ENABLE Dma.USART1_TX.6.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_RX.5.Mode=DMA_NORMAL Dma.USART1_TX.6.MemInc=DMA_MINC_ENABLE
Dma.USART2_RX.5.PeriphDataAlignment=DMA_PDATAALIGN_BYTE Dma.USART1_TX.6.Mode=DMA_NORMAL
Dma.USART2_RX.5.PeriphInc=DMA_PINC_DISABLE Dma.USART1_TX.6.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_RX.5.Priority=DMA_PRIORITY_LOW Dma.USART1_TX.6.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_RX.5.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority Dma.USART1_TX.6.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.6.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.USART2_RX.4.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART2_RX.4.Instance=DMA1_Channel6
Dma.USART2_RX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_RX.4.MemInc=DMA_MINC_ENABLE
Dma.USART2_RX.4.Mode=DMA_NORMAL
Dma.USART2_RX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_RX.4.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_RX.4.Priority=DMA_PRIORITY_LOW
Dma.USART2_RX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.USART3_RX.0.Direction=DMA_PERIPH_TO_MEMORY Dma.USART3_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART3_RX.0.Instance=DMA1_Channel3 Dma.USART3_RX.0.Instance=DMA1_Channel3
Dma.USART3_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE Dma.USART3_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
@ -120,63 +130,65 @@ Mcu.IPNb=14
Mcu.Name=STM32L496Z(E-G)Tx Mcu.Name=STM32L496Z(E-G)Tx
Mcu.Package=LQFP144 Mcu.Package=LQFP144
Mcu.Pin0=PE2 Mcu.Pin0=PE2
Mcu.Pin1=PC14-OSC32_IN (PC14) Mcu.Pin1=PE3
Mcu.Pin10=PA6 Mcu.Pin10=PA5
Mcu.Pin11=PA7 Mcu.Pin11=PA6
Mcu.Pin12=PC4 Mcu.Pin12=PA7
Mcu.Pin13=PC5 Mcu.Pin13=PC4
Mcu.Pin14=PB0 Mcu.Pin14=PC5
Mcu.Pin15=PE11 Mcu.Pin15=PB0
Mcu.Pin16=PB10 Mcu.Pin16=PE11
Mcu.Pin17=PB11 Mcu.Pin17=PB10
Mcu.Pin18=PD14 Mcu.Pin18=PB11
Mcu.Pin19=PD15 Mcu.Pin19=PD14
Mcu.Pin2=PF0 Mcu.Pin2=PC14-OSC32_IN (PC14)
Mcu.Pin20=PG2 Mcu.Pin20=PD15
Mcu.Pin21=PG3 Mcu.Pin21=PG2
Mcu.Pin22=PG4 Mcu.Pin22=PG3
Mcu.Pin23=PA9 Mcu.Pin23=PG4
Mcu.Pin24=PA10 Mcu.Pin24=PA9
Mcu.Pin25=PA13 (JTMS/SWDIO) Mcu.Pin25=PA10
Mcu.Pin26=PA14 (JTCK/SWCLK) Mcu.Pin26=PA13 (JTMS/SWDIO)
Mcu.Pin27=PC10 Mcu.Pin27=PA14 (JTCK/SWCLK)
Mcu.Pin28=PC11 Mcu.Pin28=PC10
Mcu.Pin29=PC12 Mcu.Pin29=PC11
Mcu.Pin3=PF9 Mcu.Pin3=PF0
Mcu.Pin30=PD3 Mcu.Pin30=PC12
Mcu.Pin31=PD4 Mcu.Pin31=PD3
Mcu.Pin32=PD5 Mcu.Pin32=PD4
Mcu.Pin33=PD6 Mcu.Pin33=PD5
Mcu.Pin34=PG9 Mcu.Pin34=PD6
Mcu.Pin35=PG10 Mcu.Pin35=PG9
Mcu.Pin36=PG13 Mcu.Pin36=PG10
Mcu.Pin37=PG14 Mcu.Pin37=PG13
Mcu.Pin38=PE0 Mcu.Pin38=PG14
Mcu.Pin39=VP_ADC1_TempSens_Input Mcu.Pin39=PE0
Mcu.Pin4=PH0-OSC_IN (PH0) Mcu.Pin4=PF9
Mcu.Pin40=VP_FREERTOS_VS_CMSIS_V2 Mcu.Pin40=VP_ADC1_TempSens_Input
Mcu.Pin41=VP_RTC_VS_RTC_Activate Mcu.Pin41=VP_FREERTOS_VS_CMSIS_V2
Mcu.Pin42=VP_SYS_VS_Systick Mcu.Pin42=VP_RTC_VS_RTC_Activate
Mcu.Pin43=VP_TIM7_VS_ClockSourceINT Mcu.Pin43=VP_SYS_VS_Systick
Mcu.Pin5=PH1-OSC_OUT (PH1) Mcu.Pin44=VP_TIM7_VS_ClockSourceINT
Mcu.Pin6=PA0 Mcu.Pin5=PH0-OSC_IN (PH0)
Mcu.Pin7=PA1 Mcu.Pin6=PH1-OSC_OUT (PH1)
Mcu.Pin8=PA4 Mcu.Pin7=PA0
Mcu.Pin9=PA5 Mcu.Pin8=PA1
Mcu.PinsNb=44 Mcu.Pin9=PA4
Mcu.PinsNb=45
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32L496ZGTx Mcu.UserName=STM32L496ZGTx
MxCube.Version=6.10.0 MxCube.Version=6.13.0
MxDb.Version=DB.6.0.100 MxDb.Version=DB.6.0.130
NVIC.ADC1_2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.ADC1_2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.DMA1_Channel2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA1_Channel2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Channel3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA1_Channel3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Channel4_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Channel5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Channel6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA1_Channel6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Channel3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA2_Channel3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Channel4_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA2_Channel4_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Channel5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.ForceEnableDMAVector=true NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
@ -192,6 +204,7 @@ NVIC.SavedSystickIrqHandlerGenerated=true
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:true\:false NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:true\:false
NVIC.TIM7_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true\:true NVIC.TIM7_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true\:true
NVIC.UART4_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true\:true NVIC.UART4_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true\:true
NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.USART2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART3_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true\:true NVIC.USART3_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
@ -282,6 +295,11 @@ PE2.GPIOParameters=GPIO_Label
PE2.GPIO_Label=POWER_GPS PE2.GPIO_Label=POWER_GPS
PE2.Locked=true PE2.Locked=true
PE2.Signal=GPIO_Output PE2.Signal=GPIO_Output
PE3.GPIOParameters=PinState,GPIO_Label
PE3.GPIO_Label=POWER_3V3
PE3.Locked=true
PE3.PinState=GPIO_PIN_SET
PE3.Signal=GPIO_Output
PF0.GPIOParameters=GPIO_Label PF0.GPIOParameters=GPIO_Label
PF0.GPIO_Label=WDG PF0.GPIO_Label=WDG
PF0.Locked=true PF0.Locked=true
@ -449,8 +467,8 @@ SPI3.VirtualType=VM_MASTER
TIM7.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE TIM7.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM7.IPParameters=AutoReloadPreload,Prescaler,Period TIM7.IPParameters=AutoReloadPreload,Prescaler,Period
TIM7.Period=20 TIM7.Period=20
TIM7.Prescaler=7999 TIM7.Prescaler=39999
UART4.BaudRate=115200 UART4.BaudRate=9600
UART4.IPParameters=BaudRate UART4.IPParameters=BaudRate
USART1.IPParameters=VirtualMode-Asynchronous USART1.IPParameters=VirtualMode-Asynchronous
USART1.VirtualMode-Asynchronous=VM_ASYNC USART1.VirtualMode-Asynchronous=VM_ASYNC

@ -98,10 +98,10 @@ typedef struct
/* DAU 通道状态寄存器. */ /* DAU 通道状态寄存器. */
typedef struct typedef struct
{ {
uint16_t MSRR[4]; // 缺陷电流通道周波原始采样值的平均值 (Mean Square Root Register). uint16_t DMAX[4]; // 缺陷电流通道周波最大值寄存器 (Defect Max Value Register).
int16_t AVR[4]; // 缺陷电流通道周波校准值寄存器 (Adjust Value Register). uint16_t DAVR[4]; // 缺陷电流通道周波平均值寄存器 (Defect Average Value Register).
int16_t MAX[4]; // 缺陷电流通道周波校准值最大值寄存器 (Max Value Register). uint16_t FAVR[4]; // 故障电流通道周波平均值寄存器 (Fault Average Value Register).
int16_t FAULT[4]; // 故障触发电流值寄存器 (Fault Value Register). uint16_t FMAX[4]; // 故障电流通道原始采样值最大值寄存器 (Fault Max Value Register).
} dau_port_state_reg_t; } dau_port_state_reg_t;
/* DAU 全局结构体 */ /* DAU 全局结构体 */

@ -193,7 +193,11 @@ typedef struct
/* APN 配置. 128byte */ /* APN 配置. 128byte */
char APN[DEV_APN_LEN]; char APN[DEV_APN_LEN];
/* 保证配置区 8K 的保留位. */ /* 保证配置区 8K 的保留位. */
uint8_t reserve[300]; uint8_t reserve[268];
uint16_t defect_base[DAU_PORT_DEFECT_MAX];
uint16_t defect_adj[DAU_PORT_DEFECT_MAX];
uint16_t fault_base[DAU_PORT_FAULT_MAX];
uint16_t fault_adj[DAU_PORT_FAULT_MAX];
/* INIT_DONE_MAGIC. 4byte */ /* INIT_DONE_MAGIC. 4byte */
uint32_t magic_bak; uint32_t magic_bak;
} dev_config_t; } dev_config_t;

@ -46,22 +46,17 @@
#define FLASH_LOG_ID_LEN 8 #define FLASH_LOG_ID_LEN 8
#define FLASH_LOG_DATA_LEN 248 #define FLASH_LOG_DATA_LEN 248
#define FLASH_LOG_BUF_LEN 256 #define FLASH_LOG_BUF_LEN 256
#define FLASH_LOG_NUM 8192 #define FLASH_LOG_NUM 4096
#define FD_ID_LEN 8 #define FD_ID_LEN 8
#define FD_DATA_LEN 248 #define FD_DATA_LEN 248
#define FD_BUF_LEN 256 #define FD_BUF_LEN 256
#define FD_NUM 8192 #define FD_NUM 4096
#define POSITION_ID_LEN 8
#define POSITION_DATA_LEN 248
#define POSITION_BUF_LEN 256
#define POSITION_NUM 8192
#define ST_ID_LEN 8 #define ST_ID_LEN 8
#define ST_DATA_LEN 248 #define ST_DATA_LEN 248
#define ST_BUF_LEN 256 #define ST_BUF_LEN 256
#define ST_NUM 8192 #define ST_NUM 4096
#define FLASH_LOG_INVALID_ID 0xFFFFFFFFFFFFFFFF #define FLASH_LOG_INVALID_ID 0xFFFFFFFFFFFFFFFF
#define FD_INVALID_ID 0xFFFFFFFFFFFFFFFF #define FD_INVALID_ID 0xFFFFFFFFFFFFFFFF

@ -41,7 +41,7 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/ /* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */ /* USER CODE BEGIN EC */
/* 系统åˆ<EFBFBD>å§åŒæ ‡å¿?. */ /* 系统初始化标<EFBFBD>?. */
typedef enum typedef enum
{ {
SYS_INIT_GPIO = 0, SYS_INIT_GPIO = 0,
@ -70,6 +70,8 @@ void Error_Handler(void);
/* Private defines -----------------------------------------------------------*/ /* Private defines -----------------------------------------------------------*/
#define POWER_GPS_Pin GPIO_PIN_2 #define POWER_GPS_Pin GPIO_PIN_2
#define POWER_GPS_GPIO_Port GPIOE #define POWER_GPS_GPIO_Port GPIOE
#define POWER_3V3_Pin GPIO_PIN_3
#define POWER_3V3_GPIO_Port GPIOE
#define WDG_Pin GPIO_PIN_0 #define WDG_Pin GPIO_PIN_0
#define WDG_GPIO_Port GPIOF #define WDG_GPIO_Port GPIOF
#define DAU_RST_Pin GPIO_PIN_9 #define DAU_RST_Pin GPIO_PIN_9

@ -55,16 +55,18 @@ void DebugMon_Handler(void);
void SysTick_Handler(void); void SysTick_Handler(void);
void DMA1_Channel2_IRQHandler(void); void DMA1_Channel2_IRQHandler(void);
void DMA1_Channel3_IRQHandler(void); void DMA1_Channel3_IRQHandler(void);
void DMA1_Channel4_IRQHandler(void);
void DMA1_Channel5_IRQHandler(void);
void DMA1_Channel6_IRQHandler(void); void DMA1_Channel6_IRQHandler(void);
void ADC1_2_IRQHandler(void); void ADC1_2_IRQHandler(void);
void SPI1_IRQHandler(void); void SPI1_IRQHandler(void);
void USART1_IRQHandler(void);
void USART2_IRQHandler(void); void USART2_IRQHandler(void);
void USART3_IRQHandler(void); void USART3_IRQHandler(void);
void UART4_IRQHandler(void); void UART4_IRQHandler(void);
void TIM7_IRQHandler(void); void TIM7_IRQHandler(void);
void DMA2_Channel3_IRQHandler(void); void DMA2_Channel3_IRQHandler(void);
void DMA2_Channel4_IRQHandler(void); void DMA2_Channel4_IRQHandler(void);
void DMA2_Channel5_IRQHandler(void);
/* USER CODE BEGIN EFP */ /* USER CODE BEGIN EFP */
/* USER CODE END EFP */ /* USER CODE END EFP */

@ -105,9 +105,9 @@ typedef struct
/* 收法报文 buffer. */ /* 收法报文 buffer. */
usart_buf_t debug_buf; usart_buf_t debug_buf;
/* RS485 通讯串口. */ /* RS485 通讯串口. */
static UART_HandleTypeDef *debug_uart = &huart4; static UART_HandleTypeDef *debug_uart = &huart1;
/* 自动校准仪器通讯串口. */ /* 自动校准仪器通讯串口. */
static UART_HandleTypeDef *debug_adj_uart = &huart1; static UART_HandleTypeDef *debug_adj_uart = &huart4;
/* 判断收包是否开始, 用于处理粘包. */ /* 判断收包是否开始, 用于处理粘包. */
static uint8_t debug_state = 0; static uint8_t debug_state = 0;
/* 远程升级 flash 数据校验使用. */ /* 远程升级 flash 数据校验使用. */

@ -60,7 +60,7 @@
/* Private define ------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/
/* cli buffer 长度定义. */ /* cli buffer 长度定义. */
#define CLI_OUTPUT_SIZE 4096 #define CLI_OUTPUT_SIZE 2048
#define CLI_CMD_SIZE 256 #define CLI_CMD_SIZE 256
/* cli 等待超时时间. */ /* cli 等待超时时间. */
#define CLI_TIMEOUT 300000 #define CLI_TIMEOUT 300000
@ -90,6 +90,7 @@ typedef struct
uint32_t flag; uint32_t flag;
osMutexId_t mutex; osMutexId_t mutex;
cli_output_buf_t output_buf; cli_output_buf_t output_buf;
char buf_dma[CLI_OUTPUT_SIZE];
char cmd[CLI_CMD_SIZE]; char cmd[CLI_CMD_SIZE];
} cli_machine_t; } cli_machine_t;
@ -104,7 +105,7 @@ static const osMutexAttr_t cli_mutex_attr =
{ {
.name = "cli" .name = "cli"
}; };
UART_HandleTypeDef *cli_uart = &huart4; UART_HandleTypeDef *cli_uart = &huart1;
extern uint8_t yl_test; extern uint8_t yl_test;
@ -865,6 +866,8 @@ void _cli_init(void)
/* 命令行线程开始函数. */ /* 命令行线程开始函数. */
void cli_start(void const * argument) void cli_start(void const * argument)
{ {
/******** START INIT ********/ /******** START INIT ********/
/* 以下代码是freeRTOS启动后第一个运行的任务,因为优先级最高,且最早创建.所以需要在freeRTOS启动后再初始化 /* 以下代码是freeRTOS启动后第一个运行的任务,因为优先级最高,且最早创建.所以需要在freeRTOS启动后再初始化
* . */ * . */
@ -877,11 +880,12 @@ void cli_start(void const * argument)
FLASH_If_Init(); FLASH_If_Init();
/* 配置系统初始化. */ /* 配置系统初始化. */
dev_config_init(); dev_config_init();
//dev_config_flag_set(DEV_FLAG_CLI); dev_config_flag_set(DEV_FLAG_CLI);
//dev_config_flag_unset(DEV_FLAG_CLI); //dev_config_flag_unset(DEV_FLAG_CLI);
//dev_config_flag_set(DEV_FLAG_ADJ); //dev_config_flag_set(DEV_FLAG_ADJ);
flash_log_init(); flash_log_init();
st_init(); st_init();
/* 公共监控任务初始化. */ /* 公共监控任务初始化. */
common_sys_init(); common_sys_init();
/* 默认开启的 debug. */ /* 默认开启的 debug. */
@ -890,9 +894,9 @@ void cli_start(void const * argument)
dbg_cmd_hander(DBG_CMD_ON, DBG_M_DAU); dbg_cmd_hander(DBG_CMD_ON, DBG_M_DAU);
//dbg_cmd_hander(DBG_CMD_ON, DBG_M_DAU_TXRX); //dbg_cmd_hander(DBG_CMD_ON, DBG_M_DAU_TXRX);
//dbg_cmd_hander(DBG_CMD_ON, DBG_M_GPS); //dbg_cmd_hander(DBG_CMD_ON, DBG_M_GPS);
dbg_cmd_hander(DBG_CMD_ON, DBG_M_4G); //dbg_cmd_hander(DBG_CMD_ON, DBG_M_4G);
dbg_cmd_hander(DBG_CMD_ON, DBG_M_RS485_SEN); //dbg_cmd_hander(DBG_CMD_ON, DBG_M_RS485_SEN);
dbg_cmd_hander(DBG_CMD_ON, DBG_M_RS485_DEBUG); //dbg_cmd_hander(DBG_CMD_ON, DBG_M_RS485_DEBUG);
} }
/* 初始化 ADC 采样任务. */ /* 初始化 ADC 采样任务. */
@ -911,7 +915,7 @@ void cli_start(void const * argument)
if (!IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_ADJ) if (!IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_ADJ)
&& !IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_FACTORY)) && !IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_FACTORY))
{ {
wl_init(); //wl_init();
} }
/* 在这个标志置位前vty_print是原地循环等待,置位后变为任务调度. */ /* 在这个标志置位前vty_print是原地循环等待,置位后变为任务调度. */
@ -940,10 +944,6 @@ void cli_usart_data_buf_send(char *format, va_list ap)
uint16_t index = 0; uint16_t index = 0;
int16_t num = 0; int16_t num = 0;
/* 串口为中断发送,在没有发送完前不能写数据. */
while(HAL_UART_STATE_BUSY_TX == cli_uart->gState)
osThreadYield();
_cli_mutex_lock(); _cli_mutex_lock();
index = buf->index; index = buf->index;
@ -975,7 +975,7 @@ void cli_usart_data_buf_send_without_os(char *format, va_list ap)
if (vsnprintf(buf->buf, CLI_OUTPUT_SIZE, format, ap) > 0) if (vsnprintf(buf->buf, CLI_OUTPUT_SIZE, format, ap) > 0)
{ {
HAL_UART_Transmit_IT(cli_uart, (uint8_t*)buf->buf, strlen(buf->buf)); HAL_UART_Transmit(cli_uart, (uint8_t*)buf->buf, strlen(buf->buf), 1000);
} }
} }
@ -992,7 +992,8 @@ void cli_data_buf_send_hw(void)
_cli_mutex_lock(); _cli_mutex_lock();
if (buf->index > 0) if (buf->index > 0)
{ {
HAL_UART_Transmit_IT(cli_uart, (uint8_t*)buf->buf, buf->index); memcpy(cli_machine.buf_dma, buf->buf, buf->index);
HAL_UART_Transmit_DMA(cli_uart, (uint8_t*)cli_machine.buf_dma, buf->index);
buf->index = 0; buf->index = 0;
} }
_cli_mutex_unlock(); _cli_mutex_unlock();

@ -53,7 +53,7 @@
#include "RS485_debug.h" #include "RS485_debug.h"
/* Private define ------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/
#define DAU_WAVE_WAIT_MAX 3 // DAU 波形等待次数 #define DAU_WAVE_WAIT_MAX 4 // DAU 波形等待次数
/* 全局状态寄存器地址 -------------------------------- */ /* 全局状态寄存器地址 -------------------------------- */
#define DAU_REG_ADDR_GSCR 0x0000 // 全局状态寄存器 - 软件特征寄存器 #define DAU_REG_ADDR_GSCR 0x0000 // 全局状态寄存器 - 软件特征寄存器
@ -94,6 +94,7 @@
#define DAU_REG_ADDR_GCFTR 0x0203 // 全局控制寄存器 - 故障触发录波控制寄存器 #define DAU_REG_ADDR_GCFTR 0x0203 // 全局控制寄存器 - 故障触发录波控制寄存器
#define DAU_REG_ADDR_GCRTR 0x0204 // 全局控制寄存器 - 寄存器触发录波控制寄存器 #define DAU_REG_ADDR_GCRTR 0x0204 // 全局控制寄存器 - 寄存器触发录波控制寄存器
#define DAU_REG_ADDR_GCUR 0x0205 // 全局控制寄存器 - UTC 配置寄存器 #define DAU_REG_ADDR_GCUR 0x0205 // 全局控制寄存器 - UTC 配置寄存器
#define DAU_REG_ADDR_GCFTTR 0x0207 // 全局控制寄存器 - 故障电流触发阈值寄存器
#define DAU_REG_ADDR_GSUDR 0x0e00 // 全局控制寄存器 - 固件升级数据寄存器 #define DAU_REG_ADDR_GSUDR 0x0e00 // 全局控制寄存器 - 固件升级数据寄存器
@ -121,6 +122,12 @@
#define DAU_REG_ADDR_PMSR 0x0300 // 通道状态寄存器 - 缺陷电流通道周波原始采样值的平均值寄存器 #define DAU_REG_ADDR_PMSR 0x0300 // 通道状态寄存器 - 缺陷电流通道周波原始采样值的平均值寄存器
#define DAU_REG_ADDR_PPWR 0x03b0 // 通道状态寄存器 - 通道录波数据寄存器 #define DAU_REG_ADDR_PPWR 0x03b0 // 通道状态寄存器 - 通道录波数据寄存器
#define DAU_REG_ADDR_PORT_BASE 0x1000 // 通道配置寄存器基地址
#define DAU_REG_ADDR_PORT_DEFECT_BASE 0x0 // 通道配置寄存器 - 缺陷电流通道零点原始值寄存器
#define DAU_REG_ADDR_PORT_FAULT_BASE 0x1 // 通道配置寄存器 - 故障电流通道零点原始值寄存器
#define DAU_REG_ADDR_PORT_DEFECT_ADJ 0xC // 通道配置寄存器 - 缺陷电流通道校准系数 a 寄存器
#define DAU_ID 0x0702 // DAU 软件识别码 #define DAU_ID 0x0702 // DAU 软件识别码
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
@ -164,6 +171,7 @@ int8_t _dau_spi_rw;
uint16_t _dau_spi_addr; uint16_t _dau_spi_addr;
uint16_t _dau_spi_len; uint16_t _dau_spi_len;
int8_t g_is_adj_status = 0; // 1:采集 2:采集完成 int8_t g_is_adj_status = 0; // 1:采集 2:采集完成
uint8_t is_OK = FALSE;
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
/* Internal functions --------------------------------------------------------*/ /* Internal functions --------------------------------------------------------*/
@ -324,7 +332,7 @@ static void _dau_data_save(void)
fd_data.vsc = ADC_ctrl.ADCi_vsc; fd_data.vsc = ADC_ctrl.ADCi_vsc;
for(i = 0; i < DAU_PORT_DEFECT_CNT; i++) for(i = 0; i < DAU_PORT_DEFECT_CNT; i++)
{ {
fd_data.defect[i] = dau_ctrl.reg_port_state.MAX[i]; fd_data.defect[i] = dau_ctrl.reg_port_state.DMAX[i];
} }
for(i = 0; i < DAU_PORT_DEFECT_CNT; i++) for(i = 0; i < DAU_PORT_DEFECT_CNT; i++)
{ {
@ -345,7 +353,7 @@ int32_t _dau_update(void)
uint16_t cnt = 0; uint16_t cnt = 0;
uint16_t page_cnt = 0; uint16_t page_cnt = 0;
//uint32_t app_len = wl_ctrl.app_len; //uint32_t app_len = wl_ctrl.app_len;
uint32_t app_len = 476549; uint32_t app_len = 900879;
uint32_t len = 0; uint32_t len = 0;
uint32_t addr = TFTP_APP_ADDRESS; uint32_t addr = TFTP_APP_ADDRESS;
int32_t rv = HAL_ERROR; int32_t rv = HAL_ERROR;
@ -383,9 +391,9 @@ int32_t _dau_update(void)
cnt = 0; cnt = 0;
while(1) while(1)
{ {
osDelay(200); osDelay(100);
cnt++; cnt++;
if (cnt > 3) if (cnt > 6)
{ {
DBG(DBG_M_DAU, "DAU update timeout\r\n"); DBG(DBG_M_DAU, "DAU update timeout\r\n");
return HAL_TIMEOUT; return HAL_TIMEOUT;
@ -425,6 +433,7 @@ int32_t _dau_update(void)
void _dau_utc(void) void _dau_utc(void)
{ {
uint32_t *utc = (uint32_t*)&dau_ctrl.buf_dau_tx[2]; uint32_t *utc = (uint32_t*)&dau_ctrl.buf_dau_tx[2];
uint16_t *temp = (uint16_t*)&dau_ctrl.buf_dau_tx[2];
/* dau 主循环大概 250ms 运行一次, 在第 3 次循环 (500 ~ 750ms) 对时, 此时 GPS 对时一定是可用的 */ /* dau 主循环大概 250ms 运行一次, 在第 3 次循环 (500 ~ 750ms) 对时, 此时 GPS 对时一定是可用的 */
if (50000000 < dau_ctrl.reg_global.GNR && dau_ctrl.reg_global.GNR <= 75000000 if (50000000 < dau_ctrl.reg_global.GNR && dau_ctrl.reg_global.GNR <= 75000000
@ -435,6 +444,13 @@ void _dau_utc(void)
_dau_reg_write(DAU_REG_ADDR_GCUR, sizeof(uint32_t)); _dau_reg_write(DAU_REG_ADDR_GCUR, sizeof(uint32_t));
vty_print("Change\r\n"); vty_print("Change\r\n");
vty_print("%d %d %d %d\r\n", dau_ctrl.reg_global.GUR, dau_ctrl.reg_global.GNR, dau_ctrl.is_utc_valid, dau_ctrl.utc); vty_print("%d %d %d %d\r\n", dau_ctrl.reg_global.GUR, dau_ctrl.reg_global.GNR, dau_ctrl.is_utc_valid, dau_ctrl.utc);
*temp = 0x234;
_dau_reg_write(DAU_REG_ADDR_GCFTTR, sizeof(uint16_t));
*temp = 1;
_dau_reg_write(0xf, sizeof(uint16_t));
osDelay(3000);
*temp = 0;
_dau_reg_write(0xf, sizeof(uint16_t));
} }
} }
@ -459,7 +475,7 @@ int32_t _dau_wave_col_start(void)
DBG(DBG_M_DAU, "DAU wave err\r\n", rv); DBG(DBG_M_DAU, "DAU wave err\r\n", rv);
return HAL_TIMEOUT; return HAL_TIMEOUT;
} }
osDelay(3000); osDelay(1000);
E_RETURN(_dau_reg_read_global_state()); E_RETURN(_dau_reg_read_global_state());
if ((dau_ctrl.reg_global.GRTR & DAU_GRTR_COMPLETE_Msk) >> DAU_GRTR_COMPLETE_Pos) if ((dau_ctrl.reg_global.GRTR & DAU_GRTR_COMPLETE_Msk) >> DAU_GRTR_COMPLETE_Pos)
@ -479,11 +495,11 @@ int32_t _dau_wave_col_start(void)
return: HAL_xxx */ return: HAL_xxx */
int32_t _dau_wave_col_fault(void) int32_t _dau_wave_col_fault(void)
{ {
#if 0
uint16_t *reg = (uint16_t*)&dau_ctrl.buf_dau_tx[2]; uint16_t *reg = (uint16_t*)&dau_ctrl.buf_dau_tx[2];
uint8_t i = 0; uint8_t i = 0;
uint8_t j = 0; uint8_t j = 0;
uint32_t addr = 0; uint32_t addr = 0;
int32_t rv = HAL_ERROR;
/* 读取触发电流值 */ /* 读取触发电流值 */
E_RETURN(_dau_reg_read_port_state()); E_RETURN(_dau_reg_read_port_state());
@ -493,7 +509,7 @@ int32_t _dau_wave_col_fault(void)
/* 读取故障数据 */ /* 读取故障数据 */
for(i = 0; i < DAU_PORT_FAULT_CNT; i++) for(i = 0; i < DAU_PORT_FAULT_CNT; i++)
{ {
dau_ctrl.fault_trig[i] = dau_ctrl.reg_port_state.FAULT[i]; dau_ctrl.fault_trig[i] = dau_ctrl.reg_port_state.FMAX[i];
/* 请求读取故障波形 */ /* 请求读取故障波形 */
*reg = DAU_GCFTR_FAULT_WAVE_Msk | (i << DAU_GCFTR_PORT_Pos); *reg = DAU_GCFTR_FAULT_WAVE_Msk | (i << DAU_GCFTR_PORT_Pos);
@ -508,7 +524,7 @@ int32_t _dau_wave_col_fault(void)
DBG(DBG_M_DAU, "DAU fault wave err\r\n"); DBG(DBG_M_DAU, "DAU fault wave err\r\n");
return HAL_TIMEOUT; return HAL_TIMEOUT;
} }
osDelay(10); osDelay(5);
E_RETURN(_dau_reg_read_global_state()); E_RETURN(_dau_reg_read_global_state());
if ((dau_ctrl.reg_global.GFTR & DAU_GFTR_FAULT_WAVE_Msk) >> DAU_GFTR_FAULT_WAVE_Pos) if ((dau_ctrl.reg_global.GFTR & DAU_GFTR_FAULT_WAVE_Msk) >> DAU_GFTR_FAULT_WAVE_Pos)
@ -516,19 +532,23 @@ int32_t _dau_wave_col_fault(void)
break; break;
} }
vty_print("#D8 %d\r\n", j);
j++; j++;
} }
for(j = 0; j < DAU_PKT_FAULT_CNT; j++) for(j = 0; j < DAU_PKT_FAULT_CNT; j++)
{ {
E_RETURN(_dau_reg_read(DAU_REG_ADDR_PFWR + i, DAU_PKT_FAULT_BYTE_CNT)); vty_print("%d %d\r\n", i, j);
E_RETURN(_dau_reg_read(DAU_REG_ADDR_PPWR, DAU_PKT_FAULT_BYTE_CNT));
E_RETURN(spi_flash_write(addr, &dau_ctrl.buf_dau_rx[2], DAU_PKT_FAULT_BYTE_CNT)); E_RETURN(spi_flash_write(addr, &dau_ctrl.buf_dau_rx[2], DAU_PKT_FAULT_BYTE_CNT));
addr += DAU_PKT_FAULT_BYTE_CNT; addr += DAU_PKT_FAULT_BYTE_CNT;
osDelay(200);
} }
vty_print("FA%d\r\n", i);
} }
return HAL_OK; return HAL_OK;
#endif #if 0
uint8_t i = 0; uint8_t i = 0;
uint8_t j = 0; uint8_t j = 0;
uint32_t addr = 0; uint32_t addr = 0;
@ -550,6 +570,7 @@ int32_t _dau_wave_col_fault(void)
vty_print("#D2 %x\r\n", addr); vty_print("#D2 %x\r\n", addr);
return rv; return rv;
#endif
} }
/* description: 缺陷波形采集 /* description: 缺陷波形采集
@ -568,8 +589,8 @@ int32_t _dau_wave_col_defect(void)
E_RETURN(_dau_reg_read_port_state()); E_RETURN(_dau_reg_read_port_state());
for(i = 0; i < DAU_PORT_DEFECT_CNT; i++) for(i = 0; i < DAU_PORT_DEFECT_CNT; i++)
{ {
dau_ctrl.reg_defect_max[i] = dau_ctrl.reg_port_state.MAX[i]; dau_ctrl.reg_defect_max[i] = dau_ctrl.reg_port_state.DMAX[i];
if (dau_ctrl.reg_port_state.MAX[i] > dev_config.defect_threshold) if (dau_ctrl.reg_port_state.DMAX[i] > dev_config.defect_threshold)
{ {
is_exceed = TRUE; is_exceed = TRUE;
} }
@ -749,7 +770,7 @@ int32_t _dau_wave_col_power(DAU_SOURCE_E source)
for(j = 0; j < DAU_PKT_POWER_CNT; j++) for(j = 0; j < DAU_PKT_POWER_CNT; j++)
{ {
E_RETURN(_dau_reg_read(DAU_REG_ADDR_PPWR, DAU_PKT_POWER_BYTE_CNT)); E_RETURN(_dau_reg_read(DAU_REG_ADDR_PPWR, DAU_PKT_POWER_BYTE_CNT));
osDelay(200); //osDelay(200);
memcpy(power, &dau_ctrl.buf_dau_rx[2], DAU_PKT_POWER_BYTE_CNT); memcpy(power, &dau_ctrl.buf_dau_rx[2], DAU_PKT_POWER_BYTE_CNT);
power += DAU_PKT_POWER_BYTE_CNT >> 1; power += DAU_PKT_POWER_BYTE_CNT >> 1;
} }
@ -802,12 +823,13 @@ void _dau_power_calculate(DAU_SOURCE_E source)
/* 遍历通道所有值, 求和, 并计算出最大值和最小值. */ /* 遍历通道所有值, 求和, 并计算出最大值和最小值. */
for(i = 0; i < DAU_POWER_DATE_LEN; i++) for(i = 0; i < DAU_POWER_DATE_LEN; i++)
{ {
square_sum += val[ch][i] * val[ch][i]; square_sum += (val[ch][i] - 0x167) * (val[ch][i] - 0x167);
mean_sum += val[ch][i]; mean_sum += val[ch][i] - 0x167;
} }
/* 根据数据查找数据落在哪个分段点上. */ /* 根据数据查找数据落在哪个分段点上. */
temp = (double)sqrt(square_sum / DAU_POWER_DATE_LEN) - abs(mean_sum / DAU_POWER_DATE_LEN); temp = (double)sqrt(square_sum / DAU_POWER_DATE_LEN) - abs(mean_sum / DAU_POWER_DATE_LEN);
vty_print("#DP%d %f\r\n", ch, temp);
for(adj = 0; adj < DAU_POWER_ADJ_CNT - 1; adj++) for(adj = 0; adj < DAU_POWER_ADJ_CNT - 1; adj++)
{ {
if (temp <= dev_config.ADC_base[ch][adj]) if (temp <= dev_config.ADC_base[ch][adj])
@ -930,9 +952,9 @@ HAL_StatusTypeDef _dau_base_auto(uint8_t ch_bitmap, uint8_t index)
return: HAL_xxx */ return: HAL_xxx */
int32_t _dau_wave_col_trigger_by_fault(void) int32_t _dau_wave_col_trigger_by_fault(void)
{ {
#if 0
uint8_t i = 0; uint8_t i = 0;
uint32_t addr = 0; uint32_t addr = 0;
int32_t rv = HAL_ERROR;
/* 上次触发没有完成直接退出 */ /* 上次触发没有完成直接退出 */
if (!IS_MONITOR_BIT_SET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP)) if (!IS_MONITOR_BIT_SET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP))
@ -963,10 +985,10 @@ int32_t _dau_wave_col_trigger_by_fault(void)
/* 置标志位 */ /* 置标志位 */
MONITOR_BITMAP_RESET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP); MONITOR_BITMAP_RESET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP);
is_OK = TRUE;
return HAL_OK; return HAL_OK;
#endif
#if 0
static uint8_t temp = FALSE; static uint8_t temp = FALSE;
if (temp) if (temp)
{ {
@ -1001,6 +1023,7 @@ int32_t _dau_wave_col_trigger_by_fault(void)
MONITOR_BITMAP_RESET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP); MONITOR_BITMAP_RESET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP);
return rv; return rv;
#endif
} }
/* description: 寄存器触发波形采集 /* description: 寄存器触发波形采集
@ -1012,21 +1035,22 @@ int32_t _dau_wave_col_trigger_by_reg(void)
int32_t rv = HAL_ERROR; int32_t rv = HAL_ERROR;
/* 上次触发没有完成直接退出 */ /* 上次触发没有完成直接退出 */
if (!IS_MONITOR_BIT_SET(dau_ctrl.col_flag, DAU_COL_FLAG_REG_CMP)) //if (!IS_MONITOR_BIT_SET(dau_ctrl.col_flag, DAU_COL_FLAG_REG_CMP))
{ //{
return HAL_OK; // return HAL_OK;
} //}
/* 定时开始采集 */ /* 定时开始采集 */
tick = HAL_GetTick(); //tick = HAL_GetTick();
if ((tick - dau_ctrl.col_time) < (dev_config.collect_interval * 60000) //if ((tick - dau_ctrl.col_time) < (dev_config.collect_interval * 60000)
&& !IS_MONITOR_BIT_SET(dau_ctrl.col_flag, DAU_COL_FLAG_WAVE_FORCE)) // && !IS_MONITOR_BIT_SET(dau_ctrl.col_flag, DAU_COL_FLAG_WAVE_FORCE))
{ //{
return HAL_OK; // return HAL_OK;
} //}
E_RETURN(_dau_wave_col_start()); E_RETURN(_dau_wave_col_start());
//E_RETURN(_dau_wave_col_defect()); //E_RETURN(_dau_wave_col_defect());
//common_watchdog_set(COM_WDG_DAU);
E_RETURN(_dau_wave_col_power(DAU_SOURCE_REG)); E_RETURN(_dau_wave_col_power(DAU_SOURCE_REG));
_dau_power_calculate(DAU_SOURCE_REG); _dau_power_calculate(DAU_SOURCE_REG);
@ -1044,6 +1068,9 @@ int32_t _dau_wave_col_trigger_by_reg(void)
static void _dau_init(void) static void _dau_init(void)
{ {
char version[DEV_COMPILE_TIME_LEN] = {0}; char version[DEV_COMPILE_TIME_LEN] = {0};
uint16_t *temp = (uint16_t*)&dau_ctrl.buf_dau_tx[2];
uint16_t addr = 0;
uint8_t i = 0;
dau_ctrl.spi = &hspi1; dau_ctrl.spi = &hspi1;
@ -1076,7 +1103,10 @@ static void _dau_init(void)
HAL_GPIO_WritePin(DAU_RST_GPIO_Port, DAU_RST_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(DAU_RST_GPIO_Port, DAU_RST_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(POWER_DAU_GPIO_Port, POWER_DAU_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(POWER_DAU_GPIO_Port, POWER_DAU_Pin, GPIO_PIN_SET);
osDelay(1000); osDelay(10000);
common_watchdog_set(COM_WDG_DAU);
osDelay(10000);
common_watchdog_set(COM_WDG_DAU);
/* 读取 FPGA 版本信息 */ /* 读取 FPGA 版本信息 */
if (HAL_OK == _dau_reg_read_global_state()) if (HAL_OK == _dau_reg_read_global_state())
@ -1088,6 +1118,28 @@ static void _dau_init(void)
common_sys_set(COM_SYS_SAVE_INFO, 0); common_sys_set(COM_SYS_SAVE_INFO, 0);
} }
} }
/* 配置校准系数 */
for(i = 0; i < DAU_PORT_DEFECT_MAX - 1; i++)
{
addr = (i + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_DEFECT_BASE;
//*temp = dev_config.defect_base[i];
*temp = 0x0000;
_dau_reg_write(addr, sizeof(uint16_t));
addr = (i + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_DEFECT_ADJ;
//*temp = dev_config.ADC_adj[i][0];
*temp = 3276;
_dau_reg_write(addr, sizeof(uint16_t));
}
for(i = 0; i < DAU_PORT_FAULT_MAX - 1; i++)
{
addr = (i + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_FAULT_BASE;
//*temp = dev_config.fault_base[i];
*temp = 0x0000;
_dau_reg_write(addr, sizeof(uint16_t));
}
} }
/* description: DAU 主任务循环 /* description: DAU 主任务循环
@ -1095,8 +1147,8 @@ static void _dau_init(void)
return: */ return: */
static void _dau_start(void *argument) static void _dau_start(void *argument)
{ {
//uint16_t *buf = (uint16_t*)(&dau_ctrl.buf_dau_rx[2]); uint16_t *buf = (uint16_t*)(&dau_ctrl.buf_dau_rx[2]);
uint16_t *buf = NULL; //uint16_t *buf = NULL;
uint32_t addr = 0; uint32_t addr = 0;
uint8_t i = 0; uint8_t i = 0;
uint8_t j = 0; uint8_t j = 0;
@ -1108,7 +1160,7 @@ static void _dau_start(void *argument)
for (;;) for (;;)
{ {
osDelay(5000); osDelay(1250);
common_watchdog_set(COM_WDG_DAU); common_watchdog_set(COM_WDG_DAU);
/* 读取全局状态寄存器 */ /* 读取全局状态寄存器 */
@ -1138,20 +1190,22 @@ static void _dau_start(void *argument)
//_dau_wave_col_trigger_by_fault(); //_dau_wave_col_trigger_by_fault();
/* 循环工频缺陷电流采集 */ /* 循环工频缺陷电流采集 */
//_dau_wave_col_trigger_by_reg(); _dau_wave_col_trigger_by_reg();
if (1){
#if 0 #if 0
addr = dau_ctrl.addr_reg; addr = dau_ctrl.addr_reg;
for(i = 0; i < 3; i++) for(i = 0; i < 1; i++)
{ {
common_watchdog_set(COM_WDG_DAU);
vty_print("DEFECT %x %d\r\n", addr, i); vty_print("DEFECT %x %d\r\n", addr, i);
for(j = 0; j < DAU_PKT_DEFECT_CNT; j++) for(j = 0; j < DAU_PKT_DEFECT_CNT; j++)
{ {
common_watchdog_set(COM_WDG_DAU);
spi_flash_read(addr, &dau_ctrl.buf_dau_rx[2], 1024); spi_flash_read(addr, &dau_ctrl.buf_dau_rx[2], 1024);
addr += DAU_PKT_DEFECT_BYTE_CNT; addr += DAU_PKT_DEFECT_BYTE_CNT;
for(k = 0; k < 512;) for(k = 0; k < 512;)
{ {
common_watchdog_set(COM_WDG_DAU);
vty_print("%04x ", buf[k++]); vty_print("%04x ", buf[k++]);
if(0 == k % 32) if(0 == k % 32)
{ {
@ -1169,16 +1223,42 @@ static void _dau_start(void *argument)
} }
#endif #endif
#if 0 #if 0
for(i = 0; i < DAU_PORT_POWER_CNT; i++) //for(i = 5; i < DAU_PORT_POWER_CNT; i++)
for(i = 5; i < 6; i++)
{ {
common_watchdog_set(COM_WDG_DAU);
vty_print("POWER %d\r\n", i); vty_print("POWER %d\r\n", i);
buf = (uint16_t*)dau_ctrl.reg_power[i]; buf = (uint16_t*)dau_ctrl.reg_power[i];
for(j = 0; j < DAU_PKT_POWER_CNT; j++) for(j = 0; j < DAU_PKT_POWER_CNT; j++)
{ {
common_watchdog_set(COM_WDG_DAU);
for(k = 0; k < 512;) for(k = 0; k < 512;)
{ {
vty_print("%-04x ", buf[k++]); vty_print("%-04x ", buf[k++]);
if(0 == (j*512+k ) % 40)
{
osDelay(100);
vty_print("\r\n");
}
}
buf += 512;
}
vty_print("\r\n");
}
#endif
#if 0
addr = dau_ctrl.addr_fault;
for(i = 0; i < 1; i++)
{
common_watchdog_set(COM_WDG_DAU);
vty_print("FAULT %x %d\r\n", addr, i);
for(j = 0; j < DAU_PKT_FAULT_CNT; j++)
{
spi_flash_read(addr, &dau_ctrl.buf_dau_rx[2], 1024);
addr += DAU_PKT_FAULT_BYTE_CNT;
for(k = 0; k < 512;)
{
common_watchdog_set(COM_WDG_DAU);
vty_print("%04x ", buf[k++]);
if(0 == k % 32) if(0 == k % 32)
{ {
osDelay(100); osDelay(100);
@ -1190,16 +1270,41 @@ static void _dau_start(void *argument)
osDelay(100); osDelay(100);
vty_print("\r\n"); vty_print("\r\n");
} }
}
vty_print("\r\n");
}
#endif
#if 0
for(i = 0; i < DAU_PORT_POWER_CNT; i++)
{
common_watchdog_set(COM_WDG_DAU);
vty_print("POWER %d\r\n", i);
buf = (uint16_t*)dau_ctrl.fault_power[i];
for(j = 0; j < DAU_PKT_POWER_CNT; j++)
{
for(k = 0; k < 512;)
{
vty_print("%-04x ", buf[k++]);
if(0 == (j*512+k ) % 40)
{
osDelay(100);
vty_print("\r\n");
}
}
buf += 512; buf += 512;
} }
vty_print("\r\n"); vty_print("\r\n");
} }
#endif #endif
#if 0
while(1) while(1)
{ {
osDelay(500); osDelay(500);
common_watchdog_set(COM_WDG_DAU); common_watchdog_set(COM_WDG_DAU);
//_dau_reg_read_port_state();
//vty_print("%d\r\n", dau_ctrl.reg_port_state.DAVR[0]);
#if 1
if (1 == _dau_spi_rw) if (1 == _dau_spi_rw)
{ {
_dau_spi_rw = 0; _dau_spi_rw = 0;
@ -1212,7 +1317,10 @@ static void _dau_start(void *argument)
_dau_spi_rw = 0; _dau_spi_rw = 0;
_dau_reg_write(_dau_spi_addr, 2); _dau_reg_write(_dau_spi_addr, 2);
} }
#endif
} }
#endif
}
} }
} }

@ -186,6 +186,17 @@ static HAL_StatusTypeDef _dev_config_default_set(void)
dev_config.vin = DEV_VIN_ADJ_DEFAULT; dev_config.vin = DEV_VIN_ADJ_DEFAULT;
dev_config.vin_adj = DEV_VIN_ADJ_DEFAULT; dev_config.vin_adj = DEV_VIN_ADJ_DEFAULT;
for(i = 0; i < DAU_PORT_DEFECT_MAX; i++)
{
dev_config.defect_base[i] = 0x8000;
dev_config.ADC_adj[i][0] = 3276;
}
for(i = 0; i < DAU_PORT_FAULT_MAX; i++)
{
dev_config.fault_base[i] = 0x8000;
}
dev_config.keepalive = 5; dev_config.keepalive = 5;
dev_config.collect_interval = 10; dev_config.collect_interval = 10;
snprintf(dev_config.APN, DEV_APN_LEN, "CMIOT"); snprintf(dev_config.APN, DEV_APN_LEN, "CMIOT");

@ -50,6 +50,12 @@ void MX_DMA_Init(void)
/* DMA1_Channel3_IRQn interrupt configuration */ /* DMA1_Channel3_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel3_IRQn, 5, 0); HAL_NVIC_SetPriority(DMA1_Channel3_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel3_IRQn); HAL_NVIC_EnableIRQ(DMA1_Channel3_IRQn);
/* DMA1_Channel4_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
/* DMA1_Channel5_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
/* DMA1_Channel6_IRQn interrupt configuration */ /* DMA1_Channel6_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 5, 0); HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn); HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
@ -59,9 +65,6 @@ void MX_DMA_Init(void)
/* DMA2_Channel4_IRQn interrupt configuration */ /* DMA2_Channel4_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Channel4_IRQn, 5, 0); HAL_NVIC_SetPriority(DMA2_Channel4_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Channel4_IRQn); HAL_NVIC_EnableIRQ(DMA2_Channel4_IRQn);
/* DMA2_Channel5_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Channel5_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Channel5_IRQn);
} }

@ -60,6 +60,9 @@ void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE, POWER_GPS_Pin|POWER_DAU_Pin|POWER_4G_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOE, POWER_GPS_Pin|POWER_DAU_Pin|POWER_4G_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(POWER_3V3_GPIO_Port, POWER_3V3_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(WDG_GPIO_Port, WDG_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(WDG_GPIO_Port, WDG_Pin, GPIO_PIN_RESET);
@ -78,21 +81,19 @@ void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOG, SPI_FLASH_WP_Pin|SPI_FLASH_CS_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOG, SPI_FLASH_WP_Pin|SPI_FLASH_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pins : PEPin PEPin PEPin */ /*Configure GPIO pins : POWER_GPS_Pin POWER_3V3_Pin POWER_DAU_Pin POWER_4G_Pin */
GPIO_InitStruct.Pin = POWER_GPS_Pin|POWER_DAU_Pin|POWER_4G_Pin; GPIO_InitStruct.Pin = POWER_GPS_Pin|POWER_3V3_Pin|POWER_DAU_Pin|POWER_4G_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pins : PE3 PE4 PE5 PE6 /*Configure GPIO pins : PE4 PE5 PE6 PE7
PE7 PE8 PE9 PE10 PE8 PE9 PE10 PE12
PE12 PE13 PE14 PE15 PE13 PE14 PE15 PE1 */
PE1 */ GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7
GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_12
|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_1;
|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15
|GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
@ -107,7 +108,7 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/*Configure GPIO pins : PFPin PFPin */ /*Configure GPIO pins : WDG_Pin DAU_RST_Pin */
GPIO_InitStruct.Pin = WDG_Pin|DAU_RST_Pin; GPIO_InitStruct.Pin = WDG_Pin|DAU_RST_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
@ -134,7 +135,7 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */ /*Configure GPIO pin : DAU_CS_Pin */
GPIO_InitStruct.Pin = DAU_CS_Pin; GPIO_InitStruct.Pin = DAU_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
@ -173,15 +174,15 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/*Configure GPIO pins : PDPin PDPin PDPin PDPin */ /*Configure GPIO pins : BAT_CHARGE_Pin BAT_CLK_Pin RS485_B_DE_Pin GPS_RST_Pin */
GPIO_InitStruct.Pin = BAT_CHARGE_Pin|BAT_CLK_Pin|RS485_B_DE_Pin|GPS_RST_Pin; GPIO_InitStruct.Pin = BAT_CHARGE_Pin|BAT_CLK_Pin|RS485_B_DE_Pin|GPS_RST_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/*Configure GPIO pins : PGPin PGPin PGPin PGPin /*Configure GPIO pins : RS485_A_DE_Pin LED_RUN_Pin POWER_RS485_Pin G4G_RST_Pin
PGPin */ SPI_FLASH_WP_Pin */
GPIO_InitStruct.Pin = RS485_A_DE_Pin|LED_RUN_Pin|POWER_RS485_Pin|G4G_RST_Pin GPIO_InitStruct.Pin = RS485_A_DE_Pin|LED_RUN_Pin|POWER_RS485_Pin|G4G_RST_Pin
|SPI_FLASH_WP_Pin; |SPI_FLASH_WP_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
@ -189,13 +190,13 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */ /*Configure GPIO pin : BAT_CHECK_Pin */
GPIO_InitStruct.Pin = BAT_CHECK_Pin; GPIO_InitStruct.Pin = BAT_CHECK_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(BAT_CHECK_GPIO_Port, &GPIO_InitStruct); HAL_GPIO_Init(BAT_CHECK_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */ /*Configure GPIO pin : SPI_FLASH_CS_Pin */
GPIO_InitStruct.Pin = SPI_FLASH_CS_Pin; GPIO_InitStruct.Pin = SPI_FLASH_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pull = GPIO_NOPULL;

@ -49,7 +49,7 @@
/* Private variables ---------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */ /* USER CODE BEGIN PV */
uint8_t system_init_flag = 0; // 表示程åºÂ<EFBFBD>å·²è¿â?ºÃ¥â?¦Â¥Ã¦â?œÂ<C593>作系çÂ??. uint8_t system_init_flag = 0; // 表示程序已è¿â?ºÃ¥â?¦Â¥Ã¦â?œÂÃ¤Â½Å“ç³»çÂ??.
/* USER CODE END PV */ /* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
@ -70,6 +70,7 @@ void MX_FREERTOS_Init(void);
*/ */
int main(void) int main(void)
{ {
/* USER CODE BEGIN 1 */ /* USER CODE BEGIN 1 */
__set_PRIMASK(0); __set_PRIMASK(0);
/* USER CODE END 1 */ /* USER CODE END 1 */
@ -108,13 +109,14 @@ int main(void)
/* Init scheduler */ /* Init scheduler */
osKernelInitialize(); osKernelInitialize();
/* Call init function for freertos objects (in freertos.c) */ /* Call init function for freertos objects (in cmsis_os2.c) */
MX_FREERTOS_Init(); MX_FREERTOS_Init();
/* Start scheduler */ /* Start scheduler */
osKernelStart(); osKernelStart();
/* We should never get here as control is now taken by the scheduler */ /* We should never get here as control is now taken by the scheduler */
/* Infinite loop */ /* Infinite loop */
/* USER CODE BEGIN WHILE */ /* USER CODE BEGIN WHILE */
while (1) while (1)

@ -20,7 +20,6 @@
/* Includes ------------------------------------------------------------------*/ /* Includes ------------------------------------------------------------------*/
#include "main.h" #include "main.h"
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
/* USER CODE END Includes */ /* USER CODE END Includes */
@ -63,6 +62,7 @@
*/ */
void HAL_MspInit(void) void HAL_MspInit(void)
{ {
/* USER CODE BEGIN MspInit 0 */ /* USER CODE BEGIN MspInit 0 */
/* USER CODE END MspInit 0 */ /* USER CODE END MspInit 0 */

@ -62,11 +62,13 @@ extern DMA_HandleTypeDef hdma_spi1_rx;
extern DMA_HandleTypeDef hdma_spi1_tx; extern DMA_HandleTypeDef hdma_spi1_tx;
extern SPI_HandleTypeDef hspi1; extern SPI_HandleTypeDef hspi1;
extern TIM_HandleTypeDef htim7; extern TIM_HandleTypeDef htim7;
extern DMA_HandleTypeDef hdma_uart4_rx; extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern DMA_HandleTypeDef hdma_usart2_rx; extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart3_rx; extern DMA_HandleTypeDef hdma_usart3_rx;
extern DMA_HandleTypeDef hdma_usart3_tx; extern DMA_HandleTypeDef hdma_usart3_tx;
extern UART_HandleTypeDef huart4; extern UART_HandleTypeDef huart4;
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3; extern UART_HandleTypeDef huart3;
/* USER CODE BEGIN EV */ /* USER CODE BEGIN EV */
@ -221,6 +223,34 @@ void DMA1_Channel3_IRQHandler(void)
/* USER CODE END DMA1_Channel3_IRQn 1 */ /* USER CODE END DMA1_Channel3_IRQn 1 */
} }
/**
* @brief This function handles DMA1 channel4 global interrupt.
*/
void DMA1_Channel4_IRQHandler(void)
{
/* USER CODE BEGIN DMA1_Channel4_IRQn 0 */
/* USER CODE END DMA1_Channel4_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart1_tx);
/* USER CODE BEGIN DMA1_Channel4_IRQn 1 */
/* USER CODE END DMA1_Channel4_IRQn 1 */
}
/**
* @brief This function handles DMA1 channel5 global interrupt.
*/
void DMA1_Channel5_IRQHandler(void)
{
/* USER CODE BEGIN DMA1_Channel5_IRQn 0 */
/* USER CODE END DMA1_Channel5_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart1_rx);
/* USER CODE BEGIN DMA1_Channel5_IRQn 1 */
/* USER CODE END DMA1_Channel5_IRQn 1 */
}
/** /**
* @brief This function handles DMA1 channel6 global interrupt. * @brief This function handles DMA1 channel6 global interrupt.
*/ */
@ -263,6 +293,20 @@ void SPI1_IRQHandler(void)
/* USER CODE END SPI1_IRQn 1 */ /* USER CODE END SPI1_IRQn 1 */
} }
/**
* @brief This function handles USART1 global interrupt.
*/
void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 0 */
/* USER CODE END USART1_IRQn 0 */
HAL_UART_IRQHandler(&huart1);
/* USER CODE BEGIN USART1_IRQn 1 */
/* USER CODE END USART1_IRQn 1 */
}
/** /**
* @brief This function handles USART2 global interrupt. * @brief This function handles USART2 global interrupt.
*/ */
@ -347,20 +391,6 @@ void DMA2_Channel4_IRQHandler(void)
/* USER CODE END DMA2_Channel4_IRQn 1 */ /* USER CODE END DMA2_Channel4_IRQn 1 */
} }
/**
* @brief This function handles DMA2 channel5 global interrupt.
*/
void DMA2_Channel5_IRQHandler(void)
{
/* USER CODE BEGIN DMA2_Channel5_IRQn 0 */
/* USER CODE END DMA2_Channel5_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_uart4_rx);
/* USER CODE BEGIN DMA2_Channel5_IRQn 1 */
/* USER CODE END DMA2_Channel5_IRQn 1 */
}
/* USER CODE BEGIN 1 */ /* USER CODE BEGIN 1 */
/* USER CODE END 1 */ /* USER CODE END 1 */

@ -39,7 +39,8 @@ UART_HandleTypeDef huart4;
UART_HandleTypeDef huart1; UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2; UART_HandleTypeDef huart2;
UART_HandleTypeDef huart3; UART_HandleTypeDef huart3;
DMA_HandleTypeDef hdma_uart4_rx; DMA_HandleTypeDef hdma_usart1_rx;
DMA_HandleTypeDef hdma_usart1_tx;
DMA_HandleTypeDef hdma_usart2_rx; DMA_HandleTypeDef hdma_usart2_rx;
DMA_HandleTypeDef hdma_usart3_rx; DMA_HandleTypeDef hdma_usart3_rx;
DMA_HandleTypeDef hdma_usart3_tx; DMA_HandleTypeDef hdma_usart3_tx;
@ -56,7 +57,7 @@ void MX_UART4_Init(void)
/* USER CODE END UART4_Init 1 */ /* USER CODE END UART4_Init 1 */
huart4.Instance = UART4; huart4.Instance = UART4;
huart4.Init.BaudRate = 115200; huart4.Init.BaudRate = 9600;
huart4.Init.WordLength = UART_WORDLENGTH_8B; huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1; huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE; huart4.Init.Parity = UART_PARITY_NONE;
@ -87,7 +88,7 @@ void MX_USART1_UART_Init(void)
/* USER CODE END USART1_Init 1 */ /* USER CODE END USART1_Init 1 */
huart1.Instance = USART1; huart1.Instance = USART1;
huart1.Init.BaudRate = 9600; huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Parity = UART_PARITY_NONE;
@ -203,24 +204,6 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
GPIO_InitStruct.Alternate = GPIO_AF8_UART4; GPIO_InitStruct.Alternate = GPIO_AF8_UART4;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* UART4 DMA Init */
/* UART4_RX Init */
hdma_uart4_rx.Instance = DMA2_Channel5;
hdma_uart4_rx.Init.Request = DMA_REQUEST_2;
hdma_uart4_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_uart4_rx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_uart4_rx.Init.MemInc = DMA_MINC_ENABLE;
hdma_uart4_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_uart4_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_uart4_rx.Init.Mode = DMA_NORMAL;
hdma_uart4_rx.Init.Priority = DMA_PRIORITY_LOW;
if (HAL_DMA_Init(&hdma_uart4_rx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_uart4_rx);
/* UART4 interrupt Init */ /* UART4 interrupt Init */
HAL_NVIC_SetPriority(UART4_IRQn, 6, 0); HAL_NVIC_SetPriority(UART4_IRQn, 6, 0);
HAL_NVIC_EnableIRQ(UART4_IRQn); HAL_NVIC_EnableIRQ(UART4_IRQn);
@ -258,6 +241,44 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
GPIO_InitStruct.Alternate = GPIO_AF7_USART1; GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USART1 DMA Init */
/* USART1_RX Init */
hdma_usart1_rx.Instance = DMA1_Channel5;
hdma_usart1_rx.Init.Request = DMA_REQUEST_2;
hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart1_rx.Init.Mode = DMA_NORMAL;
hdma_usart1_rx.Init.Priority = DMA_PRIORITY_LOW;
if (HAL_DMA_Init(&hdma_usart1_rx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart1_rx);
/* USART1_TX Init */
hdma_usart1_tx.Instance = DMA1_Channel4;
hdma_usart1_tx.Init.Request = DMA_REQUEST_2;
hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart1_tx.Init.Mode = DMA_NORMAL;
hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW;
if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
/* USART1 interrupt Init */
HAL_NVIC_SetPriority(USART1_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(USART1_IRQn);
/* USER CODE BEGIN USART1_MspInit 1 */ /* USER CODE BEGIN USART1_MspInit 1 */
/* USER CODE END USART1_MspInit 1 */ /* USER CODE END USART1_MspInit 1 */
@ -408,9 +429,6 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
*/ */
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1); HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1);
/* UART4 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
/* UART4 interrupt Deinit */ /* UART4 interrupt Deinit */
HAL_NVIC_DisableIRQ(UART4_IRQn); HAL_NVIC_DisableIRQ(UART4_IRQn);
/* USER CODE BEGIN UART4_MspDeInit 1 */ /* USER CODE BEGIN UART4_MspDeInit 1 */
@ -431,6 +449,12 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
*/ */
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
/* USART1 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
HAL_DMA_DeInit(uartHandle->hdmatx);
/* USART1 interrupt Deinit */
HAL_NVIC_DisableIRQ(USART1_IRQn);
/* USER CODE BEGIN USART1_MspDeInit 1 */ /* USER CODE BEGIN USART1_MspDeInit 1 */
/* USER CODE END USART1_MspDeInit 1 */ /* USER CODE END USART1_MspDeInit 1 */
@ -553,7 +577,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
notify_to_task(wl_ctrl.handle); notify_to_task(wl_ctrl.handle);
} }
else if (UART4 == huart->Instance) else if (USART1 == huart->Instance)
{ {
if (IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_CLI)) if (IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_CLI))
{ {
@ -592,7 +616,6 @@ void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{ {
if(USART2 == huart->Instance) if(USART2 == huart->Instance)
{ {
vty_print_usart("#U12\r\n");
HAL_UART_Abort(huart); HAL_UART_Abort(huart);
dau_ctrl.len_buf_gps = 0; dau_ctrl.len_buf_gps = 0;
dau_ctrl.is_half_buf_gps = FALSE; dau_ctrl.is_half_buf_gps = FALSE;
@ -600,14 +623,12 @@ void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
} }
if(USART3 == huart->Instance) if(USART3 == huart->Instance)
{ {
vty_print_usart("#U13\r\n");
HAL_UART_Abort(huart); HAL_UART_Abort(huart);
HAL_GPIO_WritePin(RS485_B_DE_GPIO_Port, RS485_B_DE_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(RS485_B_DE_GPIO_Port, RS485_B_DE_Pin, GPIO_PIN_RESET);
HAL_UARTEx_ReceiveToIdle_DMA(huart, wl_ctrl.dma_rx_buf, WL_DMA_RX_BUF_LEN); HAL_UARTEx_ReceiveToIdle_DMA(huart, wl_ctrl.dma_rx_buf, WL_DMA_RX_BUF_LEN);
} }
else if(UART4 == huart->Instance) else if(USART1 == huart->Instance)
{ {
vty_print_usart("#U14\r\n");
if (IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_CLI)) if (IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_CLI))
{ {
cli_buf.end = 0; cli_buf.end = 0;

@ -1915,6 +1915,9 @@ static void _wl_4G_hw_restart(void)
HAL_GPIO_WritePin(POWER_4G_GPIO_Port, POWER_4G_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(POWER_4G_GPIO_Port, POWER_4G_Pin, GPIO_PIN_RESET);
HAL_UART_Abort(wl_ctrl.uart); HAL_UART_Abort(wl_ctrl.uart);
HAL_UART_DeInit(wl_ctrl.uart); HAL_UART_DeInit(wl_ctrl.uart);
/* 初始化软硬件 */
osDelay(10000);
wl_ctrl.state = 0; wl_ctrl.state = 0;
wl_ctrl.send_cnt = 0; wl_ctrl.send_cnt = 0;
wl_ctrl.mul_idx = 0; wl_ctrl.mul_idx = 0;
@ -1922,9 +1925,6 @@ static void _wl_4G_hw_restart(void)
wl_ctrl.time_send = HAL_GetTick() + 20000; wl_ctrl.time_send = HAL_GetTick() + 20000;
wl_ctrl.err_cnt++; wl_ctrl.err_cnt++;
memset(&wl_buf_list_rx, 0, sizeof(wl_buf_list_t)); memset(&wl_buf_list_rx, 0, sizeof(wl_buf_list_t));
/* 初始化硬件 */
osDelay(10000);
MX_USART3_UART_Init(); MX_USART3_UART_Init();
_wl_4G_hw_init(); _wl_4G_hw_init();

File diff suppressed because it is too large Load Diff

@ -682,7 +682,7 @@
<settings> <settings>
<name>BICOMP</name> <name>BICOMP</name>
<archiveVersion>0</archiveVersion> <archiveVersion>0</archiveVersion>
<data /> <data></data>
</settings> </settings>
<settings> <settings>
<name>BUILDACTION</name> <name>BUILDACTION</name>
@ -1042,12 +1042,12 @@
<settings> <settings>
<name>BILINK</name> <name>BILINK</name>
<archiveVersion>0</archiveVersion> <archiveVersion>0</archiveVersion>
<data /> <data></data>
</settings> </settings>
<settings> <settings>
<name>Coder</name> <name>Coder</name>
<archiveVersion>0</archiveVersion> <archiveVersion>0</archiveVersion>
<data /> <data></data>
</settings> </settings>
</configuration> </configuration>
<group> <group>
@ -1062,9 +1062,6 @@
<name>User</name> <name>User</name>
<group> <group>
<name>Core</name> <name>Core</name>
<file>
<name>$PROJ_DIR$\..\Core\Src\adc.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\ADC_collect.c</name> <name>$PROJ_DIR$\..\Core\Src\ADC_collect.c</name>
</file> </file>
@ -1080,9 +1077,6 @@
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\dev_config.c</name> <name>$PROJ_DIR$\..\Core\Src\dev_config.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\Core\Src\dma.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\flash_if.c</name> <name>$PROJ_DIR$\..\Core\Src\flash_if.c</name>
</file> </file>
@ -1090,31 +1084,34 @@
<name>$PROJ_DIR$\..\Core\Src\flash_log.c</name> <name>$PROJ_DIR$\..\Core\Src\flash_log.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\freertos.c</name> <name>$PROJ_DIR$\..\Core\Src\FreeRTOS_CLI.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\FreeRTOS_CLI.c</name> <name>$PROJ_DIR$\..\Core\Src\RS485_debug.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\gpio.c</name> <name>$PROJ_DIR$\..\Core\Src\wireless.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\main.c</name> <name>$PROJ_DIR$\..\Core\Src\main.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\RS485_debug.c</name> <name>$PROJ_DIR$\..\Core\Src\gpio.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\rtc.c</name> <name>$PROJ_DIR$\..\Core\Src\freertos.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\spi.c</name> <name>$PROJ_DIR$\..\Core\Src\adc.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\stm32l4xx_hal_msp.c</name> <name>$PROJ_DIR$\..\Core\Src\dma.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\stm32l4xx_it.c</name> <name>$PROJ_DIR$\..\Core\Src\rtc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\spi.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\tim.c</name> <name>$PROJ_DIR$\..\Core\Src\tim.c</name>
@ -1123,7 +1120,10 @@
<name>$PROJ_DIR$\..\Core\Src\usart.c</name> <name>$PROJ_DIR$\..\Core\Src\usart.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Core\Src\wireless.c</name> <name>$PROJ_DIR$\..\Core\Src\stm32l4xx_it.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\stm32l4xx_hal_msp.c</name>
</file> </file>
</group> </group>
</group> </group>
@ -1138,9 +1138,6 @@
</group> </group>
<group> <group>
<name>STM32L4xx_HAL_Driver</name> <name>STM32L4xx_HAL_Driver</name>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c</name>
</file> </file>
@ -1148,16 +1145,13 @@
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c</name>
@ -1177,6 +1171,12 @@
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c</name>
</file> </file>
@ -1184,10 +1184,10 @@
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c</name> <name>$PROJ_DIR$\..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c</name>
@ -1219,9 +1219,6 @@
<name>Middlewares</name> <name>Middlewares</name>
<group> <group>
<name>FreeRTOS</name> <name>FreeRTOS</name>
<file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\croutine.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\croutine.c</name>
</file> </file>
@ -1229,29 +1226,33 @@
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\event_groups.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\event_groups.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\list.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\list.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\queue.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\portable\IAR\ARM_CM4F\port.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\portable\IAR\ARM_CM4F\portasm.s</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\tasks.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\queue.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\timers.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\tasks.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\timers.c</name> <name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\portable\IAR\ARM_CM4F\port.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Middlewares\Third_Party\FreeRTOS\Source\portable\IAR\ARM_CM4F\portasm.s</name>
</file> </file>
</group> </group>
</group> </group>
</project> </project>

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save