private async void TransceiverOnMessageReceived(object sender, ReceivedMessageEventArgs e) { ReceivedMessage message = e.Message; Debug.WriteLine("Received: " + message); if (!message.CrcOk || message.Timeout) { return; } var rxpkMessage = new RxpkMessage( message.UtcTimestamp, GetElapsedMicroSeconds(), _gatewaySettings.Frequency / 1000000.0, 0, 0, 1, "LORA", _datr, _codr, message.PacketRssi, message.PacketSnr, (uint)message.Buffer.Length, Convert.ToBase64String(message.Buffer)); JsonObject jsonData = JsonSerializer.ToJson(rxpkMessage); Debug.WriteLine("Sending JSON: " + jsonData); await PushData(jsonData).ConfigureAwait(false); _forwardedFrameCount++; }
public static JsonObject ToJson(RxpkMessage message) { return(new JsonObject { { "rxpk", new JsonArray { new JsonObject { { "time", JsonValue.CreateStringValue(message.Time.ToString("o")) }, { "tmst", JsonValue.CreateNumberValue(message.Tmst) }, { "freq", JsonValue.CreateNumberValue(message.Freq) }, { "chan", JsonValue.CreateNumberValue(message.Chan) }, { "rfch", JsonValue.CreateNumberValue(message.Rfch) }, { "stat", JsonValue.CreateNumberValue(message.Stat) }, { "modu", JsonValue.CreateStringValue(message.Modu) }, { "datr", JsonValue.CreateStringValue(message.Datr) }, { "codr", JsonValue.CreateStringValue(message.Codr) }, { "rssi", JsonValue.CreateNumberValue(message.Rssi) }, { "lsnr", JsonValue.CreateNumberValue(message.Lsnr) }, { "size", JsonValue.CreateNumberValue(message.Size) }, { "data", JsonValue.CreateStringValue(message.Data) } } } } }); }