Пример #1
0
        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();
             });
         }
     }
 }