57 lines
2.2 KiB
C
57 lines
2.2 KiB
C
|
#ifndef MYMATTRESS_CTRL_H
|
|||
|
#define MYMATTRESS_CTRL_H
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C"
|
|||
|
{
|
|||
|
#endif
|
|||
|
#include "main.h"
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
* 数据包格式说明(十六进制表示):
|
|||
|
*
|
|||
|
* ┌────────┬─────┬────────────────────────────┬────────────┬────────┬──────┬───────┐
|
|||
|
* │ 0xAA │ LEN │ 0x01 ~ 0x06 │ STATUS │ p1~p12 │ CRC │ 0D 0A │
|
|||
|
* └────────┴─────┴────────────────────────────┴────────────┴────────┴──────┴───────┘
|
|||
|
* ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|||
|
* 起始字节 数据长度 设备标识(6字节) 状态位 12字节参数 CRC校验 尾部结束符
|
|||
|
*
|
|||
|
* 字段说明:
|
|||
|
* 0xAA :帧头,固定为 0xAA
|
|||
|
* LEN :总数据长度 全部数据
|
|||
|
* 0x01~0x06 :设备地址/ID(共6字节)
|
|||
|
* STATUS :状态码(功能/命令编号)
|
|||
|
* p1~p12 :参数字段(此处均为 0x00,共12字节)
|
|||
|
* CRC :CRC16-Modbus 校验码(高字节在前,低字节在后)起始字节 ~ 数据区
|
|||
|
* 0x0D 0x0A :帧尾,表示结束
|
|||
|
*
|
|||
|
* 示例数据帧(全部字段展开):
|
|||
|
* AA | 19 | 01 02 03 04 05 06 | XX | 00 00 00 00 00 00 00 00 00 00 00 00 | CRC_H CRC_L | 0D 0A
|
|||
|
*
|
|||
|
* 说明:
|
|||
|
* - XX 为具体的状态码(例如 0xA1 表示防褥疮模式等)
|
|||
|
* - CRC_H CRC_L 由 CRC16-Modbus 算法计算得出
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// Mattress control modes
|
|||
|
#define MODE_MANUAL 0xA0 // 手动压力控制
|
|||
|
#define MODE_PREVENTION 0xA1 // 防褥疮
|
|||
|
#define MODE_ADAPTIVE 0xA2 // 自适应模式
|
|||
|
#define MODE_ABAB 0xA3 // ABAB 交替充放气
|
|||
|
#define MODE_TURNING 0xA4 // 左右翻身
|
|||
|
#define MODE_FLOATING 0xA5 // 悬浮模式
|
|||
|
|
|||
|
// Softness settings
|
|||
|
#define SOFTNESS_SOFT 0xB1 // 软
|
|||
|
#define SOFTNESS_MEDIUM 0xB2 // 中
|
|||
|
#define SOFTNESS_HARD 0xB3 // 硬
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif // MYEDGE_AI_APP_H
|