public static dynamic DecodeMessage(MessageTypeEnum msgType, byte[] msgBytes) { switch (msgType) { case MessageTypeEnum.VarList: return(VarTypeListModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.StatusError: return(ErrorStatusModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.StatusOk: return(OkStatusModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.StatusRequest: return(StatusRequestModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.MonitorStart: return(MonitorStartModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.MonitorStop: return(MonitorStopModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.VarListRequest: return(VarListRequestModel.DecodeByteArray(msgBytes)); case MessageTypeEnum.VarValues: return(msgBytes); case MessageTypeEnum.BTInput: return(BTInputModel.DecodeByteArray(msgBytes)); default: return(null); } }
public void JoyStickInput(GamePadInputModel input) { if (input.Value < 0) { input.Value = 1; // remove the negative number from the D-Pad } // write the info to the GUI somehow Callback.SetPadControlText(input.ToString()); if (IsConnected) { // get model BTInputModel Model = new BTInputModel { Value = Convert.ToUInt16(input.Value), Key = Convert.ToByte(input.InputNumber) }; // message type MessageTypeEnum msgType = MessageTypeEnum.BTInput; // send UART message SendBytes(msgType, Model); } }