98 lines
2.6 KiB
Plaintext
98 lines
2.6 KiB
Plaintext
上位机说明
|
||
由于MTU限制,建议采用分小包发送的方式进行数据读写,即上位机需要控制写入和读取的长度,不能过长,一般不超过20个字节
|
||
SERVER UUID:0X00FF
|
||
|
||
1. 写参数设置:
|
||
发送命令到UUID:0XFF01
|
||
格式:0xf0 byte1 byte2 byte3 ...数据(小端)
|
||
功能码 写地址 数据长度 数据
|
||
|
||
(1)电流:
|
||
起始地址:0x0180
|
||
总长度:0x0a
|
||
数据结构:
|
||
typedef struct
|
||
{
|
||
uint16_t magic;
|
||
struct _ch
|
||
{
|
||
uint16_t ad_4ma;
|
||
uint16_t ad_20ma;
|
||
} ch[2];
|
||
} cal_4_20ma_t;
|
||
|
||
|
||
(2)流量
|
||
起始地址:0x0188
|
||
总长度:0x14
|
||
数据结构:
|
||
typedef struct
|
||
{
|
||
int16_t flow_min;
|
||
int16_t flow_max;
|
||
} ad_flow_cal_t;
|
||
|
||
typedef struct
|
||
{
|
||
uint16_t magic;
|
||
uint16_t input_type;
|
||
int16_t min_flow[2];
|
||
ad_flow_cal_t ad_cal[2];
|
||
uint16_t pulse_coef[2];
|
||
uint16_t rsv[6];
|
||
} flow_config_t;
|
||
|
||
(3)深度
|
||
起始地址:0x0198
|
||
总长度:0x1e
|
||
数据结构:
|
||
typedef struct
|
||
{
|
||
uint16_t magic;
|
||
uint8_t input_type; // 0:正交 1:正交反向 2:方向脉冲 3:方向脉冲反向
|
||
uint8_t port; // 编码器端口
|
||
uint16_t N; //编码器系数分子
|
||
uint16_t M; //编码器系数分母
|
||
// int pluse_coef; // 脉冲系数0.001mm
|
||
int16_t min_depth; // 最小深度 mm
|
||
int16_t max_depth; // 最大深度 mm
|
||
int16_t sample_depth; // 采样深度 mm
|
||
int16_t depth_offset; // 默认深度偏移
|
||
int16_t min_valid_depth; // 最小有效深度
|
||
int16_t inc_pile_depth; // 允许换桩深度
|
||
uint16_t current_on_threshold; // 行走电机开启电流
|
||
uint16_t current_off_threshold; // 行走电机关闭电流
|
||
uint16_t move_on_duratino; // 持续时间
|
||
uint16_t move_off_duration; // 持续时间
|
||
uint16_t move_current_channel; //行走电流通道
|
||
} depth_config_t;
|
||
|
||
|
||
|
||
|
||
2. 读:
|
||
发送命令到UUID:0XFF01
|
||
格式:0xf1 byte1 byte2 byte3
|
||
功能码 地址 长度
|
||
监听UUID:0xff01即可得到数据
|
||
读取得到的数据前面包含发送的信息(发送的命令 + 数据),读取者需要自行处理前面多的数据
|
||
|
||
|
||
3. 上报实时数据:
|
||
接受端需要开启上报,发送0xF2命令到UUID:0XFF01
|
||
之后监听UUID:0XFF02即可得到实时数据
|
||
|
||
|
||
|
||
下位机说明
|
||
1. 如需添加上报数据,在 ble_gatts_server.c文件的notify_all_data 函数中添加即可
|
||
2. 如需响应上位机的控制,例如开始和暂停按键,则需要在 stm32/ModbusS.c 中的 ModBusWordWriteHook 函数中添加写入特定值的响应操作
|
||
目前只实现的配置参数保存的响应,其他的没有实现
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|