/* 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