# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: private_controller.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from . import messages_pb2 as messages__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18private_controller.proto\x12\x06robotc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x0emessages.proto\"4\n\x13\x45nableJointBacklash\x12\r\n\x05joint\x18\x01 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"D\n\x15\x45nableJointBacklashes\x12+\n\x06joints\x18\x01 \x03(\x0b\x32\x1b.robotc.EnableJointBacklash\"\xef\x01\n\x0f\x45xtraServoParam\x12\r\n\x05joint\x18\x01 \x01(\x05\x12\x17\n\x0f\x61\x63\x63_position_kp\x18\x02 \x01(\x01\x12\x14\n\x0c\x61\x63\x63_speed_kp\x18\x03 \x01(\x01\x12\x14\n\x0c\x61\x63\x63_speed_it\x18\x04 \x01(\x01\x12\x17\n\x0funi_position_kp\x18\x05 \x01(\x01\x12\x14\n\x0cuni_speed_kp\x18\x06 \x01(\x01\x12\x14\n\x0cuni_speed_it\x18\x07 \x01(\x01\x12\x17\n\x0f\x64\x65\x63_position_kp\x18\x08 \x01(\x01\x12\x14\n\x0c\x64\x65\x63_speed_kp\x18\t \x01(\x01\x12\x14\n\x0c\x64\x65\x63_speed_it\x18\n \x01(\x01\";\n\x10\x45xtraServoParams\x12\'\n\x06joints\x18\x01 \x03(\x0b\x32\x17.robotc.ExtraServoParam\"Y\n\rJointBacklash\x12\r\n\x05joint\x18\x01 \x01(\x05\x12\t\n\x01k\x18\x02 \x01(\r\x12\n\n\x02iq\x18\x03 \x01(\x01\x12\x10\n\x08iq_final\x18\x04 \x01(\x01\x12\x10\n\x08iq_count\x18\x05 \x01(\r\"8\n\x0fJointBacklashes\x12%\n\x06joints\x18\x01 \x03(\x0b\x32\x15.robotc.JointBacklash\"v\n\x12JointBacklashParam\x12\r\n\x05joint\x18\x01 \x01(\x05\x12\x1b\n\x13\x65ncoder_data_offset\x18\x02 \x01(\x05\x12\n\n\x02on\x18\x03 \x01(\r\x12\x0c\n\x04over\x18\x04 \x01(\r\x12\r\n\x05leave\x18\x05 \x01(\r\x12\x0b\n\x03max\x18\x06 \x01(\r\"A\n\x13JointBacklashParams\x12*\n\x06joints\x18\x01 \x03(\x0b\x32\x1a.robotc.JointBacklashParam\"2\n\tVoiceFile\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x0b\n\x03md5\x18\x03 \x01(\t\"=\n\x0bVoiceResult\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04step\x18\x02 \x01(\x05\x12\x14\n\x0cstepProgress\x18\x03 \x01(\x05\"\x1a\n\x0bTrueOrFalse\x12\x0b\n\x03val\x18\x01 \x01(\x08\"%\n\x10InstallDirection\x12\x11\n\tdirection\x18\x01 \x01(\x05\"O\n\x0bJointConfig\x12\x10\n\x08maxAngle\x18\x01 \x01(\x01\x12\x10\n\x08minAngle\x18\x02 \x01(\x01\x12\x0c\n\x04maxV\x18\x03 \x01(\x01\x12\x0e\n\x06maxAcc\x18\x04 \x01(\x01\"4\n\x0cJointConfigs\x12$\n\x07\x63onfigs\x18\x01 \x03(\x0b\x32\x13.robotc.JointConfig\"/\n\x0f\x43\x61rtesianConfig\x12\x0c\n\x04maxV\x18\x01 \x01(\x01\x12\x0e\n\x06maxAcc\x18\x02 \x01(\x01\"0\n\nSafetyPlat\x12\"\n\x06points\x18\x01 \x03(\x0b\x32\x12.robotc.Coordinate\"0\n\x0bSafetyPlats\x12!\n\x05plats\x18\x01 \x03(\x0b\x32\x12.robotc.SafetyPlat\"$\n\x13\x43ollisionTorqueDiff\x12\r\n\x05\x64iffs\x18\x01 \x03(\x01\"[\n\x11\x43ollisionDetector\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x11\n\tpauseTime\x18\x03 \x01(\x05\x12\x13\n\x0bsensitivity\x18\x04 \x01(\x05\"h\n\x08LEDStyle\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\r\n\x05speed\x18\x04 \x01(\x05\x12\r\n\x05\x63olor\x18\x05 \x03(\x05\x12\r\n\x05voice\x18\x01 \x01(\x05\x12\x0e\n\x06volume\x18\x02 \x01(\x05\x12\x11\n\trobotMode\x18\x06 \x01(\x05\"-\n\tLEDStyles\x12 \n\x06styles\x18\x10 \x03(\x0b\x32\x10.robotc.LEDStyle\"N\n\x0c\x42uttonConfig\x12\x12\n\nbtn_flan_1\x18\x01 \x01(\x08\x12\x12\n\nbtn_flan_2\x18\x02 \x01(\x08\x12\x16\n\x0e\x62tn_shoulder_0\x18\x03 \x01(\x08\"\xbb\x06\n\rConfiguration\x12\x32\n\x10installDirection\x18\x01 \x01(\x0b\x32\x18.robotc.InstallDirection\x12\x34\n\x11\x63ollisionDetector\x18\x02 \x01(\x0b\x32\x19.robotc.CollisionDetector\x12*\n\x0cjointConfigs\x18\x03 \x01(\x0b\x32\x14.robotc.JointConfigs\x12(\n\x0bsafetyPlats\x18\x04 \x01(\x0b\x32\x13.robotc.SafetyPlats\x12\x17\n\x03tcp\x18\x05 \x01(\x0b\x32\n.robotc.PR\x12 \n\x07payload\x18\x06 \x01(\x0b\x32\x0f.robotc.Payload\x12\x11\n\tenableDDS\x18\x07 \x01(\x08\x12\x38\n\x13\x63ollisionTorqueDiff\x18\x08 \x01(\x0b\x32\x1b.robotc.CollisionTorqueDiff\x12\x15\n\rrobotDIOInNum\x18\t \x01(\x05\x12\x16\n\x0erobotDIOOutNum\x18\n \x01(\x05\x12%\n\x10robotAIOInConfig\x18\x0b \x03(\x0b\x32\x0b.robotc.AIO\x12&\n\x11robotAIOOutConfig\x18\x0c \x03(\x0b\x32\x0b.robotc.AIO\x12\x13\n\x0btcpDIOInNum\x18\r \x01(\x05\x12\x14\n\x0ctcpDIOOutNum\x18\x0e \x01(\x05\x12\r\n\x05zeros\x18\x0f \x03(\x01\x12 \n\x06styles\x18\x10 \x03(\x0b\x32\x10.robotc.LEDStyle\x12\x13\n\x0b\x62reak_a_cup\x18\x11 \x01(\x08\x12+\n\rbutton_config\x18\x12 \x01(\x0b\x32\x14.robotc.ButtonConfig\x12\x30\n\x0f\x63\x61rtesianConfig\x18\x13 \x01(\x0b\x32\x17.robotc.CartesianConfig\x12\x1b\n\x13\x65xtra_robotDIOInNum\x18\x14 \x01(\x05\x12\x1c\n\x14\x65xtra_robotDIOOutNum\x18\x15 \x01(\x05\x12+\n\x16\x65xtra_robotAIOInConfig\x18\x16 \x03(\x0b\x32\x0b.robotc.AIO\x12,\n\x17\x65xtra_robotAIOOutConfig\x18\x17 \x03(\x0b\x32\x0b.robotc.AIO\"\x15\n\x04Zero\x12\r\n\x05zeros\x18\x01 \x03(\x01\"\xb1\x03\n\x06Notice\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.robotc.Notice.NoticeType\x12#\n\x02id\x18\x02 \x01(\x0e\x32\x17.robotc.Notice.NoticeId\x12\r\n\x05value\x18\x03 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x04 \x01(\x05\x12\x0b\n\x03lol\x18\x05 \x03(\x01\x12\r\n\x05\x63ount\x18\x06 \x01(\x05\"C\n\nNoticeType\x12\x10\n\x0cNOTICE_STATE\x10\x00\x12\x10\n\x0cNOTICE_ERROR\x10\x01\x12\x11\n\rNOTICE_BUTTON\x10\x02\"\xda\x01\n\x08NoticeId\x12\x1f\n\x1bNOTICE_ID_STATE_ROBOT_STATE\x10\x00\x12\x1a\n\x16NOTICE_ID_STATE_E_STOP\x10\x01\x12\x1f\n\x1bNOTICE_ID_STATE_DATA_UPDATE\x10\x02\x12\x13\n\x0fNOTICE_ID_ERROR\x10\x03\x12\x1d\n\x19NOTICE_ID_BUTTON_SHOULDER\x10\x04\x12\x1d\n\x19NOTICE_ID_BUTTON_FLANGE_1\x10\x05\x12\x1d\n\x19NOTICE_ID_BUTTON_FLANGE_2\x10\x06\"-\n\x0cNotification\x12\x1d\n\x05items\x18\x01 \x03(\x0b\x32\x0e.robotc.Notice\"Y\n\x06\x44river\x12\"\n\x08hardware\x18\x01 \x01(\x0b\x32\x10.robotc.Hardware\x12+\n\x0c\x63urPartition\x18\x02 \x01(\x0e\x32\x15.robotc.BootPartition\"\x8b\x01\n\nDriverInfo\x12\x1e\n\x06\x66lange\x18\x01 \x01(\x0b\x32\x0e.robotc.Driver\x12\x1b\n\x03led\x18\x02 \x01(\x0b\x32\x0e.robotc.Driver\x12\x1e\n\x06joints\x18\x03 \x03(\x0b\x32\x0e.robotc.Driver\x12 \n\x08\x63omboard\x18\x04 \x01(\x0b\x32\x0e.robotc.Driver\"5\n\x07OTAFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x0b\n\x03md5\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\"d\n\x06OTACmd\x12*\n\x0c\x62ootloaderId\x18\x01 \x01(\x0e\x32\x14.robotc.BootloaderId\x12.\n\x0ftargetPartition\x18\x02 \x01(\x0e\x32\x15.robotc.BootPartition\"E\n\x07OTAData\x12\x1b\n\x03\x63md\x18\x01 \x01(\x0b\x32\x0e.robotc.OTACmd\x12\x1d\n\x04\x66ile\x18\x02 \x01(\x0b\x32\x0f.robotc.OTAFile\"H\n\tOTAJoints\x12\x1c\n\x04\x63mds\x18\x01 \x03(\x0b\x32\x0e.robotc.OTACmd\x12\x1d\n\x04\x66ile\x18\x02 \x01(\x0b\x32\x0f.robotc.OTAFile\"Q\n\x08OTADatas\x12!\n\x06joints\x18\x01 \x01(\x0b\x32\x11.robotc.OTAJoints\x12\"\n\tnotJoints\x18\x02 \x03(\x0b\x32\x0f.robotc.OTAData\"\x96\x01\n\tOTAResult\x12*\n\x0c\x62ootloaderId\x18\x01 \x01(\x0e\x32\x14.robotc.BootloaderId\x12\x0c\n\x04step\x18\x02 \x01(\x05\x12\x14\n\x0cstepProgress\x18\x03 \x01(\x05\x12\x0f\n\x07version\x18\x04 \x01(\t\x12(\n\tpartition\x18\x05 \x01(\x0e\x32\x15.robotc.BootPartition\"0\n\nOTAResults\x12\"\n\x07results\x18\x01 \x03(\x0b\x32\x11.robotc.OTAResult\"N\n\x0e\x43urrentVoltage\x12\r\n\x05power\x18\x01 \x01(\x01\x12\x0c\n\x04\x66lan\x18\x02 \x01(\x01\x12\r\n\x05joint\x18\x03 \x03(\x01\x12\x10\n\x08io_power\x18\x04 \x01(\x01\"t\n\x0fJointServoParam\x12\r\n\x05index\x18\x01 \x01(\r\x12\x13\n\x0bposition_kp\x18\x02 \x01(\x01\x12\x10\n\x08speed_kp\x18\x03 \x01(\x01\x12\x10\n\x08speed_it\x18\x04 \x01(\x01\x12\x19\n\x11torque_cmd_filter\x18\x05 \x01(\x01\";\n\x10JointServoParams\x12\'\n\x06joints\x18\x01 \x03(\x0b\x32\x17.robotc.JointServoParam\"\x18\n\x0b\x44\x65\x62ugParams\x12\t\n\x01\x64\x18\x01 \x03(\x01\"X\n\x0c\x46ixDHRequest\x12\x13\n\x0b\x64\x65lta_theta\x18\x01 \x03(\x01\x12\x12\n\nplus_theta\x18\x02 \x01(\x08\x12\x0f\n\x07\x64\x65lta_l\x18\x03 \x03(\x01\x12\x0e\n\x06plus_l\x18\x04 \x01(\x08\"$\n\tDHRequest\x12\x17\n\x0fget_theoretical\x18\x01 \x01(\x08\"9\n\x03\x44Ht\x12\t\n\x01\x64\x18\x01 \x01(\x01\x12\t\n\x01\x61\x18\x02 \x01(\x01\x12\r\n\x05\x61lpha\x18\x03 \x01(\x01\x12\r\n\x05theta\x18\x04 \x01(\x01\"\'\n\x08\x44HParams\x12\x1b\n\x06params\x18\x01 \x03(\x0b\x32\x0b.robotc.DHt\"c\n\x0b\x46ixDHResult\x12\x1b\n\x06origin\x18\x01 \x03(\x0b\x32\x0b.robotc.DHt\x12\x1b\n\x06\x62\x65\x66ore\x18\x02 \x03(\x0b\x32\x0b.robotc.DHt\x12\x1a\n\x05\x61\x66ter\x18\x03 \x03(\x0b\x32\x0b.robotc.DHt\"&\n\x06Option\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\"\x99\x03\n\x08LuaEvent\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.robotc.LuaEvent.Type\x12\x0e\n\x06\x63md_id\x18\x02 \x01(\x05\x12,\n\tcmd_state\x18\x03 \x01(\x0e\x32\x19.robotc.LuaEvent.CmdState\x12\x10\n\x08\x65\x63ho_key\x18\x04 \x01(\t\x12\r\n\x05index\x18\x08 \x01(\x05\x12#\n\tlua_state\x18\x05 \x01(\x0e\x32\x10.robotc.LuaState\x12\x11\n\tsignal_id\x18\x06 \x01(\x05\x12\x14\n\x0csignal_value\x18\x07 \x01(\x01\x12\x1f\n\x07options\x18\t \x03(\x0b\x32\x0e.robotc.Option\"^\n\x04Type\x12\x08\n\x04\x45\x43HO\x10\x00\x12\x07\n\x03LUA\x10\x01\x12\n\n\x06SIGNAL\x10\x02\x12\x08\n\x04LOOP\x10\x03\x12\t\n\x05\x41LERT\x10\x04\x12\x0b\n\x07\x43ONFIRM\x10\x05\x12\t\n\x05INPUT\x10\x06\x12\n\n\x06SELECT\x10\x07\":\n\x08\x43mdState\x12\x08\n\x04INIT\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"\x1d\n\x0c\x43onfirmInput\x12\r\n\x05input\x18\x01 \x01(\t\"A\n\x07PoseRes\x12\x18\n\x04\x63\x61rt\x18\x01 \x01(\x0b\x32\n.robotc.PR\x12\x1c\n\x05joint\x18\x02 \x01(\x0b\x32\r.robotc.JPose\"&\n\tModbusDio\x12\x0b\n\x03pin\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x05\"?\n\x0eModbusDioGroup\x12\x1f\n\x04pins\x18\x01 \x03(\x0b\x32\x11.robotc.ModbusDio\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x05\"4\n\tModbusAio\x12\x0b\n\x03pin\x18\x01 \x01(\x05\x12\x0c\n\x04mode\x18\x02 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\x05\"$\n\x08\x41IORange\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\"A\n\x05Range\x12\x1b\n\x01V\x18\x01 \x01(\x0b\x32\x10.robotc.AIORange\x12\x1b\n\x01\x41\x18\x02 \x01(\x0b\x32\x10.robotc.AIORange\"z\n\x0eModbusAioGroup\x12\x1f\n\x04pins\x18\x01 \x03(\x0b\x32\x11.robotc.ModbusAio\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x05\x12\r\n\x05isLsb\x18\x03 \x01(\x05\x12\x1c\n\x05range\x18\x04 \x01(\x0b\x32\r.robotc.Range\x12\x0c\n\x04size\x18\x05 \x01(\x05\"\xa9\x01\n\x17ModbusExternalIOMapping\x12\"\n\x02\x64i\x18\x01 \x01(\x0b\x32\x16.robotc.ModbusDioGroup\x12\"\n\x02\x64o\x18\x02 \x01(\x0b\x32\x16.robotc.ModbusDioGroup\x12\"\n\x02\x61i\x18\x03 \x01(\x0b\x32\x16.robotc.ModbusAioGroup\x12\"\n\x02\x61o\x18\x04 \x01(\x0b\x32\x16.robotc.ModbusAioGroup\"-\n\x0f\x45xternalIOState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"\xb0\x01\n\x10ModbusExternalIO\x12\n\n\x02id\x18\x01 \x01(\x05\x12\n\n\x02ip\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x0f\n\x07timeout\x18\x04 \x01(\x05\x12\x0f\n\x07slaveId\x18\x05 \x01(\x05\x12\x13\n\x0b\x63mdHoldTime\x18\x06 \x01(\x05\x12\x0f\n\x07version\x18\x07 \x01(\x05\x12.\n\x05ioMap\x18\x08 \x01(\x0b\x32\x1f.robotc.ModbusExternalIOMapping\":\n\x11ModbusExternalIOs\x12%\n\x03ios\x18\x01 \x03(\x0b\x32\x18.robotc.ModbusExternalIO\"\x93\x02\n\x11RecordPVATRequest\x12\x30\n\x04type\x18\x01 \x01(\x0e\x32\".robotc.RecordPVATRequest.PVATType\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x34\n\x08vZeroGap\x18\x03 \x01(\x0b\x32\".robotc.RecordPVATRequest.VZeroGap\x12\x17\n\x0fuse_duration_ts\x18\x04 \x01(\x08\x12\x11\n\tsave_file\x18\x05 \x01(\x08\x1a\x31\n\x08VZeroGap\x12\x11\n\tthreshold\x18\x01 \x01(\x01\x12\x12\n\nremove_gap\x18\x02 \x01(\x08\"%\n\x08PVATType\x12\x06\n\x02PT\x10\x00\x12\x07\n\x03PVT\x10\x01\x12\x08\n\x04PVAT\x10\x02\"Z\n\x12RecordPVATResponse\x12\t\n\x01p\x18\x01 \x03(\x01\x12\t\n\x01v\x18\x02 \x03(\x01\x12\x0b\n\x03\x61\x63\x63\x18\x03 \x03(\x01\x12\t\n\x01t\x18\x04 \x01(\x01\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x08\x12\t\n\x01\x66\x18\x06 \x01(\t*\xa7\x01\n\x0c\x42ootloaderId\x12\x0e\n\nALL_JOINTS\x10\x00\x12\x0b\n\x07JOINT_1\x10\x01\x12\x0b\n\x07JOINT_2\x10\x02\x12\x0b\n\x07JOINT_3\x10\x03\x12\x0b\n\x07JOINT_4\x10\x04\x12\x0b\n\x07JOINT_5\x10\x05\x12\x0b\n\x07JOINT_6\x10\x06\x12\x0b\n\x07JOINT_7\x10\x07\x12\n\n\x06\x46LANGE\x10\x08\x12\x08\n\x04\x43LAW\x10\t\x12\x08\n\x04LAMP\x10\n\x12\x0c\n\x08\x43OMBOARD\x10\x0e*6\n\rBootPartition\x12\x05\n\x01\x41\x10\x00\x12\x05\n\x01\x42\x10\x01\x12\x05\n\x01\x43\x10\x02\x12\x10\n\x0cPART_UNKNOWN\x10\x03\x32\xa4\x1c\n\x16RobotPrivateController\x12/\n\x04Init\x12\x15.robotc.Configuration\x1a\x10.robotc.Response\x12\x39\n\x0cGetRobotInfo\x12\x16.google.protobuf.Empty\x1a\x11.robotc.RobotInfo\x12\x41\n\x13SetInstallDirection\x12\x18.robotc.InstallDirection\x1a\x10.robotc.Response\x12\x43\n\x14SetCollisionDetector\x12\x19.robotc.CollisionDetector\x1a\x10.robotc.Response\x12\x38\n\x0eSetJointConfig\x12\x14.robotc.JointConfigs\x1a\x10.robotc.Response\x12?\n\x12SetCartesianConfig\x12\x17.robotc.CartesianConfig\x1a\x10.robotc.Response\x12\x32\n\tEnableDDS\x12\x13.robotc.TrueOrFalse\x1a\x10.robotc.Response\x12G\n\x16SetCollisionTorqueDiff\x12\x1b.robotc.CollisionTorqueDiff\x1a\x10.robotc.Response\x12\x46\n\x14RegisterNotification\x12\x16.google.protobuf.Empty\x1a\x14.robotc.Notification0\x01\x12=\n\x0fRobotDriverInfo\x12\x16.google.protobuf.Empty\x1a\x12.robotc.DriverInfo\x12\x30\n\x08RobotOTA\x12\x0f.robotc.OTAData\x1a\x11.robotc.OTAResult0\x01\x12\x36\n\x12SwitchOtaPartition\x12\x0e.robotc.OTACmd\x1a\x10.robotc.Response\x12\x37\n\rRobotOTABatch\x12\x10.robotc.OTADatas\x1a\x12.robotc.OTAResults0\x01\x12\x31\n\x05Reset\x12\x16.google.protobuf.Empty\x1a\x10.robotc.Response\x12*\n\x08InitZero\x12\x0c.robotc.Zero\x1a\x10.robotc.Response\x12\x33\n\x07SetZero\x12\x16.google.protobuf.Empty\x1a\x10.robotc.Response\x12<\n\nGetVoltage\x12\x16.google.protobuf.Empty\x1a\x16.robotc.CurrentVoltage\x12\x42\n\rSetServoParam\x12\x17.robotc.JointServoParam\x1a\x18.robotc.JointServoParams\x12\x42\n\x0eGetServoParams\x12\x16.google.protobuf.Empty\x1a\x18.robotc.JointServoParams\x12:\n\x0eSetDebugParams\x12\x13.robotc.DebugParams\x1a\x13.robotc.DebugParams\x12\x38\n\x0b\x46ixDHParams\x12\x14.robotc.FixDHRequest\x1a\x13.robotc.FixDHResult\x12\x32\n\x0bSetLEDStyle\x12\x10.robotc.LEDStyle\x1a\x11.robotc.LEDStyles\x12\x39\n\x0cGetLEDStyles\x12\x16.google.protobuf.Empty\x1a\x11.robotc.LEDStyles\x12>\n\x10RegisterLuaEvent\x12\x16.google.protobuf.Empty\x1a\x10.robotc.LuaEvent0\x01\x12\x39\n\x0f\x43onfirmCallback\x12\x14.robotc.ConfirmInput\x1a\x10.robotc.Response\x12\x36\n\x0bGetLastPose\x12\x16.google.protobuf.Empty\x1a\x0f.robotc.PoseRes\x12\x42\n\x13SetModbusExternalIO\x12\x19.robotc.ModbusExternalIOs\x1a\x10.robotc.Response\x12\x39\n\x0fSetButtonConfig\x12\x14.robotc.ButtonConfig\x1a\x10.robotc.Response\x12\x35\n\x0cSetBreakACup\x12\x13.robotc.TrueOrFalse\x1a\x10.robotc.Response\x12\x45\n\nRecordPVAT\x12\x19.robotc.RecordPVATRequest\x1a\x1a.robotc.RecordPVATResponse0\x01\x12:\n\x0eStopRecordPVAT\x12\x16.google.protobuf.Empty\x1a\x10.robotc.Response\x12<\n\x10UpgradeVoiceFile\x12\x11.robotc.VoiceFile\x1a\x13.robotc.VoiceResult0\x01\x12\x32\n\x0bGetDHParams\x12\x11.robotc.DHRequest\x1a\x10.robotc.DHParams\x12\x31\n\x0bSetDHParams\x12\x10.robotc.DHParams\x1a\x10.robotc.DHParams\x12H\n\x14WriteExtraServoParam\x12\x17.robotc.ExtraServoParam\x1a\x17.robotc.ExtraServoParam\x12G\n\x13ReadExtraServoParam\x12\x17.robotc.ExtraServoParam\x1a\x17.robotc.ExtraServoParam\x12J\n\x15WriteExtraServoParams\x12\x17.robotc.ExtraServoParam\x1a\x18.robotc.ExtraServoParams\x12H\n\x14ReadExtraServoParams\x12\x16.google.protobuf.Empty\x1a\x18.robotc.ExtraServoParams\x12I\n\x15ResetExtraServoParams\x12\x16.google.protobuf.Empty\x1a\x18.robotc.ExtraServoParams\x12\x42\n\x12WriteJointBacklash\x12\x15.robotc.JointBacklash\x1a\x15.robotc.JointBacklash\x12\x41\n\x11ReadJointBacklash\x12\x15.robotc.JointBacklash\x1a\x15.robotc.JointBacklash\x12\x46\n\x14WriteJointBacklashes\x12\x15.robotc.JointBacklash\x1a\x17.robotc.JointBacklashes\x12\x46\n\x13ReadJointBacklashes\x12\x16.google.protobuf.Empty\x1a\x17.robotc.JointBacklashes\x12G\n\x14ResetJointBacklashes\x12\x16.google.protobuf.Empty\x1a\x17.robotc.JointBacklashes\x12X\n\x1aWriteEnableJointBacklashes\x12\x1b.robotc.EnableJointBacklash\x1a\x1d.robotc.EnableJointBacklashes\x12R\n\x19ReadEnableJointBacklashes\x12\x16.google.protobuf.Empty\x1a\x1d.robotc.EnableJointBacklashes\x12S\n\x1aResetEnableJointBacklashes\x12\x16.google.protobuf.Empty\x1a\x1d.robotc.EnableJointBacklashes\x12Q\n\x17WriteJointBacklashParam\x12\x1a.robotc.JointBacklashParam\x1a\x1a.robotc.JointBacklashParam\x12P\n\x16ReadJointBacklashParam\x12\x1a.robotc.JointBacklashParam\x1a\x1a.robotc.JointBacklashParam\x12S\n\x18WriteJointBacklashParams\x12\x1a.robotc.JointBacklashParam\x1a\x1b.robotc.JointBacklashParams\x12N\n\x17ReadJointBacklashParams\x12\x16.google.protobuf.Empty\x1a\x1b.robotc.JointBacklashParams\x12O\n\x18ResetJointBacklashParams\x12\x16.google.protobuf.Empty\x1a\x1b.robotc.JointBacklashParams\x12\x39\n\x10\x45nableJointLimit\x12\x13.robotc.TrueOrFalse\x1a\x10.robotc.Response\x12\x37\n\x0eSwitchSimulate\x12\x13.robotc.TrueOrFalse\x1a\x10.robotc.Response\x12>\n\x11\x43onnectExternalIO\x12\x17.robotc.ExternalIOState\x1a\x10.robotc.Responseb\x06proto3')

_BOOTLOADERID = DESCRIPTOR.enum_types_by_name['BootloaderId']
BootloaderId = enum_type_wrapper.EnumTypeWrapper(_BOOTLOADERID)
_BOOTPARTITION = DESCRIPTOR.enum_types_by_name['BootPartition']
BootPartition = enum_type_wrapper.EnumTypeWrapper(_BOOTPARTITION)
ALL_JOINTS = 0
JOINT_1 = 1
JOINT_2 = 2
JOINT_3 = 3
JOINT_4 = 4
JOINT_5 = 5
JOINT_6 = 6
JOINT_7 = 7
FLANGE = 8
CLAW = 9
LAMP = 10
COMBOARD = 14
A = 0
B = 1
C = 2
PART_UNKNOWN = 3


_ENABLEJOINTBACKLASH = DESCRIPTOR.message_types_by_name['EnableJointBacklash']
_ENABLEJOINTBACKLASHES = DESCRIPTOR.message_types_by_name['EnableJointBacklashes']
_EXTRASERVOPARAM = DESCRIPTOR.message_types_by_name['ExtraServoParam']
_EXTRASERVOPARAMS = DESCRIPTOR.message_types_by_name['ExtraServoParams']
_JOINTBACKLASH = DESCRIPTOR.message_types_by_name['JointBacklash']
_JOINTBACKLASHES = DESCRIPTOR.message_types_by_name['JointBacklashes']
_JOINTBACKLASHPARAM = DESCRIPTOR.message_types_by_name['JointBacklashParam']
_JOINTBACKLASHPARAMS = DESCRIPTOR.message_types_by_name['JointBacklashParams']
_VOICEFILE = DESCRIPTOR.message_types_by_name['VoiceFile']
_VOICERESULT = DESCRIPTOR.message_types_by_name['VoiceResult']
_TRUEORFALSE = DESCRIPTOR.message_types_by_name['TrueOrFalse']
_INSTALLDIRECTION = DESCRIPTOR.message_types_by_name['InstallDirection']
_JOINTCONFIG = DESCRIPTOR.message_types_by_name['JointConfig']
_JOINTCONFIGS = DESCRIPTOR.message_types_by_name['JointConfigs']
_CARTESIANCONFIG = DESCRIPTOR.message_types_by_name['CartesianConfig']
_SAFETYPLAT = DESCRIPTOR.message_types_by_name['SafetyPlat']
_SAFETYPLATS = DESCRIPTOR.message_types_by_name['SafetyPlats']
_COLLISIONTORQUEDIFF = DESCRIPTOR.message_types_by_name['CollisionTorqueDiff']
_COLLISIONDETECTOR = DESCRIPTOR.message_types_by_name['CollisionDetector']
_LEDSTYLE = DESCRIPTOR.message_types_by_name['LEDStyle']
_LEDSTYLES = DESCRIPTOR.message_types_by_name['LEDStyles']
_BUTTONCONFIG = DESCRIPTOR.message_types_by_name['ButtonConfig']
_CONFIGURATION = DESCRIPTOR.message_types_by_name['Configuration']
_ZERO = DESCRIPTOR.message_types_by_name['Zero']
_NOTICE = DESCRIPTOR.message_types_by_name['Notice']
_NOTIFICATION = DESCRIPTOR.message_types_by_name['Notification']
_DRIVER = DESCRIPTOR.message_types_by_name['Driver']
_DRIVERINFO = DESCRIPTOR.message_types_by_name['DriverInfo']
_OTAFILE = DESCRIPTOR.message_types_by_name['OTAFile']
_OTACMD = DESCRIPTOR.message_types_by_name['OTACmd']
_OTADATA = DESCRIPTOR.message_types_by_name['OTAData']
_OTAJOINTS = DESCRIPTOR.message_types_by_name['OTAJoints']
_OTADATAS = DESCRIPTOR.message_types_by_name['OTADatas']
_OTARESULT = DESCRIPTOR.message_types_by_name['OTAResult']
_OTARESULTS = DESCRIPTOR.message_types_by_name['OTAResults']
_CURRENTVOLTAGE = DESCRIPTOR.message_types_by_name['CurrentVoltage']
_JOINTSERVOPARAM = DESCRIPTOR.message_types_by_name['JointServoParam']
_JOINTSERVOPARAMS = DESCRIPTOR.message_types_by_name['JointServoParams']
_DEBUGPARAMS = DESCRIPTOR.message_types_by_name['DebugParams']
_FIXDHREQUEST = DESCRIPTOR.message_types_by_name['FixDHRequest']
_DHREQUEST = DESCRIPTOR.message_types_by_name['DHRequest']
_DHT = DESCRIPTOR.message_types_by_name['DHt']
_DHPARAMS = DESCRIPTOR.message_types_by_name['DHParams']
_FIXDHRESULT = DESCRIPTOR.message_types_by_name['FixDHResult']
_OPTION = DESCRIPTOR.message_types_by_name['Option']
_LUAEVENT = DESCRIPTOR.message_types_by_name['LuaEvent']
_CONFIRMINPUT = DESCRIPTOR.message_types_by_name['ConfirmInput']
_POSERES = DESCRIPTOR.message_types_by_name['PoseRes']
_MODBUSDIO = DESCRIPTOR.message_types_by_name['ModbusDio']
_MODBUSDIOGROUP = DESCRIPTOR.message_types_by_name['ModbusDioGroup']
_MODBUSAIO = DESCRIPTOR.message_types_by_name['ModbusAio']
_AIORANGE = DESCRIPTOR.message_types_by_name['AIORange']
_RANGE = DESCRIPTOR.message_types_by_name['Range']
_MODBUSAIOGROUP = DESCRIPTOR.message_types_by_name['ModbusAioGroup']
_MODBUSEXTERNALIOMAPPING = DESCRIPTOR.message_types_by_name['ModbusExternalIOMapping']
_EXTERNALIOSTATE = DESCRIPTOR.message_types_by_name['ExternalIOState']
_MODBUSEXTERNALIO = DESCRIPTOR.message_types_by_name['ModbusExternalIO']
_MODBUSEXTERNALIOS = DESCRIPTOR.message_types_by_name['ModbusExternalIOs']
_RECORDPVATREQUEST = DESCRIPTOR.message_types_by_name['RecordPVATRequest']
_RECORDPVATREQUEST_VZEROGAP = _RECORDPVATREQUEST.nested_types_by_name['VZeroGap']
_RECORDPVATRESPONSE = DESCRIPTOR.message_types_by_name['RecordPVATResponse']
_NOTICE_NOTICETYPE = _NOTICE.enum_types_by_name['NoticeType']
_NOTICE_NOTICEID = _NOTICE.enum_types_by_name['NoticeId']
_LUAEVENT_TYPE = _LUAEVENT.enum_types_by_name['Type']
_LUAEVENT_CMDSTATE = _LUAEVENT.enum_types_by_name['CmdState']
_RECORDPVATREQUEST_PVATTYPE = _RECORDPVATREQUEST.enum_types_by_name['PVATType']
EnableJointBacklash = _reflection.GeneratedProtocolMessageType('EnableJointBacklash', (_message.Message,), {
  'DESCRIPTOR' : _ENABLEJOINTBACKLASH,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.EnableJointBacklash)
  })
_sym_db.RegisterMessage(EnableJointBacklash)

EnableJointBacklashes = _reflection.GeneratedProtocolMessageType('EnableJointBacklashes', (_message.Message,), {
  'DESCRIPTOR' : _ENABLEJOINTBACKLASHES,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.EnableJointBacklashes)
  })
_sym_db.RegisterMessage(EnableJointBacklashes)

ExtraServoParam = _reflection.GeneratedProtocolMessageType('ExtraServoParam', (_message.Message,), {
  'DESCRIPTOR' : _EXTRASERVOPARAM,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ExtraServoParam)
  })
_sym_db.RegisterMessage(ExtraServoParam)

ExtraServoParams = _reflection.GeneratedProtocolMessageType('ExtraServoParams', (_message.Message,), {
  'DESCRIPTOR' : _EXTRASERVOPARAMS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ExtraServoParams)
  })
_sym_db.RegisterMessage(ExtraServoParams)

JointBacklash = _reflection.GeneratedProtocolMessageType('JointBacklash', (_message.Message,), {
  'DESCRIPTOR' : _JOINTBACKLASH,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointBacklash)
  })
_sym_db.RegisterMessage(JointBacklash)

JointBacklashes = _reflection.GeneratedProtocolMessageType('JointBacklashes', (_message.Message,), {
  'DESCRIPTOR' : _JOINTBACKLASHES,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointBacklashes)
  })
_sym_db.RegisterMessage(JointBacklashes)

JointBacklashParam = _reflection.GeneratedProtocolMessageType('JointBacklashParam', (_message.Message,), {
  'DESCRIPTOR' : _JOINTBACKLASHPARAM,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointBacklashParam)
  })
_sym_db.RegisterMessage(JointBacklashParam)

JointBacklashParams = _reflection.GeneratedProtocolMessageType('JointBacklashParams', (_message.Message,), {
  'DESCRIPTOR' : _JOINTBACKLASHPARAMS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointBacklashParams)
  })
_sym_db.RegisterMessage(JointBacklashParams)

VoiceFile = _reflection.GeneratedProtocolMessageType('VoiceFile', (_message.Message,), {
  'DESCRIPTOR' : _VOICEFILE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.VoiceFile)
  })
_sym_db.RegisterMessage(VoiceFile)

VoiceResult = _reflection.GeneratedProtocolMessageType('VoiceResult', (_message.Message,), {
  'DESCRIPTOR' : _VOICERESULT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.VoiceResult)
  })
_sym_db.RegisterMessage(VoiceResult)

TrueOrFalse = _reflection.GeneratedProtocolMessageType('TrueOrFalse', (_message.Message,), {
  'DESCRIPTOR' : _TRUEORFALSE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.TrueOrFalse)
  })
_sym_db.RegisterMessage(TrueOrFalse)

InstallDirection = _reflection.GeneratedProtocolMessageType('InstallDirection', (_message.Message,), {
  'DESCRIPTOR' : _INSTALLDIRECTION,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.InstallDirection)
  })
_sym_db.RegisterMessage(InstallDirection)

JointConfig = _reflection.GeneratedProtocolMessageType('JointConfig', (_message.Message,), {
  'DESCRIPTOR' : _JOINTCONFIG,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointConfig)
  })
_sym_db.RegisterMessage(JointConfig)

JointConfigs = _reflection.GeneratedProtocolMessageType('JointConfigs', (_message.Message,), {
  'DESCRIPTOR' : _JOINTCONFIGS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointConfigs)
  })
_sym_db.RegisterMessage(JointConfigs)

CartesianConfig = _reflection.GeneratedProtocolMessageType('CartesianConfig', (_message.Message,), {
  'DESCRIPTOR' : _CARTESIANCONFIG,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.CartesianConfig)
  })
_sym_db.RegisterMessage(CartesianConfig)

SafetyPlat = _reflection.GeneratedProtocolMessageType('SafetyPlat', (_message.Message,), {
  'DESCRIPTOR' : _SAFETYPLAT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.SafetyPlat)
  })
_sym_db.RegisterMessage(SafetyPlat)

SafetyPlats = _reflection.GeneratedProtocolMessageType('SafetyPlats', (_message.Message,), {
  'DESCRIPTOR' : _SAFETYPLATS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.SafetyPlats)
  })
_sym_db.RegisterMessage(SafetyPlats)

CollisionTorqueDiff = _reflection.GeneratedProtocolMessageType('CollisionTorqueDiff', (_message.Message,), {
  'DESCRIPTOR' : _COLLISIONTORQUEDIFF,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.CollisionTorqueDiff)
  })
_sym_db.RegisterMessage(CollisionTorqueDiff)

CollisionDetector = _reflection.GeneratedProtocolMessageType('CollisionDetector', (_message.Message,), {
  'DESCRIPTOR' : _COLLISIONDETECTOR,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.CollisionDetector)
  })
_sym_db.RegisterMessage(CollisionDetector)

LEDStyle = _reflection.GeneratedProtocolMessageType('LEDStyle', (_message.Message,), {
  'DESCRIPTOR' : _LEDSTYLE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.LEDStyle)
  })
_sym_db.RegisterMessage(LEDStyle)

LEDStyles = _reflection.GeneratedProtocolMessageType('LEDStyles', (_message.Message,), {
  'DESCRIPTOR' : _LEDSTYLES,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.LEDStyles)
  })
_sym_db.RegisterMessage(LEDStyles)

ButtonConfig = _reflection.GeneratedProtocolMessageType('ButtonConfig', (_message.Message,), {
  'DESCRIPTOR' : _BUTTONCONFIG,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ButtonConfig)
  })
_sym_db.RegisterMessage(ButtonConfig)

Configuration = _reflection.GeneratedProtocolMessageType('Configuration', (_message.Message,), {
  'DESCRIPTOR' : _CONFIGURATION,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Configuration)
  })
_sym_db.RegisterMessage(Configuration)

Zero = _reflection.GeneratedProtocolMessageType('Zero', (_message.Message,), {
  'DESCRIPTOR' : _ZERO,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Zero)
  })
_sym_db.RegisterMessage(Zero)

Notice = _reflection.GeneratedProtocolMessageType('Notice', (_message.Message,), {
  'DESCRIPTOR' : _NOTICE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Notice)
  })
_sym_db.RegisterMessage(Notice)

Notification = _reflection.GeneratedProtocolMessageType('Notification', (_message.Message,), {
  'DESCRIPTOR' : _NOTIFICATION,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Notification)
  })
_sym_db.RegisterMessage(Notification)

Driver = _reflection.GeneratedProtocolMessageType('Driver', (_message.Message,), {
  'DESCRIPTOR' : _DRIVER,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Driver)
  })
_sym_db.RegisterMessage(Driver)

DriverInfo = _reflection.GeneratedProtocolMessageType('DriverInfo', (_message.Message,), {
  'DESCRIPTOR' : _DRIVERINFO,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.DriverInfo)
  })
_sym_db.RegisterMessage(DriverInfo)

OTAFile = _reflection.GeneratedProtocolMessageType('OTAFile', (_message.Message,), {
  'DESCRIPTOR' : _OTAFILE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTAFile)
  })
_sym_db.RegisterMessage(OTAFile)

OTACmd = _reflection.GeneratedProtocolMessageType('OTACmd', (_message.Message,), {
  'DESCRIPTOR' : _OTACMD,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTACmd)
  })
_sym_db.RegisterMessage(OTACmd)

OTAData = _reflection.GeneratedProtocolMessageType('OTAData', (_message.Message,), {
  'DESCRIPTOR' : _OTADATA,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTAData)
  })
_sym_db.RegisterMessage(OTAData)

OTAJoints = _reflection.GeneratedProtocolMessageType('OTAJoints', (_message.Message,), {
  'DESCRIPTOR' : _OTAJOINTS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTAJoints)
  })
_sym_db.RegisterMessage(OTAJoints)

OTADatas = _reflection.GeneratedProtocolMessageType('OTADatas', (_message.Message,), {
  'DESCRIPTOR' : _OTADATAS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTADatas)
  })
_sym_db.RegisterMessage(OTADatas)

OTAResult = _reflection.GeneratedProtocolMessageType('OTAResult', (_message.Message,), {
  'DESCRIPTOR' : _OTARESULT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTAResult)
  })
_sym_db.RegisterMessage(OTAResult)

OTAResults = _reflection.GeneratedProtocolMessageType('OTAResults', (_message.Message,), {
  'DESCRIPTOR' : _OTARESULTS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.OTAResults)
  })
_sym_db.RegisterMessage(OTAResults)

CurrentVoltage = _reflection.GeneratedProtocolMessageType('CurrentVoltage', (_message.Message,), {
  'DESCRIPTOR' : _CURRENTVOLTAGE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.CurrentVoltage)
  })
_sym_db.RegisterMessage(CurrentVoltage)

JointServoParam = _reflection.GeneratedProtocolMessageType('JointServoParam', (_message.Message,), {
  'DESCRIPTOR' : _JOINTSERVOPARAM,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointServoParam)
  })
_sym_db.RegisterMessage(JointServoParam)

JointServoParams = _reflection.GeneratedProtocolMessageType('JointServoParams', (_message.Message,), {
  'DESCRIPTOR' : _JOINTSERVOPARAMS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.JointServoParams)
  })
_sym_db.RegisterMessage(JointServoParams)

DebugParams = _reflection.GeneratedProtocolMessageType('DebugParams', (_message.Message,), {
  'DESCRIPTOR' : _DEBUGPARAMS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.DebugParams)
  })
_sym_db.RegisterMessage(DebugParams)

FixDHRequest = _reflection.GeneratedProtocolMessageType('FixDHRequest', (_message.Message,), {
  'DESCRIPTOR' : _FIXDHREQUEST,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.FixDHRequest)
  })
_sym_db.RegisterMessage(FixDHRequest)

DHRequest = _reflection.GeneratedProtocolMessageType('DHRequest', (_message.Message,), {
  'DESCRIPTOR' : _DHREQUEST,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.DHRequest)
  })
_sym_db.RegisterMessage(DHRequest)

DHt = _reflection.GeneratedProtocolMessageType('DHt', (_message.Message,), {
  'DESCRIPTOR' : _DHT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.DHt)
  })
_sym_db.RegisterMessage(DHt)

DHParams = _reflection.GeneratedProtocolMessageType('DHParams', (_message.Message,), {
  'DESCRIPTOR' : _DHPARAMS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.DHParams)
  })
_sym_db.RegisterMessage(DHParams)

FixDHResult = _reflection.GeneratedProtocolMessageType('FixDHResult', (_message.Message,), {
  'DESCRIPTOR' : _FIXDHRESULT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.FixDHResult)
  })
_sym_db.RegisterMessage(FixDHResult)

Option = _reflection.GeneratedProtocolMessageType('Option', (_message.Message,), {
  'DESCRIPTOR' : _OPTION,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Option)
  })
_sym_db.RegisterMessage(Option)

LuaEvent = _reflection.GeneratedProtocolMessageType('LuaEvent', (_message.Message,), {
  'DESCRIPTOR' : _LUAEVENT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.LuaEvent)
  })
_sym_db.RegisterMessage(LuaEvent)

ConfirmInput = _reflection.GeneratedProtocolMessageType('ConfirmInput', (_message.Message,), {
  'DESCRIPTOR' : _CONFIRMINPUT,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ConfirmInput)
  })
_sym_db.RegisterMessage(ConfirmInput)

PoseRes = _reflection.GeneratedProtocolMessageType('PoseRes', (_message.Message,), {
  'DESCRIPTOR' : _POSERES,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.PoseRes)
  })
_sym_db.RegisterMessage(PoseRes)

ModbusDio = _reflection.GeneratedProtocolMessageType('ModbusDio', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSDIO,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusDio)
  })
_sym_db.RegisterMessage(ModbusDio)

ModbusDioGroup = _reflection.GeneratedProtocolMessageType('ModbusDioGroup', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSDIOGROUP,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusDioGroup)
  })
_sym_db.RegisterMessage(ModbusDioGroup)

ModbusAio = _reflection.GeneratedProtocolMessageType('ModbusAio', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSAIO,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusAio)
  })
_sym_db.RegisterMessage(ModbusAio)

AIORange = _reflection.GeneratedProtocolMessageType('AIORange', (_message.Message,), {
  'DESCRIPTOR' : _AIORANGE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.AIORange)
  })
_sym_db.RegisterMessage(AIORange)

Range = _reflection.GeneratedProtocolMessageType('Range', (_message.Message,), {
  'DESCRIPTOR' : _RANGE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.Range)
  })
_sym_db.RegisterMessage(Range)

ModbusAioGroup = _reflection.GeneratedProtocolMessageType('ModbusAioGroup', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSAIOGROUP,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusAioGroup)
  })
_sym_db.RegisterMessage(ModbusAioGroup)

ModbusExternalIOMapping = _reflection.GeneratedProtocolMessageType('ModbusExternalIOMapping', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSEXTERNALIOMAPPING,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusExternalIOMapping)
  })
_sym_db.RegisterMessage(ModbusExternalIOMapping)

ExternalIOState = _reflection.GeneratedProtocolMessageType('ExternalIOState', (_message.Message,), {
  'DESCRIPTOR' : _EXTERNALIOSTATE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ExternalIOState)
  })
_sym_db.RegisterMessage(ExternalIOState)

ModbusExternalIO = _reflection.GeneratedProtocolMessageType('ModbusExternalIO', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSEXTERNALIO,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusExternalIO)
  })
_sym_db.RegisterMessage(ModbusExternalIO)

ModbusExternalIOs = _reflection.GeneratedProtocolMessageType('ModbusExternalIOs', (_message.Message,), {
  'DESCRIPTOR' : _MODBUSEXTERNALIOS,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.ModbusExternalIOs)
  })
_sym_db.RegisterMessage(ModbusExternalIOs)

RecordPVATRequest = _reflection.GeneratedProtocolMessageType('RecordPVATRequest', (_message.Message,), {

  'VZeroGap' : _reflection.GeneratedProtocolMessageType('VZeroGap', (_message.Message,), {
    'DESCRIPTOR' : _RECORDPVATREQUEST_VZEROGAP,
    '__module__' : 'private_controller_pb2'
    # @@protoc_insertion_point(class_scope:robotc.RecordPVATRequest.VZeroGap)
    })
  ,
  'DESCRIPTOR' : _RECORDPVATREQUEST,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.RecordPVATRequest)
  })
_sym_db.RegisterMessage(RecordPVATRequest)
_sym_db.RegisterMessage(RecordPVATRequest.VZeroGap)

RecordPVATResponse = _reflection.GeneratedProtocolMessageType('RecordPVATResponse', (_message.Message,), {
  'DESCRIPTOR' : _RECORDPVATRESPONSE,
  '__module__' : 'private_controller_pb2'
  # @@protoc_insertion_point(class_scope:robotc.RecordPVATResponse)
  })
_sym_db.RegisterMessage(RecordPVATResponse)

_ROBOTPRIVATECONTROLLER = DESCRIPTOR.services_by_name['RobotPrivateController']
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  _BOOTLOADERID._serialized_start=6212
  _BOOTLOADERID._serialized_end=6379
  _BOOTPARTITION._serialized_start=6381
  _BOOTPARTITION._serialized_end=6435
  _ENABLEJOINTBACKLASH._serialized_start=81
  _ENABLEJOINTBACKLASH._serialized_end=133
  _ENABLEJOINTBACKLASHES._serialized_start=135
  _ENABLEJOINTBACKLASHES._serialized_end=203
  _EXTRASERVOPARAM._serialized_start=206
  _EXTRASERVOPARAM._serialized_end=445
  _EXTRASERVOPARAMS._serialized_start=447
  _EXTRASERVOPARAMS._serialized_end=506
  _JOINTBACKLASH._serialized_start=508
  _JOINTBACKLASH._serialized_end=597
  _JOINTBACKLASHES._serialized_start=599
  _JOINTBACKLASHES._serialized_end=655
  _JOINTBACKLASHPARAM._serialized_start=657
  _JOINTBACKLASHPARAM._serialized_end=775
  _JOINTBACKLASHPARAMS._serialized_start=777
  _JOINTBACKLASHPARAMS._serialized_end=842
  _VOICEFILE._serialized_start=844
  _VOICEFILE._serialized_end=894
  _VOICERESULT._serialized_start=896
  _VOICERESULT._serialized_end=957
  _TRUEORFALSE._serialized_start=959
  _TRUEORFALSE._serialized_end=985
  _INSTALLDIRECTION._serialized_start=987
  _INSTALLDIRECTION._serialized_end=1024
  _JOINTCONFIG._serialized_start=1026
  _JOINTCONFIG._serialized_end=1105
  _JOINTCONFIGS._serialized_start=1107
  _JOINTCONFIGS._serialized_end=1159
  _CARTESIANCONFIG._serialized_start=1161
  _CARTESIANCONFIG._serialized_end=1208
  _SAFETYPLAT._serialized_start=1210
  _SAFETYPLAT._serialized_end=1258
  _SAFETYPLATS._serialized_start=1260
  _SAFETYPLATS._serialized_end=1308
  _COLLISIONTORQUEDIFF._serialized_start=1310
  _COLLISIONTORQUEDIFF._serialized_end=1346
  _COLLISIONDETECTOR._serialized_start=1348
  _COLLISIONDETECTOR._serialized_end=1439
  _LEDSTYLE._serialized_start=1441
  _LEDSTYLE._serialized_end=1545
  _LEDSTYLES._serialized_start=1547
  _LEDSTYLES._serialized_end=1592
  _BUTTONCONFIG._serialized_start=1594
  _BUTTONCONFIG._serialized_end=1672
  _CONFIGURATION._serialized_start=1675
  _CONFIGURATION._serialized_end=2502
  _ZERO._serialized_start=2504
  _ZERO._serialized_end=2525
  _NOTICE._serialized_start=2528
  _NOTICE._serialized_end=2961
  _NOTICE_NOTICETYPE._serialized_start=2673
  _NOTICE_NOTICETYPE._serialized_end=2740
  _NOTICE_NOTICEID._serialized_start=2743
  _NOTICE_NOTICEID._serialized_end=2961
  _NOTIFICATION._serialized_start=2963
  _NOTIFICATION._serialized_end=3008
  _DRIVER._serialized_start=3010
  _DRIVER._serialized_end=3099
  _DRIVERINFO._serialized_start=3102
  _DRIVERINFO._serialized_end=3241
  _OTAFILE._serialized_start=3243
  _OTAFILE._serialized_end=3296
  _OTACMD._serialized_start=3298
  _OTACMD._serialized_end=3398
  _OTADATA._serialized_start=3400
  _OTADATA._serialized_end=3469
  _OTAJOINTS._serialized_start=3471
  _OTAJOINTS._serialized_end=3543
  _OTADATAS._serialized_start=3545
  _OTADATAS._serialized_end=3626
  _OTARESULT._serialized_start=3629
  _OTARESULT._serialized_end=3779
  _OTARESULTS._serialized_start=3781
  _OTARESULTS._serialized_end=3829
  _CURRENTVOLTAGE._serialized_start=3831
  _CURRENTVOLTAGE._serialized_end=3909
  _JOINTSERVOPARAM._serialized_start=3911
  _JOINTSERVOPARAM._serialized_end=4027
  _JOINTSERVOPARAMS._serialized_start=4029
  _JOINTSERVOPARAMS._serialized_end=4088
  _DEBUGPARAMS._serialized_start=4090
  _DEBUGPARAMS._serialized_end=4114
  _FIXDHREQUEST._serialized_start=4116
  _FIXDHREQUEST._serialized_end=4204
  _DHREQUEST._serialized_start=4206
  _DHREQUEST._serialized_end=4242
  _DHT._serialized_start=4244
  _DHT._serialized_end=4301
  _DHPARAMS._serialized_start=4303
  _DHPARAMS._serialized_end=4342
  _FIXDHRESULT._serialized_start=4344
  _FIXDHRESULT._serialized_end=4443
  _OPTION._serialized_start=4445
  _OPTION._serialized_end=4483
  _LUAEVENT._serialized_start=4486
  _LUAEVENT._serialized_end=4895
  _LUAEVENT_TYPE._serialized_start=4741
  _LUAEVENT_TYPE._serialized_end=4835
  _LUAEVENT_CMDSTATE._serialized_start=4837
  _LUAEVENT_CMDSTATE._serialized_end=4895
  _CONFIRMINPUT._serialized_start=4897
  _CONFIRMINPUT._serialized_end=4926
  _POSERES._serialized_start=4928
  _POSERES._serialized_end=4993
  _MODBUSDIO._serialized_start=4995
  _MODBUSDIO._serialized_end=5033
  _MODBUSDIOGROUP._serialized_start=5035
  _MODBUSDIOGROUP._serialized_end=5098
  _MODBUSAIO._serialized_start=5100
  _MODBUSAIO._serialized_end=5152
  _AIORANGE._serialized_start=5154
  _AIORANGE._serialized_end=5190
  _RANGE._serialized_start=5192
  _RANGE._serialized_end=5257
  _MODBUSAIOGROUP._serialized_start=5259
  _MODBUSAIOGROUP._serialized_end=5381
  _MODBUSEXTERNALIOMAPPING._serialized_start=5384
  _MODBUSEXTERNALIOMAPPING._serialized_end=5553
  _EXTERNALIOSTATE._serialized_start=5555
  _EXTERNALIOSTATE._serialized_end=5600
  _MODBUSEXTERNALIO._serialized_start=5603
  _MODBUSEXTERNALIO._serialized_end=5779
  _MODBUSEXTERNALIOS._serialized_start=5781
  _MODBUSEXTERNALIOS._serialized_end=5839
  _RECORDPVATREQUEST._serialized_start=5842
  _RECORDPVATREQUEST._serialized_end=6117
  _RECORDPVATREQUEST_VZEROGAP._serialized_start=6029
  _RECORDPVATREQUEST_VZEROGAP._serialized_end=6078
  _RECORDPVATREQUEST_PVATTYPE._serialized_start=6080
  _RECORDPVATREQUEST_PVATTYPE._serialized_end=6117
  _RECORDPVATRESPONSE._serialized_start=6119
  _RECORDPVATRESPONSE._serialized_end=6209
  _ROBOTPRIVATECONTROLLER._serialized_start=6438
  _ROBOTPRIVATECONTROLLER._serialized_end=10058
# @@protoc_insertion_point(module_scope)
