You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
6.9 KiB
147 lines
6.9 KiB
/* Automatically generated nanopb header */
|
|
/* Generated by nanopb-0.4.8 */
|
|
|
|
#ifndef PB_BSP_IV_PB_H_INCLUDED
|
|
#define PB_BSP_IV_PB_H_INCLUDED
|
|
#include "pb.h"
|
|
#include "bsp_PV.pb.h"
|
|
|
|
#if PB_PROTO_HEADER_VERSION != 40
|
|
#error Regenerate this file with the current version of nanopb generator.
|
|
#endif
|
|
|
|
/* Struct definitions */
|
|
/* 抛丸机器人状态采集参数结构体(IV:Input/Status Value)
|
|
作用:用于机器人控制系统向APP/上位机上报实时状态、传感器数据、故障报警信息 */
|
|
typedef struct _IV_struct_define {
|
|
/* 左侧补偿值(摆臂/位置角度补偿)
|
|
单位换算:发送值 ÷ 100 = 实际显示角度(°),例:发送100 → 显示1°,发送250 → 显示2.5° */
|
|
int32_t LeftCompensation;
|
|
/* 右侧补偿值(摆臂/位置角度补偿)
|
|
单位换算:发送值 ÷ 100 = 实际显示角度(°),例:发送100 → 显示1°,发送300 → 显示3° */
|
|
int32_t RightCompensation;
|
|
/* 机器人实际移动速度(派生采集值)
|
|
单位换算:发送值 ÷ 10 = 实际显示速度(m/min),例:发送100 → 显示10m/min,发送180 → 显示18m/min(最大速度)
|
|
作用:上报机器人当前行走速度,匹配协议书中0~18m/min的速度范围 */
|
|
int32_t Robot_Move_Deri_Speed;
|
|
/* 机器人陀螺仪角度(姿态检测)
|
|
单位换算:发送值 ÷ 100 = 实际显示角度(°),例:发送100 → 显示1°,发送9000 → 显示90°
|
|
作用:上报机器人当前姿态角度(水平/竖直/倾斜),用于作业面姿态校准 */
|
|
int32_t Robot_Gyro;
|
|
/* 距离传感器采集值(测距/避障)
|
|
单位换算:发送值 ÷ 10 = 实际显示距离(cm),例:发送100 → 显示10cm,发送500 → 显示50cm
|
|
作用:检测机器人与作业面/障碍物的距离,防止碰撞或吸附失效 */
|
|
int32_t Distance_Sensor;
|
|
/* 系统级错误码
|
|
取值规则:0 = 无错误;非0 = 错误类型(需配套错误码表)
|
|
错误类型:包含硬件通讯故障、按键未初始化故障等核心系统异常 */
|
|
int32_t SystemError;
|
|
/* 左轮电机报警状态
|
|
取值规则:0 = 正常(无报警);1 = 报警(过流/过载/堵转等)
|
|
作用:上报左轮驱动电机的故障状态,用于电机故障排查 */
|
|
int32_t Left_Motor_Err;
|
|
/* 右轮电机报警状态
|
|
取值规则:0 = 正常(无报警);1 = 报警(过流/过载/堵转等)
|
|
作用:上报右轮驱动电机的故障状态,用于电机故障排查 */
|
|
int32_t Right_Motor_Err;
|
|
/* 摆臂电机报警状态
|
|
取值规则:0 = 正常(无报警);1 = 报警(过流/过载/堵转等)
|
|
作用:上报抛丸/喷砂摆臂电机的故障状态,适配摆臂速度≥25°/S的作业要求 */
|
|
int32_t Swing_Motor_Err;
|
|
/* 机器人在线状态
|
|
取值规则:0 = 离线(通讯中断);1 = 在线(通讯正常)
|
|
作用:APP/上位机判断机器人通讯状态,离线时触发声光报警 */
|
|
int32_t Is_Online;
|
|
/* 备用数据1
|
|
用途:预留扩展字段,可用于后续新增传感器/状态采集(如吸附压力、吸尘装置状态等) */
|
|
int32_t Spara_Data_1;
|
|
/* 备用数据2
|
|
用途:预留扩展字段,可用于后续新增传感器/状态采集(如作业面温度等) */
|
|
int32_t Spara_Data_2;
|
|
/* 备用数据3
|
|
用途:预留扩展字段,可用于后续新增传感器/状态采集(如急停按钮状态、电池电量等) */
|
|
int32_t Spara_Data_3;
|
|
/* 焊缝数据 */
|
|
int32_t Weld_data;
|
|
/* 焊缝是否存在 */
|
|
int32_t Weld_exist;
|
|
/* 回转中心偏距 */
|
|
int32_t Turn_difference;
|
|
/* 当前压力 */
|
|
int32_t Present_press;
|
|
int32_t left_angle;
|
|
int32_t right_angle;
|
|
/* 检测机器人是否到达设定的启动时间 */
|
|
int32_t robot_start;
|
|
} IV_struct_define;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Initializer values for message structs */
|
|
#define IV_struct_define_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
#define IV_struct_define_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
|
|
/* Field tags (for use in manual encoding/decoding) */
|
|
#define IV_struct_define_LeftCompensation_tag 1
|
|
#define IV_struct_define_RightCompensation_tag 2
|
|
#define IV_struct_define_Robot_Move_Deri_Speed_tag 3
|
|
#define IV_struct_define_Robot_Gyro_tag 4
|
|
#define IV_struct_define_Distance_Sensor_tag 5
|
|
#define IV_struct_define_SystemError_tag 6
|
|
#define IV_struct_define_Left_Motor_Err_tag 7
|
|
#define IV_struct_define_Right_Motor_Err_tag 8
|
|
#define IV_struct_define_Swing_Motor_Err_tag 9
|
|
#define IV_struct_define_Is_Online_tag 10
|
|
#define IV_struct_define_Spara_Data_1_tag 11
|
|
#define IV_struct_define_Spara_Data_2_tag 12
|
|
#define IV_struct_define_Spara_Data_3_tag 13
|
|
#define IV_struct_define_Weld_data_tag 14
|
|
#define IV_struct_define_Weld_exist_tag 15
|
|
#define IV_struct_define_Turn_difference_tag 16
|
|
#define IV_struct_define_Present_press_tag 17
|
|
#define IV_struct_define_left_angle_tag 18
|
|
#define IV_struct_define_right_angle_tag 19
|
|
#define IV_struct_define_robot_start_tag 20
|
|
|
|
/* Struct field encoding specification for nanopb */
|
|
#define IV_struct_define_FIELDLIST(X, a) \
|
|
X(a, STATIC, SINGULAR, INT32, LeftCompensation, 1) \
|
|
X(a, STATIC, SINGULAR, INT32, RightCompensation, 2) \
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Move_Deri_Speed, 3) \
|
|
X(a, STATIC, SINGULAR, INT32, Robot_Gyro, 4) \
|
|
X(a, STATIC, SINGULAR, INT32, Distance_Sensor, 5) \
|
|
X(a, STATIC, SINGULAR, INT32, SystemError, 6) \
|
|
X(a, STATIC, SINGULAR, INT32, Left_Motor_Err, 7) \
|
|
X(a, STATIC, SINGULAR, INT32, Right_Motor_Err, 8) \
|
|
X(a, STATIC, SINGULAR, INT32, Swing_Motor_Err, 9) \
|
|
X(a, STATIC, SINGULAR, INT32, Is_Online, 10) \
|
|
X(a, STATIC, SINGULAR, INT32, Spara_Data_1, 11) \
|
|
X(a, STATIC, SINGULAR, INT32, Spara_Data_2, 12) \
|
|
X(a, STATIC, SINGULAR, INT32, Spara_Data_3, 13) \
|
|
X(a, STATIC, SINGULAR, INT32, Weld_data, 14) \
|
|
X(a, STATIC, SINGULAR, INT32, Weld_exist, 15) \
|
|
X(a, STATIC, SINGULAR, INT32, Turn_difference, 16) \
|
|
X(a, STATIC, SINGULAR, INT32, Present_press, 17) \
|
|
X(a, STATIC, SINGULAR, INT32, left_angle, 18) \
|
|
X(a, STATIC, SINGULAR, INT32, right_angle, 19) \
|
|
X(a, STATIC, SINGULAR, INT32, robot_start, 20)
|
|
#define IV_struct_define_CALLBACK NULL
|
|
#define IV_struct_define_DEFAULT NULL
|
|
|
|
extern const pb_msgdesc_t IV_struct_define_msg;
|
|
|
|
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
|
#define IV_struct_define_fields &IV_struct_define_msg
|
|
|
|
/* Maximum encoded size of messages (where known) */
|
|
#define BSP_IV_PB_H_MAX_SIZE IV_struct_define_size
|
|
#define IV_struct_define_size 225
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif
|
|
|