仓库提交练习
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.
 
 
 

136 lines
6.3 KiB

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