|
|
|
|
|
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;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|