private void Bluetooth_DataReceived(object sender, DataReceivedEventArgs e) { //System.Threading.Thread.Sleep(1); //StringBuilder sb = new StringBuilder(); //foreach (var item in e.Data) //{ // sb.AppendFormat("{0:X2} ", item); //} //System.Diagnostics.Debug.WriteLine(sb.ToString()); switch (e.Data[3]) { case 0x01: WorkModeState state = WorkModeState.Disabled; if (e.Data[4] == 1) { state = WorkModeState.Enabled; } OnWorkModeChanged(new WorkModeEventArgs(state)); break; case 0x02: PartChoosed(e.Data[4]); break; case 0x03: DisplayModeChanged(e.Data[4]); break; case 0x04: OrientPosZoomChanged(e.Data.Skip(3).ToArray()); break; case 0x05: OrientPosZoomChanged(e.Data.Skip(3).ToArray()); //Console.WriteLine(dataRead.Length); break; case 0x06: OrientPosZoomChanged(e.Data.Skip(3).ToArray()); break; case 0xFE: OnEndReceive(new EventArgs()); break; case 0xFD: int tmpRoll = ConvertUnsignedToSigned(e.Data[4], e.Data[5]); OnTest(new TestEventArgs(tmpRoll)); break; default: break; } }
public WorkModeEventArgs(WorkModeState state) { State = state; }
public WorkModeContext(MainModel radio, WorkModeState verify) { Radio = radio; this.verify = verify; }
public StepConfiguration WorkMode(WorkModeState verify) { RadioContext context = new WorkModeContext(radio, verify); return(LoadContext(context)); }
public static bool OutOfRange(WorkModeState value) => value < 0 || (int)value >= numberPosiotion;
public static double ToAngle(WorkModeState value) => (int)value * k;