private void startScanBtn_Click(object sender, EventArgs e) { foundDevicesListView.Items.Clear(); ushort responseTime = 0; try { responseTime = Convert.ToUInt16(responseTimeTb.Text); } catch (Exception eee) { MessageBox.Show("Yanıt süresinin değerini kontrol ediniz.."); return; } RadioMessageType messageType = RadioMessageType.DISCOVER_NEIGHBOUR_REQUEST; RadioServiceType serviceType = RadioServiceType.BROADCAST_SERVICE; byte[] messagePayload = new byte[10]; DateTime dateTime = DateTime.Now; if (syncClocksCb.Checked) { messagePayload[0] = 0x01; // sync clock } else { messagePayload[0] = 0x00; // dont sync clock } messagePayload[1] = 12; // DeviceType -> GATEWAY messagePayload[2] = (byte)(responseTime >> 8); messagePayload[3] = (byte)(responseTime & 0xFF); messagePayload[4] = (byte)dateTime.Hour; /* Cihaz Saati */ //kaanbak : burada gateway'in saatini de kontrol etmemiz gerekiyor.. messagePayload[5] = (byte)dateTime.Minute; messagePayload[6] = (byte)dateTime.Second; messagePayload[7] = (byte)dateTime.Day; messagePayload[8] = (byte)dateTime.Month; messagePayload[9] = (byte)(dateTime.Year - 2000); LoRaManager.Instance.SendLoRaPackageToRemoteDevice(255, messageType, serviceType, messagePayload, 10, responseTime, 0); try { ProgressBarTimerTickCount = (ushort)(responseTime / progressBarTimer.Interval); CurrentProgressBarTimerTickCount = ProgressBarTimerTickCount; scanningProgresBar.Maximum = responseTime; scanningProgresBar.Minimum = 0; scanningProgresBar.Value = 0; progressBarTimer.Start(); startScanBtn.Enabled = false; label2.Text = "Tarama Devam ediyor.."; } catch (Exception ee) { MessageBox.Show(ee.Message); } }
public void SendLoRaPackageToRemoteDevice(byte destinationIdParam, RadioMessageType messageTypeParam, RadioServiceType serviceTypeParam, byte[] dataParam, UInt16 lengthParam, ushort timeoutParam, byte retryCountParam) { byte[] packageData = new byte[lengthParam + 7]; packageData[0] = (byte)(destinationIdParam); packageData[1] = (byte)messageTypeParam; packageData[2] = (byte)serviceTypeParam; packageData[3] = (byte)(timeoutParam >> 8); packageData[4] = (byte)(timeoutParam & 0xFF); packageData[5] = retryCountParam; packageData[6] = (byte)lengthParam; Array.Copy(dataParam, 0, packageData, 7, lengthParam); EthernetManager.Instance.SendRemoteDeviceCmd(Ethernet_MessageIDs_t.INCOMING_CMD_LORA_SEND_PACKAGE_REQUEST, (ushort)(lengthParam + 7), packageData); }