public void SendLoRaMessageToPage(byte sourceUnit, LoRa_Constants.RadioMessageType messageType, byte[] data, int rssi) { byte fileOperationsMsgId = data[0]; switch (fileOperationsMsgId) { case GET_LAST_READ_ROW_INFO: MessageBox.Show("GET_LAST_READ_ROW_INFO"); break; case GET_LAST_WRITTEN_ROW_INFO: //MessageBox.Show("GET_LAST_WRITTEN_ROW_INFO"); ushort bytesWritten = (ushort)((data[1] << 8) | (data[2])); if (bytesWritten > 240) { bytesWritten = 240; // upper limit... } char[] writtenCharBuff = new char[bytesWritten]; Array.Copy(data, 3, writtenCharBuff, 0, bytesWritten); string writtenString = new string(writtenCharBuff); responseTextLabel.Invoke((MethodInvoker) delegate { responseTextLabel.Text = writtenString; }); break; default: break; } }
public void SendLoRaMessageToPage(byte sourceUnit, LoRa_Constants.RadioMessageType messageType, byte[] data, int rssi) { if (messageType == RadioMessageType.OPERATIONAL_RESPONSE) { Operational_Message_Cmds operationalMsgCmd = (Operational_Message_Cmds)data[0]; if (operationalMsgCmd == Operational_Message_Cmds.GET_UTC_OFFSET) { utcTimeZoneTb.Invoke((MethodInvoker) delegate { sbyte utcValueTemp = (sbyte)data[1]; utcTimeZoneTb.Text = utcValueTemp.ToString(); }); } } }