CIU32_L051_M307R/bsp/inc/bsp_history.h

81 lines
1.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/***
* @Author: mbw
* @Date: 2024-08-23 10:14:23
* @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2024-09-20 10:42:54
* @FilePath: \USART1_Interrupt - RT-Thread\bsp\inc\bsp_history.h
* @Description:
* @
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
*/
#ifndef __BSP_HISTORY_H__
#define __BSP_HISTORY_H__
#include "rtthread.h"
#include "rtdef.h"
#define HR_THREAD_STACK_SIZE (1024)
#define HR_THREAD_PRIORITY (10)
#define HR_THREAD_TIMESLICE (5)
/*一组数据帧:帧头(1字节) + 控制码(2字节) + 帧长度(1字节) + 数据(n字节) + 校验码 + 帧尾(1字节)*/
/*帧头0xAA*/
/*帧尾0x55*/
/*控制码:帧类型*/
/*帧长度:数据域长度*/
/*数据域:数据*/
/*校验码:数据域的校验和*/
#define FRAME_HEADER (0xAA)
#define FRAME_TAIL (0x55)
#define HOST_FRAME_MIN_LEN (6U)
#define FRAME_DATA_LEN (7U)
typedef enum
{
kNumOfRecords = 0U,
kAlarmRecord, // at least 200
kAlarmRcyRecord, // at least 200
kFaultRecord, // at least 100
kFaultRcyRecord, // at least 100
kPowerFailureRecord, // at least 50
kPowerOnRecord, // at least 50
kSensorFailureRecord, // at least 1
kGetCurrentTime,
} TeFrameC2;
#pragma pack(1)
typedef struct
{
rt_uint8_t year_h;
rt_uint8_t year_l;
rt_uint8_t month;
rt_uint8_t day;
rt_uint8_t hour;
rt_uint8_t minute;
} TsRecordsTime;
#pragma pack()
#pragma pack(1)
typedef struct
{
rt_uint8_t c1;
TeFrameC2 c2;
rt_uint8_t len;
rt_uint8_t data[];
} TsFrameData;
#pragma pack()
#pragma pack(1)
typedef struct
{
rt_uint8_t len;
rt_uint8_t buf[256];
} TsRawFrameData;
#pragma pack()
// extern rt_sem_t hr_rx_completion;
extern struct rt_completion hr_rx_completion;
#endif // !__BSP_HISTORY_H__