/* Automatically generated nanopb header */ /* Generated by nanopb-0.4.8 */ #ifndef PB_BSP_PV_PB_H_INCLUDED #define PB_BSP_PV_PB_H_INCLUDED #include "pb.h" #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. #endif /* Struct definitions */ /* 抛丸机器人作业参数结构体定义 作用:用于APP/遥控器与机器人控制系统之间的参数传输,涵盖操作模式、运动参数、摆臂参数、作业参数等核心配置 */ typedef struct _PV_struct_define { /* 操作模式(枚举值) 1 - 手动模式:人工摇杆/按键控制机器人所有动作 2 - 水平模式:适配水平作业面的半自动/手动操作 3 - 平面模式:适配平面作业面的操作(修正原文笔误:原"平民"为"平面") 4 - 竖直左模式:左侧垂直作业面(如船舶外壁左侧)操作 5 - 竖直右模式:右侧垂直作业面(如船舶外壁右侧)操作 6 - 水平区域自动:水平作业面的区域自动作业模式 7 - 平面区域自动:平面作业面的区域自动作业模式 */ int32_t Robot_Operation_Mode; /* 机器人移动速度(基础行走速度) 单位:0.1m/min(字段值×0.1=实际速度,如值为10则实际速度1m/min) 取值范围:0~180(对应实际0~18m/min,符合协议书中最大18m/min的要求) */ int32_t Robot_Move_Speed; /* 换道距离(自动换道功能的核心参数) 单位:mm(建议,可根据实际硬件标定调整) 作用:一键换道时机器人横向移动的距离,用于控制换道压边量 */ int32_t Robot_Change_Lane_Distance; /* 摆臂速度(抛丸/喷砂摆臂装置的摆动速度) 单位:°/s(度/秒) 取值要求:≥25(对应协议书中摆臂速度≥25°/S的要求) */ int32_t Robot_Swing_Speed; /* 摆臂角度设置模式(对称/非对称) 1 - 对称模式:摆臂以中心轴左右对称摆动 2 - 非对称模式:摆臂仅单侧(左/右)摆动 */ int32_t Robot_symmetricalOrNot; /* 对称模式下摆臂总摆动角度 单位:°(度) 示例:值为90则摆臂从-45°~+45°对称摆动 */ int32_t Robot_Swing_Range_Angle; /* 非对称模式下的摆动侧选择 1 - 左侧:仅摆臂左侧区域摆动 2 - 右侧:仅摆臂右侧区域摆动 */ int32_t Robot_asymmetricalAngleSetValue; /* 后退作业模式(抛丸/喷砂作业时的后退逻辑) 1 - 打退交替:作业一段距离后停止作业,后退指定距离再继续作业 2 - 边打边退:作业过程中同步后退,持续作业无中断 */ int32_t Robot_backMode; /* 打退交替模式下的后退距离 单位:mm(建议) 作用:打退交替时单次后退的距离,适配不同作业面的补抛需求 */ int32_t Robot_Back_Distance; /* 边打边退模式下的后退速度 单位:0.1m/min(同Robot_Move_Speed) 取值范围:0~180(对应实际0~18m/min) */ int32_t Robot_Back_Speed; /* 压力设置(抛丸/喷砂作业的介质压力) 单位:0.01MPa(建议,如值为50则实际0.5MPa) 作用:控制抛丸/喷砂的强度,适配不同表面处理等级(≥Sa2.5) */ int32_t Robot_Press_Set; /* 竖直微调(竖直作业模式下的位置微调量) 单位:mm(建议) 作用:竖直作业时微调机器人位置,补偿曲面/安装误差 */ int32_t Robot_Vertical_Adjust; /* 自动模式下的作业长度 单位:mm(建议) 作用:区域自动作业时,单次作业的纵向长度(完成后自动换道) */ int32_t Robot_Length_Homework; /* 自动模式下的作业宽度 单位:mm(建议) 作用:区域自动作业时,单次作业的横向宽度(默认适配110mm标准作业宽度) */ int32_t Robot_Width_Homework; } PV_struct_define; #ifdef __cplusplus extern "C" { #endif /* Initializer values for message structs */ #define PV_struct_define_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} #define PV_struct_define_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} /* Field tags (for use in manual encoding/decoding) */ #define PV_struct_define_Robot_Operation_Mode_tag 1 #define PV_struct_define_Robot_Move_Speed_tag 2 #define PV_struct_define_Robot_Change_Lane_Distance_tag 3 #define PV_struct_define_Robot_Swing_Speed_tag 4 #define PV_struct_define_Robot_symmetricalOrNot_tag 5 #define PV_struct_define_Robot_Swing_Range_Angle_tag 6 #define PV_struct_define_Robot_asymmetricalAngleSetValue_tag 7 #define PV_struct_define_Robot_backMode_tag 8 #define PV_struct_define_Robot_Back_Distance_tag 9 #define PV_struct_define_Robot_Back_Speed_tag 10 #define PV_struct_define_Robot_Press_Set_tag 11 #define PV_struct_define_Robot_Vertical_Adjust_tag 12 #define PV_struct_define_Robot_Length_Homework_tag 13 #define PV_struct_define_Robot_Width_Homework_tag 14 /* Struct field encoding specification for nanopb */ #define PV_struct_define_FIELDLIST(X, a) \ X(a, STATIC, SINGULAR, INT32, Robot_Operation_Mode, 1) \ X(a, STATIC, SINGULAR, INT32, Robot_Move_Speed, 2) \ X(a, STATIC, SINGULAR, INT32, Robot_Change_Lane_Distance, 3) \ X(a, STATIC, SINGULAR, INT32, Robot_Swing_Speed, 4) \ X(a, STATIC, SINGULAR, INT32, Robot_symmetricalOrNot, 5) \ X(a, STATIC, SINGULAR, INT32, Robot_Swing_Range_Angle, 6) \ X(a, STATIC, SINGULAR, INT32, Robot_asymmetricalAngleSetValue, 7) \ X(a, STATIC, SINGULAR, INT32, Robot_backMode, 8) \ X(a, STATIC, SINGULAR, INT32, Robot_Back_Distance, 9) \ X(a, STATIC, SINGULAR, INT32, Robot_Back_Speed, 10) \ X(a, STATIC, SINGULAR, INT32, Robot_Press_Set, 11) \ X(a, STATIC, SINGULAR, INT32, Robot_Vertical_Adjust, 12) \ X(a, STATIC, SINGULAR, INT32, Robot_Length_Homework, 13) \ X(a, STATIC, SINGULAR, INT32, Robot_Width_Homework, 14) #define PV_struct_define_CALLBACK NULL #define PV_struct_define_DEFAULT NULL extern const pb_msgdesc_t PV_struct_define_msg; /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ #define PV_struct_define_fields &PV_struct_define_msg /* Maximum encoded size of messages (where known) */ #define BSP_PV_PB_H_MAX_SIZE PV_struct_define_size #define PV_struct_define_size 154 #ifdef __cplusplus } /* extern "C" */ #endif #endif