Unity Udexreal开发插件包
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.

87 lines
3.0 KiB

using System;
[Serializable]
public static class Pc2McuProto
{
public struct DeviceID
{
public const byte PC = 0xA0;
public const byte MCU = 0x0A;
}
public struct HumanAddress
{
public const byte LeftPalm = 0x01;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte RightPalm = 0x02;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte LeftArm = 0x03;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
public const byte RightArm = 0x04;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
public const byte LeftShoulder = 0x05;//<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>
public const byte RightShoulder = 0x06;//<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>
public const byte LeftChest = 0x07;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>
public const byte RightChest = 0x08;//<EFBFBD>ұ<EFBFBD><EFBFBD>ز<EFBFBD>
//...
public const byte OtherAddress = 0xFF;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
}
public struct CommandType
{
public const byte ADC_IMU_16 = 0x01;
public const byte CalibrationState1 = 0x02;
public const byte CalibrationState2 = 0x03;
public const byte SHAKE_CONTROLLER_COMMAND = 0x04;
public const byte BATTERY_VOLTAGE_DATA = 0x05;
public const byte CalibrationState5 = 0x06;
public const byte LINK_STATUS = 0x07;
public const byte CalibrationState7 = 0x08;
public const byte CalibrationState8 = 0x09;
public const byte CalibrationState9 = 0x0A;
//...
public const byte StateTransStop = 0xC8;
public const byte DebugAngle1 = 0xC9;
public const byte DebugAngle2 = 0xCA;
public const byte DebugAngle3 = 0xCB;
public const byte DebugAngle4 = 0xCC;
public const byte DebugAngle5 = 0xCD;
public const byte DebugAngle6 = 0xCE;
public const byte DebugAngle7 = 0xCF;
public const byte DebugAngle8 = 0xD0;
public const byte DebugAngle9 = 0xD1;
public const byte DebugAngle10 = 0xD2;
public const byte DebugAngle11 = 0xD3;
public const byte DebugAngle12 = 0xD4;
public const byte DebugAbduce1 = 0xD5;
public const byte DebugAbduce2 = 0xD6;
public const byte DebugAbduce3 = 0xD7;
public const byte HeartBeat = 0x68;
public const byte StopDataReceive = 0xA0;//ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
public struct DataType
{
public const byte AngleAndAbduceData = 0x01;//<EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte AngleData = 0x02;//<EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte IMUData = 0x03;//IMU<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte AbduceData = 0x04;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte AccelerationData = 0x05;//<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte GyroData = 0x06;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public const byte OffsetData = 0x07;//λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//...
public const byte AllData = 0xC8;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>)
//...
public const byte OtherData = 0xFF;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
public static byte check_num(byte[] buffer, int size)
{
byte cr = 0;
for (int i = 2; i < size - 1; i++)
{
cr += buffer[i];
}
return cr;
}
}