Skip to content

Instantly share code, notes, and snippets.

@CodeFoodPixels
Created March 31, 2024 01:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CodeFoodPixels/3ff6c153df08901b6819a25e9b9c50d0 to your computer and use it in GitHub Desktop.
Save CodeFoodPixels/3ff6c153df08901b6819a25e9b9c50d0 to your computer and use it in GitHub Desktop.
Protobuf workstatus
import work_status_pb2
workstatus = work_status_pb2.WorkStatus()
workstatus.ParseFromString(b"\x10\x052\x00")
print(workstatus.State.Name(workstatus.state))
syntax = "proto3";
// option optimize_for = LITE_RUNTIME;
package proto.cloud;
message WorkStatus {
// 刚开机时,不用传 mode,由手机 app 自行决定展示默认值
// mode 由手机 app 下发或按键更改,回复值和上次相同
message Mode {
enum Value {
AUTO = 0; // 全局自动清洁
SELECT_ROOM = 1; // 选房清洁
SELECT_ZONE = 2; // 选区清洁
SPOT = 3; // 定点清洁
FAST_MAPPING = 4; // 快速建图
GLOBAL_CRUISE = 5; // 全屋巡航
ZONES_CRUISE = 6; // 选区巡航
POINT_CRUISE = 7; // 指哪巡航(精准到达)
SCENE = 8; // 场景清洁
SMART_FOLLOW = 9; // 智能跟随
}
Value value = 1;
}
Mode mode = 1;
enum State {
STANDBY = 0; // 待机、建图暂停、暂停清洁、暂停回洗、暂停回充、暂停巡航、寻找机器人
SLEEP = 1; // 休眠
FAULT = 2; // 故障
CHARGING = 3; // 升级中(未来可能考虑非充电状态也能升级)、充电中、充电完成、充电异常
FAST_MAPPING = 4; // 定位中、快速建图
CLEANING = 5; // 定位中、全局清洁、选区清洁、划区清洁、定点清洁、回洗拖布中、清洗拖布中
REMOTE_CTRL = 6; // 遥控中
GO_HOME = 7; // 定位中、回充中(包括清洁完成回充、低电回充)
CRUISIING = 8; // 定位中、巡航中
}
State state = 2;
// 某一时刻以下子状态可能存在一个或同时存在多个
// 隐含规则:下面 message 如果不存在表示该子状态为 IDLE
message Charging {
enum State {
DOING = 0;
DONE = 1;
ABNORMAL = 2; // 充电异常(充电弹片接触但无法充电)
}
State state = 1;
}
Charging charging = 3;
message Upgrading {
enum State {
DOING = 0;
DONE = 1;
}
State state = 1;
}
Upgrading upgrading = 4;
message Mapping { // 快速建图、清洁建图都会有这个 message
enum RunState {
DOING = 0;
PAUSED = 1;
}
RunState state = 1;
enum Mode {
MAPPING = 0; // [兼容字段,4.1 废弃]
RELOCATING = 1; // [兼容字段,4.1 废弃]
}
Mode mode = 2; // [兼容字段,4.1 废弃]
}
Mapping mapping = 5;
message Cleaning {
enum RunState {
DOING = 0;
PAUSED = 1;
}
RunState state = 1;
enum Mode {
CLEANING = 0;
RELOCATING = 1; // [兼容字段,4.1 废弃]
GOTO_POS = 2;
POOP_CLEANING = 3; // 便便补扫
}
Mode mode = 2;
bool scheduled_task = 3; // 是否在执行预约定时任务
}
Cleaning cleaning = 6;
message GoWash {
enum RunState {
DOING = 0;
PAUSED = 1;
}
RunState state = 1;
enum Mode {
NAVIGATION = 0; // 回洗
WASHING = 1; // 清洗拖布中
DRYING = 2; // 烘干拖布中(严格意义不属于回洗)
}
Mode mode = 2;
}
GoWash go_wash = 7;
message GoHome {
enum RunState {
DOING = 0;
PAUSED = 1;
}
RunState state = 1;
enum Mode {
COMPLETE_TASK = 0; // 完成任务回充
COLLECT_DUST = 1; // 中途集尘回充
OTHRERS = 10; // 其他回充
}
Mode mode = 2;
}
GoHome go_home = 8;
message Cruisiing {
enum RunState {
DOING = 0;
PAUSED = 1;
}
RunState state = 1;
enum Mode {
RELOCATING = 0; // [兼容字段,4.1 废弃]
CRUISIING = 1; // [兼容字段,4.1 废弃]
}
Mode mode = 2; // [兼容字段,4.1 废弃]
}
Cruisiing cruisiing = 9;
message Relocating {
enum State {
DOING = 0;
}
State state = 1;
}
Relocating relocating = 10;
message Breakpoint {
enum State {
DOING = 0;
}
State state = 1;
}
Breakpoint breakpoint = 11;
message RollerBrushCleaning {
enum State {
DOING = 0;
}
State state = 1;
}
RollerBrushCleaning roller_brush_cleaning = 12;
message SmartFollow {
enum State {
DOING = 0;
}
State state = 1;
enum Mode {
FOLLOWING = 0; // 跟随中
SEARCHING = 1; // 搜索目标中
}
Mode mode = 2;
uint32 elapsed_time = 3; // 已执行时间
uint32 area = 4; // 面积
}
SmartFollow smart_follow = 13;
message Station {
// 注水系统,操作对象:机器人水箱
message WaterInjectionSystem {
enum State {
ADDING = 0; // 注水中
EMPTYING = 1; // 排水中
}
State state = 1;
}
WaterInjectionSystem water_injection_system = 1;
// 集尘系统,操作对象:机器人集尘盒
message DustCollectionSystem {
enum State {
EMPTYING = 0; // 排空中
}
State state = 1;
}
DustCollectionSystem dust_collection_system = 2;
// 洗和烘干系统,操作对象:机器人拖布
message WashingDryingSystem {
enum State {
WASHING = 0; // 洗拖布中
DRYING = 1; // 烘干拖布中
}
State state = 1;
}
WashingDryingSystem washing_drying_system = 3;
// 基站水箱状态
message WaterTankState {
bool clear_water_adding = 1; // 清水添加中
bool waste_water_recycling = 2; // 污水回收中
}
WaterTankState water_tank_state = 4;
}
Station station = 14; // 从 x10 项目开始使用这里的基站状态,station dp 的状态保留但不做逻辑处理
message Scene {
uint32 id = 1;
uint32 elapsed_time = 2; // 已执行时间,0 有效
uint32 estimate_time = 3; // 预估完成时间,0 无效
string name = 4;
enum TaskMode {
AUTO = 0; // 全局自动清洁
SELECT_ROOM = 1; // 选房清洁
SELECT_ZONE = 2; // 选区清洁
}
TaskMode task_mode = 5;
// 后面这里加上场景的时间线
// ...
}
Scene current_scene = 19;
message Trigger {
enum Source {
UNKNOWN = 0; // 来源未知,如:刚开机
APP = 1; // 手机 app 或者其他调试工具
KEY = 2; // 按键,如:暂停、继续、停止、回充等
TIMING = 3; // 定时,如:每天清洁、每周清洁等
ROBOT = 4; // 机器人,如:低电、故障、清洁完成等
REMOTE_CTRL = 5; // 遥控器, 如:遥控器按键
}
Source source = 1;
}
Trigger trigger = 20;
}
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: work_status.proto
# Protobuf Python Version: 5.26.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11work_status.proto\x12\x0bproto.cloud\"\xc4 \n\nWorkStatus\x12*\n\x04mode\x18\x01 \x01(\x0b\x32\x1c.proto.cloud.WorkStatus.Mode\x12,\n\x05state\x18\x02 \x01(\x0e\x32\x1d.proto.cloud.WorkStatus.State\x12\x32\n\x08\x63harging\x18\x03 \x01(\x0b\x32 .proto.cloud.WorkStatus.Charging\x12\x34\n\tupgrading\x18\x04 \x01(\x0b\x32!.proto.cloud.WorkStatus.Upgrading\x12\x30\n\x07mapping\x18\x05 \x01(\x0b\x32\x1f.proto.cloud.WorkStatus.Mapping\x12\x32\n\x08\x63leaning\x18\x06 \x01(\x0b\x32 .proto.cloud.WorkStatus.Cleaning\x12/\n\x07go_wash\x18\x07 \x01(\x0b\x32\x1e.proto.cloud.WorkStatus.GoWash\x12/\n\x07go_home\x18\x08 \x01(\x0b\x32\x1e.proto.cloud.WorkStatus.GoHome\x12\x34\n\tcruisiing\x18\t \x01(\x0b\x32!.proto.cloud.WorkStatus.Cruisiing\x12\x36\n\nrelocating\x18\n \x01(\x0b\x32\".proto.cloud.WorkStatus.Relocating\x12\x36\n\nbreakpoint\x18\x0b \x01(\x0b\x32\".proto.cloud.WorkStatus.Breakpoint\x12J\n\x15roller_brush_cleaning\x18\x0c \x01(\x0b\x32+.proto.cloud.WorkStatus.RollerBrushCleaning\x12\x39\n\x0csmart_follow\x18\r \x01(\x0b\x32#.proto.cloud.WorkStatus.SmartFollow\x12\x30\n\x07station\x18\x0e \x01(\x0b\x32\x1f.proto.cloud.WorkStatus.Station\x12\x34\n\rcurrent_scene\x18\x13 \x01(\x0b\x32\x1d.proto.cloud.WorkStatus.Scene\x12\x30\n\x07trigger\x18\x14 \x01(\x0b\x32\x1f.proto.cloud.WorkStatus.Trigger\x1a\xdf\x01\n\x04Mode\x12\x31\n\x05value\x18\x01 \x01(\x0e\x32\".proto.cloud.WorkStatus.Mode.Value\"\xa3\x01\n\x05Value\x12\x08\n\x04\x41UTO\x10\x00\x12\x0f\n\x0bSELECT_ROOM\x10\x01\x12\x0f\n\x0bSELECT_ZONE\x10\x02\x12\x08\n\x04SPOT\x10\x03\x12\x10\n\x0c\x46\x41ST_MAPPING\x10\x04\x12\x11\n\rGLOBAL_CRUISE\x10\x05\x12\x10\n\x0cZONES_CRUISE\x10\x06\x12\x10\n\x0cPOINT_CRUISE\x10\x07\x12\t\n\x05SCENE\x10\x08\x12\x10\n\x0cSMART_FOLLOW\x10\t\x1am\n\x08\x43harging\x12\x35\n\x05state\x18\x01 \x01(\x0e\x32&.proto.cloud.WorkStatus.Charging.State\"*\n\x05State\x12\t\n\x05\x44OING\x10\x00\x12\x08\n\x04\x44ONE\x10\x01\x12\x0c\n\x08\x41\x42NORMAL\x10\x02\x1a\x61\n\tUpgrading\x12\x36\n\x05state\x18\x01 \x01(\x0e\x32\'.proto.cloud.WorkStatus.Upgrading.State\"\x1c\n\x05State\x12\t\n\x05\x44OING\x10\x00\x12\x08\n\x04\x44ONE\x10\x01\x1a\xbe\x01\n\x07Mapping\x12\x37\n\x05state\x18\x01 \x01(\x0e\x32(.proto.cloud.WorkStatus.Mapping.RunState\x12\x32\n\x04mode\x18\x02 \x01(\x0e\x32$.proto.cloud.WorkStatus.Mapping.Mode\"!\n\x08RunState\x12\t\n\x05\x44OING\x10\x00\x12\n\n\x06PAUSED\x10\x01\"#\n\x04Mode\x12\x0b\n\x07MAPPING\x10\x00\x12\x0e\n\nRELOCATING\x10\x01\x1a\xfb\x01\n\x08\x43leaning\x12\x38\n\x05state\x18\x01 \x01(\x0e\x32).proto.cloud.WorkStatus.Cleaning.RunState\x12\x33\n\x04mode\x18\x02 \x01(\x0e\x32%.proto.cloud.WorkStatus.Cleaning.Mode\x12\x16\n\x0escheduled_task\x18\x03 \x01(\x08\"!\n\x08RunState\x12\t\n\x05\x44OING\x10\x00\x12\n\n\x06PAUSED\x10\x01\"E\n\x04Mode\x12\x0c\n\x08\x43LEANING\x10\x00\x12\x0e\n\nRELOCATING\x10\x01\x12\x0c\n\x08GOTO_POS\x10\x02\x12\x11\n\rPOOP_CLEANING\x10\x03\x1a\xc7\x01\n\x06GoWash\x12\x36\n\x05state\x18\x01 \x01(\x0e\x32\'.proto.cloud.WorkStatus.GoWash.RunState\x12\x31\n\x04mode\x18\x02 \x01(\x0e\x32#.proto.cloud.WorkStatus.GoWash.Mode\"!\n\x08RunState\x12\t\n\x05\x44OING\x10\x00\x12\n\n\x06PAUSED\x10\x01\"/\n\x04Mode\x12\x0e\n\nNAVIGATION\x10\x00\x12\x0b\n\x07WASHING\x10\x01\x12\n\n\x06\x44RYING\x10\x02\x1a\xd0\x01\n\x06GoHome\x12\x36\n\x05state\x18\x01 \x01(\x0e\x32\'.proto.cloud.WorkStatus.GoHome.RunState\x12\x31\n\x04mode\x18\x02 \x01(\x0e\x32#.proto.cloud.WorkStatus.GoHome.Mode\"!\n\x08RunState\x12\t\n\x05\x44OING\x10\x00\x12\n\n\x06PAUSED\x10\x01\"8\n\x04Mode\x12\x11\n\rCOMPLETE_TASK\x10\x00\x12\x10\n\x0c\x43OLLECT_DUST\x10\x01\x12\x0b\n\x07OTHRERS\x10\n\x1a\xc6\x01\n\tCruisiing\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.proto.cloud.WorkStatus.Cruisiing.RunState\x12\x34\n\x04mode\x18\x02 \x01(\x0e\x32&.proto.cloud.WorkStatus.Cruisiing.Mode\"!\n\x08RunState\x12\t\n\x05\x44OING\x10\x00\x12\n\n\x06PAUSED\x10\x01\"%\n\x04Mode\x12\x0e\n\nRELOCATING\x10\x00\x12\r\n\tCRUISIING\x10\x01\x1aY\n\nRelocating\x12\x37\n\x05state\x18\x01 \x01(\x0e\x32(.proto.cloud.WorkStatus.Relocating.State\"\x12\n\x05State\x12\t\n\x05\x44OING\x10\x00\x1aY\n\nBreakpoint\x12\x37\n\x05state\x18\x01 \x01(\x0e\x32(.proto.cloud.WorkStatus.Breakpoint.State\"\x12\n\x05State\x12\t\n\x05\x44OING\x10\x00\x1ak\n\x13RollerBrushCleaning\x12@\n\x05state\x18\x01 \x01(\x0e\x32\x31.proto.cloud.WorkStatus.RollerBrushCleaning.State\"\x12\n\x05State\x12\t\n\x05\x44OING\x10\x00\x1a\xdd\x01\n\x0bSmartFollow\x12\x38\n\x05state\x18\x01 \x01(\x0e\x32).proto.cloud.WorkStatus.SmartFollow.State\x12\x36\n\x04mode\x18\x02 \x01(\x0e\x32(.proto.cloud.WorkStatus.SmartFollow.Mode\x12\x14\n\x0c\x65lapsed_time\x18\x03 \x01(\r\x12\x0c\n\x04\x61rea\x18\x04 \x01(\r\"\x12\n\x05State\x12\t\n\x05\x44OING\x10\x00\"$\n\x04Mode\x12\r\n\tFOLLOWING\x10\x00\x12\r\n\tSEARCHING\x10\x01\x1a\xa5\x06\n\x07Station\x12T\n\x16water_injection_system\x18\x01 \x01(\x0b\x32\x34.proto.cloud.WorkStatus.Station.WaterInjectionSystem\x12T\n\x16\x64ust_collection_system\x18\x02 \x01(\x0b\x32\x34.proto.cloud.WorkStatus.Station.DustCollectionSystem\x12R\n\x15washing_drying_system\x18\x03 \x01(\x0b\x32\x33.proto.cloud.WorkStatus.Station.WashingDryingSystem\x12H\n\x10water_tank_state\x18\x04 \x01(\x0b\x32..proto.cloud.WorkStatus.Station.WaterTankState\x1a\x84\x01\n\x14WaterInjectionSystem\x12I\n\x05state\x18\x01 \x01(\x0e\x32:.proto.cloud.WorkStatus.Station.WaterInjectionSystem.State\"!\n\x05State\x12\n\n\x06\x41\x44\x44ING\x10\x00\x12\x0c\n\x08\x45MPTYING\x10\x01\x1ax\n\x14\x44ustCollectionSystem\x12I\n\x05state\x18\x01 \x01(\x0e\x32:.proto.cloud.WorkStatus.Station.DustCollectionSystem.State\"\x15\n\x05State\x12\x0c\n\x08\x45MPTYING\x10\x00\x1a\x81\x01\n\x13WashingDryingSystem\x12H\n\x05state\x18\x01 \x01(\x0e\x32\x39.proto.cloud.WorkStatus.Station.WashingDryingSystem.State\" \n\x05State\x12\x0b\n\x07WASHING\x10\x00\x12\n\n\x06\x44RYING\x10\x01\x1aK\n\x0eWaterTankState\x12\x1a\n\x12\x63lear_water_adding\x18\x01 \x01(\x08\x12\x1d\n\x15waste_water_recycling\x18\x02 \x01(\x08\x1a\xc1\x01\n\x05Scene\x12\n\n\x02id\x18\x01 \x01(\r\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\r\x12\x15\n\restimate_time\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x39\n\ttask_mode\x18\x05 \x01(\x0e\x32&.proto.cloud.WorkStatus.Scene.TaskMode\"6\n\x08TaskMode\x12\x08\n\x04\x41UTO\x10\x00\x12\x0f\n\x0bSELECT_ROOM\x10\x01\x12\x0f\n\x0bSELECT_ZONE\x10\x02\x1a\x92\x01\n\x07Trigger\x12\x36\n\x06source\x18\x01 \x01(\x0e\x32&.proto.cloud.WorkStatus.Trigger.Source\"O\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03\x41PP\x10\x01\x12\x07\n\x03KEY\x10\x02\x12\n\n\x06TIMING\x10\x03\x12\t\n\x05ROBOT\x10\x04\x12\x0f\n\x0bREMOTE_CTRL\x10\x05\"\x85\x01\n\x05State\x12\x0b\n\x07STANDBY\x10\x00\x12\t\n\x05SLEEP\x10\x01\x12\t\n\x05\x46\x41ULT\x10\x02\x12\x0c\n\x08\x43HARGING\x10\x03\x12\x10\n\x0c\x46\x41ST_MAPPING\x10\x04\x12\x0c\n\x08\x43LEANING\x10\x05\x12\x0f\n\x0bREMOTE_CTRL\x10\x06\x12\x0b\n\x07GO_HOME\x10\x07\x12\r\n\tCRUISIING\x10\x08\x62\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'work_status_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
DESCRIPTOR._loaded_options = None
_globals['_WORKSTATUS']._serialized_start=35
_globals['_WORKSTATUS']._serialized_end=4199
_globals['_WORKSTATUS_MODE']._serialized_start=901
_globals['_WORKSTATUS_MODE']._serialized_end=1124
_globals['_WORKSTATUS_MODE_VALUE']._serialized_start=961
_globals['_WORKSTATUS_MODE_VALUE']._serialized_end=1124
_globals['_WORKSTATUS_CHARGING']._serialized_start=1126
_globals['_WORKSTATUS_CHARGING']._serialized_end=1235
_globals['_WORKSTATUS_CHARGING_STATE']._serialized_start=1193
_globals['_WORKSTATUS_CHARGING_STATE']._serialized_end=1235
_globals['_WORKSTATUS_UPGRADING']._serialized_start=1237
_globals['_WORKSTATUS_UPGRADING']._serialized_end=1334
_globals['_WORKSTATUS_UPGRADING_STATE']._serialized_start=1193
_globals['_WORKSTATUS_UPGRADING_STATE']._serialized_end=1221
_globals['_WORKSTATUS_MAPPING']._serialized_start=1337
_globals['_WORKSTATUS_MAPPING']._serialized_end=1527
_globals['_WORKSTATUS_MAPPING_RUNSTATE']._serialized_start=1457
_globals['_WORKSTATUS_MAPPING_RUNSTATE']._serialized_end=1490
_globals['_WORKSTATUS_MAPPING_MODE']._serialized_start=1492
_globals['_WORKSTATUS_MAPPING_MODE']._serialized_end=1527
_globals['_WORKSTATUS_CLEANING']._serialized_start=1530
_globals['_WORKSTATUS_CLEANING']._serialized_end=1781
_globals['_WORKSTATUS_CLEANING_RUNSTATE']._serialized_start=1457
_globals['_WORKSTATUS_CLEANING_RUNSTATE']._serialized_end=1490
_globals['_WORKSTATUS_CLEANING_MODE']._serialized_start=1712
_globals['_WORKSTATUS_CLEANING_MODE']._serialized_end=1781
_globals['_WORKSTATUS_GOWASH']._serialized_start=1784
_globals['_WORKSTATUS_GOWASH']._serialized_end=1983
_globals['_WORKSTATUS_GOWASH_RUNSTATE']._serialized_start=1457
_globals['_WORKSTATUS_GOWASH_RUNSTATE']._serialized_end=1490
_globals['_WORKSTATUS_GOWASH_MODE']._serialized_start=1936
_globals['_WORKSTATUS_GOWASH_MODE']._serialized_end=1983
_globals['_WORKSTATUS_GOHOME']._serialized_start=1986
_globals['_WORKSTATUS_GOHOME']._serialized_end=2194
_globals['_WORKSTATUS_GOHOME_RUNSTATE']._serialized_start=1457
_globals['_WORKSTATUS_GOHOME_RUNSTATE']._serialized_end=1490
_globals['_WORKSTATUS_GOHOME_MODE']._serialized_start=2138
_globals['_WORKSTATUS_GOHOME_MODE']._serialized_end=2194
_globals['_WORKSTATUS_CRUISIING']._serialized_start=2197
_globals['_WORKSTATUS_CRUISIING']._serialized_end=2395
_globals['_WORKSTATUS_CRUISIING_RUNSTATE']._serialized_start=1457
_globals['_WORKSTATUS_CRUISIING_RUNSTATE']._serialized_end=1490
_globals['_WORKSTATUS_CRUISIING_MODE']._serialized_start=2358
_globals['_WORKSTATUS_CRUISIING_MODE']._serialized_end=2395
_globals['_WORKSTATUS_RELOCATING']._serialized_start=2397
_globals['_WORKSTATUS_RELOCATING']._serialized_end=2486
_globals['_WORKSTATUS_RELOCATING_STATE']._serialized_start=1193
_globals['_WORKSTATUS_RELOCATING_STATE']._serialized_end=1211
_globals['_WORKSTATUS_BREAKPOINT']._serialized_start=2488
_globals['_WORKSTATUS_BREAKPOINT']._serialized_end=2577
_globals['_WORKSTATUS_BREAKPOINT_STATE']._serialized_start=1193
_globals['_WORKSTATUS_BREAKPOINT_STATE']._serialized_end=1211
_globals['_WORKSTATUS_ROLLERBRUSHCLEANING']._serialized_start=2579
_globals['_WORKSTATUS_ROLLERBRUSHCLEANING']._serialized_end=2686
_globals['_WORKSTATUS_ROLLERBRUSHCLEANING_STATE']._serialized_start=1193
_globals['_WORKSTATUS_ROLLERBRUSHCLEANING_STATE']._serialized_end=1211
_globals['_WORKSTATUS_SMARTFOLLOW']._serialized_start=2689
_globals['_WORKSTATUS_SMARTFOLLOW']._serialized_end=2910
_globals['_WORKSTATUS_SMARTFOLLOW_STATE']._serialized_start=1193
_globals['_WORKSTATUS_SMARTFOLLOW_STATE']._serialized_end=1211
_globals['_WORKSTATUS_SMARTFOLLOW_MODE']._serialized_start=2874
_globals['_WORKSTATUS_SMARTFOLLOW_MODE']._serialized_end=2910
_globals['_WORKSTATUS_STATION']._serialized_start=2913
_globals['_WORKSTATUS_STATION']._serialized_end=3718
_globals['_WORKSTATUS_STATION_WATERINJECTIONSYSTEM']._serialized_start=3255
_globals['_WORKSTATUS_STATION_WATERINJECTIONSYSTEM']._serialized_end=3387
_globals['_WORKSTATUS_STATION_WATERINJECTIONSYSTEM_STATE']._serialized_start=3354
_globals['_WORKSTATUS_STATION_WATERINJECTIONSYSTEM_STATE']._serialized_end=3387
_globals['_WORKSTATUS_STATION_DUSTCOLLECTIONSYSTEM']._serialized_start=3389
_globals['_WORKSTATUS_STATION_DUSTCOLLECTIONSYSTEM']._serialized_end=3509
_globals['_WORKSTATUS_STATION_DUSTCOLLECTIONSYSTEM_STATE']._serialized_start=3488
_globals['_WORKSTATUS_STATION_DUSTCOLLECTIONSYSTEM_STATE']._serialized_end=3509
_globals['_WORKSTATUS_STATION_WASHINGDRYINGSYSTEM']._serialized_start=3512
_globals['_WORKSTATUS_STATION_WASHINGDRYINGSYSTEM']._serialized_end=3641
_globals['_WORKSTATUS_STATION_WASHINGDRYINGSYSTEM_STATE']._serialized_start=3609
_globals['_WORKSTATUS_STATION_WASHINGDRYINGSYSTEM_STATE']._serialized_end=3641
_globals['_WORKSTATUS_STATION_WATERTANKSTATE']._serialized_start=3643
_globals['_WORKSTATUS_STATION_WATERTANKSTATE']._serialized_end=3718
_globals['_WORKSTATUS_SCENE']._serialized_start=3721
_globals['_WORKSTATUS_SCENE']._serialized_end=3914
_globals['_WORKSTATUS_SCENE_TASKMODE']._serialized_start=3860
_globals['_WORKSTATUS_SCENE_TASKMODE']._serialized_end=3914
_globals['_WORKSTATUS_TRIGGER']._serialized_start=3917
_globals['_WORKSTATUS_TRIGGER']._serialized_end=4063
_globals['_WORKSTATUS_TRIGGER_SOURCE']._serialized_start=3984
_globals['_WORKSTATUS_TRIGGER_SOURCE']._serialized_end=4063
_globals['_WORKSTATUS_STATE']._serialized_start=4066
_globals['_WORKSTATUS_STATE']._serialized_end=4199
# @@protoc_insertion_point(module_scope)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment