public void ReceivedPacket(Object sender, RecievedData data) { try { if (data.Data.Length == 18) { Byte[] decoded = this.DecodeData(data.Data); Byte crc = this.SHA256Calc(decoded[0..17])[0];
public IEnumerator DownMoney(System.Action <string> callback) { //set content WWWForm form = new WWWForm(); form.AddField("user", "rabbit"); //set headers Dictionary <string, string> headers = form.headers; headers["Cookie"] = cookie; //Send post WWW www = new WWW(disURL + "down_money.php", form.data, headers); yield return(www); if (www.error != null) { Debug.Log(www.error); callback(www.error); } else { RecievedData tempData = JsonUtility.FromJson <RecievedData>(www.text); Debug.Log("DownMoney Success with money = " + tempData.money); callback("success"); } }
protected void SetLoraData(RecievedData e, TrackerUpdateEvent tracker) { if (e is Ic880aRecievedObj) { Ic880aRecievedObj ic = e as Ic880aRecievedObj; tracker.Bandwidth = ic.Bandwidth; tracker.Calculatedcrc = ic.Calculatedcrc; tracker.Codingrate = ic.CodingRate; tracker.Crcstatus = ic.CrcStatus; tracker.Frequency = ic.Frequency; tracker.Recieverinterface = ic.Interface; //tracker.Modulation = ic.Modulation; tracker.Recieverradio = ic.Radio; tracker.Snrmax = ic.SnrMax; tracker.Snrmin = ic.SnrMin; tracker.Spreadingfactor = ic.Spreadingfactor; tracker.Time = ic.Time; } if (e is DragionoRecievedObj) { DragionoRecievedObj dragino = e as DragionoRecievedObj; tracker.Freqerror = dragino.FreqError; tracker.Crcstatus = e.Crc ? "Ok" : "Bad"; } tracker.Rssi = e.Rssi; tracker.Snr = e.Snr; tracker.Receivedtime = e.RecievedTime; }
/// <summary> /// Do not use, for interfacing with Water Mod /// </summary> private void ModHandler(object data) { if (data == null) { return; } if (data is byte[]) { Waters = MyAPIGateway.Utilities.SerializeFromBinary <List <Water> >((byte[])data); if (Waters == null) { Waters = new List <Water>(); } else { foreach (var water in Waters) { MyEntity entity = MyEntities.GetEntityById(water.planetID); if (entity != null) { water.planet = MyEntities.GetEntityById(water.planetID) as MyPlanet; } } } int count = Waters.Count; RecievedData?.Invoke(); if (count > Waters.Count) { WaterCreatedEvent?.Invoke(); } if (count < Waters.Count) { WaterRemovedEvent?.Invoke(); } } if (!Registered) { Registered = true; OnRegisteredEvent?.Invoke(); } if (data is int && (int)data != ModAPIVersion) { MyLog.Default.WriteLine("Water API V" + ModAPIVersion + " for " + ModName + " is outdated, expected V" + (int)data); MyAPIGateway.Utilities.ShowMessage(ModName, "Water API V" + ModAPIVersion + " is outdated, expected V" + (int)data); } }
private void SetSourceData(RecievedData value) { var setting = new Properties.Settings(); switch (value) { case RecievedData.Confirmed: _adressSourceData = setting.URI_CV19_Confirmed; break; case RecievedData.Recovered: _adressSourceData = setting.URI_CV19_Recovered; break; case RecievedData.Death: _adressSourceData = setting.URI_CV19_Death; break; } }
public static string GetName(this RecievedData source) { switch (source) { case RecievedData.ScaleIndicator: return("ScaleIndicator"); case RecievedData.ScannerJobAndSuffix: return("ScannerJobAndSuffix"); case RecievedData.ScannerOperation: return("ScannerOperation"); case RecievedData.None: return("None"); default: return("Undefined"); } }
private async void ListenForData() { byte[] buffer = new byte[256]; while (client.Connected) { int nBytesRead = await stream.ReadAsync(buffer); int available = client.Available; byte[] data = new byte[available + nBytesRead]; Array.Copy(buffer, data, nBytesRead); if (stream.DataAvailable) { _ = await stream.ReadAsync(data, nBytesRead, available); } byte[] decryptedData = DecryptByte(data, _Key); RecievedData?.Invoke(this, decryptedData); } }
public IEnumerable <CountryInfo> GetData(RecievedData value) { SetSourceData(value); var dates = GetDates(); var data_countries = GetCountriesData().GroupBy(i => i.Country); foreach (var item in data_countries) { CountryInfo resultItem = new CountryInfo(); resultItem.Name = item.Key; resultItem.ProvinceCount = item.Select(i => new ProvinceInfo() { Name = i.Province, Location = i.Location, Counts = i.Counts.Zip(dates, (count, date) => new ConfirmedCount(date, count)) }); yield return(resultItem); } }
private void PacketReceived(Object sender, RecievedData e) => this.Received?.Invoke(sender, e);
public BinaryPacket(String name, LoraParser.Typ typ, Single lat, Single lon, Double hdop, Double height, Double battery, UInt16 counter, Boolean has_time, Boolean has_date, Boolean has_fix, Byte sat, Boolean correct_if, String hash, RecievedData recieveddata) { this.TransferData = new LocationUpdateEvent(typ) { Name = name, BatteryLevel = battery, Counter = counter, CorrectInterface = correct_if, Hash = hash, Gps = new GpsUpdateEvent() { Latitude = lat, Longitude = lon, Hdop = hdop, Height = height, Fix = has_fix, Satelites = sat, HasTime = has_time, HasDate = has_date } }; this.Type = typ; this.SetLoraData(recieveddata, this.TransferData); }
public DebugPacket(String text, String name, Int32 version, String ipaddress, String wifissid, Boolean wifiactive, Double batteryLevel, Int32 freqOffset, LoraParser.Status devicestatus, Boolean correct_if, String hash, RecievedData recieveddata) { this.Text = text; if (devicestatus == LoraParser.Status.Unknown) { this.Type = Typ.Error; } else { this.Status = new StatusUpdateEvent() { Name = name, BatteryLevel = batteryLevel, Version = version, IpAddress = ipaddress, WifiSsid = wifissid, WifiActive = wifiactive, FrequencyOffset = freqOffset, DeviceStatus = devicestatus.ToString(), Hash = hash, CorrectInterface = correct_if }; this.SetLoraData(recieveddata, this.Status); } }
// public System.Timers.Timer t = new System.Timers.Timer(1000); public bool Run(int nCommandIndex, string strParamater) { Debug.WriteLine("run section nCommandIndex: " + nCommandIndex.ToString() + " strParamater: " + strParamater); // if (ConnectionCompleted!=null) // ConnectionCompleted(); if ((strParamater == "")) { strParamater = "7000;192.168.123.34;com1;10000;70000"; } str = strParamater.Split(';'); int API_TimeOut_ms = Convert.ToInt32(str[4]) + 10000; // 0: port // 1: ip // 2: usb port // 3: price // 4: timeout (ms) int nCommandIndex_Provider = nCommandIndex / 100; int temp = nCommandIndex % 100; int nCommandIndex_TransMode = temp / 10; temp = temp % 10; int nCommandIndex_ConType = temp; if (PEP_Pos != null) { PEP_Pos.Dispose(); } // t.Elapsed += T_Elapsed; try { switch (nCommandIndex_Provider) { case 11: //pep switch (nCommandIndex_TransMode) { case 1: //async switch (nCommandIndex_ConType) { case 1: //lan (sync) PEP_Pos = new PcPosClassLibrary.PCPOS(Convert.ToInt32(str[0]), str[1]); PEP_Pos.SetLanReceiveTimeout(Convert.ToInt32(Convert.ToInt32(str[4]) / 1000)); if (Convert.ToInt32(POS_Count) > 1) { semSepehr.Release(); //release Sepehr semaphore } CallWithTimeout(() => PEP_RD = PEP_Pos.SyncSale(Convert.ToInt32(str[3])), API_TimeOut_ms); semRecieveMessage.WaitOne(); //every thread recieved data block others //CallWithTimeout(() => RD = pos.SyncSale(Convert.ToInt32(str[3])),Convert.ToInt32( str[4])); // causing incomplete session in sync operation RefNo = PEP_RD.ReferenceNumber; Err = PEP_RD.ErrorCode.ToString(); break; case 2: //usb PEP_Pos = new PcPosClassLibrary.PCPOS(str[2]); // t.AutoReset = true; // t.Enabled = true; PEP_Pos.DataRecieved += new PcPosClassLibrary.DataRecievedEventHandler(this.Pep_pos_DataReceived); if (Convert.ToInt32(POS_Count) > 1) { semSepehr.Release(); //release Sepehr semaphore } PEP_Pos.Sale(Convert.ToInt32(str[3])); a.WaitOne(); // t.Stop(); break; } break; case 2: //sync switch (nCommandIndex_ConType) { case 1: //lan Debug.WriteLine("pep : " + nCommandIndex.ToString() + " : " + strParamater); string str1 = ""; for (int i = 0; i < 5; i++) { str1 += str[i]; } Debug.WriteLine("pep : " + str1); PEP_Pos = new PcPosClassLibrary.PCPOS(Convert.ToInt32(str[0]), str[1]); PEP_Pos.SetLanReceiveTimeout(Convert.ToInt32(Convert.ToInt32(str[4]) / 1000)); if (Convert.ToInt32(POS_Count) > 1) { semSepehr.Release(); //release Sepehr semaphore } CallWithTimeout(() => PEP_RD = PEP_Pos.SyncSale(Convert.ToInt32(str[3])), API_TimeOut_ms); semRecieveMessage.WaitOne(); //every thread recieved data blocked others Debug.WriteLine("------------- semRecieveMessage waitOne "); //CallWithTimeout(() => RD = pos.SyncSale(Convert.ToInt32(str[3])),Convert.ToInt32( str[4])); // causing incomplete session in sync operation RefNo = PEP_RD.ReferenceNumber; Err = PEP_RD.ErrorCode.ToString(); break; case 2: //usb PEP_Pos = new PcPosClassLibrary.PCPOS(str[2]); PEP_Pos.SetLanReceiveTimeout(Convert.ToInt32(Convert.ToInt32(str[4]) / 1000)); semSepehr.Release(); //release Sepehr semaphore CallWithTimeout(() => PEP_RD = PEP_Pos.SyncSale(Convert.ToInt32(str[3])), API_TimeOut_ms); semRecieveMessage.WaitOne(); //every thread recieved data block others //CallWithTimeout(() => RD = pos.SyncSale(Convert.ToInt32(str[3])),Convert.ToInt32( str[4])); // causing incomplete session in sync operation RefNo = PEP_RD.ReferenceNumber; Err = PEP_RD.ErrorCode.ToString(); break; } break; } break; case 12: //sepehr switch (nCommandIndex_TransMode) { case 1: //async switch (nCommandIndex_ConType) { case 1: //lan (sync) return(false); case 2: //usb return(false); } break; case 2: //sync switch (nCommandIndex_ConType) { case 1: //lan Debug.WriteLine("sepehr : " + nCommandIndex.ToString() + " : " + strParamater); string str1 = ""; for (int i = 0; i < 5; i++) { str1 += str[i]; } Debug.WriteLine("sepehr : " + str1); clsCommunication clsCommunicationObj = new clsCommunication(); clsCommunicationObj.ConnType = (int)clsCommunication.connectionType.ETHERNET; clsCommunicationObj.IPAddress = str[1]; clsCommunicationObj.IPPort = Convert.ToInt32(str[0]); clsCommunicationObj.TimeOut = Convert.ToInt32(Convert.ToInt32(str[4]) / 1000); // force 20 sec Sepehr_transaction = new clsMessage(); Sepehr_req.msgTyp = clsMessage.msgType.Sale; Sepehr_req.terminalID = ""; Sepehr_req.amount = str[3]; Sepehr_transaction.request = Sepehr_req; if (Convert.ToInt32(POS_Count) > 1) { semSepehr.WaitOne(); // wait until others begin } int SendretCode = Sepehr_transaction.SendMessage(0); if (SendretCode != 0) { Err = (100).ToString(); semRecieveMessage.WaitOne(); Debug.WriteLine("------------- semRecieveMessage waitOne "); goto end; } // not send int RecieveretCode = 0; CallWithTimeout(() => RecieveretCode = Sepehr_transaction.ReceiveMessage(0), API_TimeOut_ms); semRecieveMessage.WaitOne(); //every thread recieved data block others Debug.WriteLine("------------- semRecieveMessage waitOne "); if (RecieveretCode != 0) { Err = (RecieveretCode + 110).ToString(); goto end; } //not recieved // 110-1 : 109 : not recived // 110-5:105 : timeout // else : Message MAC Error string POSErrCode = Sepehr_transaction.response.AppResponseCode; if (Sepehr_transaction.response.AppResponseCode != "00") { Err = (Convert.ToInt32(POSErrCode) + 200).ToString(); goto end; } //POS Err code: +200 RefNo = Sepehr_transaction.response.SystemTraceNumber == "000000000000" ? "0":Sepehr_transaction.response.SystemTraceNumber; // 000000000000 -> 0 break; case 2: //usb break; } break; } break; } end: Debug.WriteLine("Error:" + Err + "\n RefNo:" + RefNo); } catch (Exception ex) { if (ex.Message == "The operation has timed out.") //handle Exception (CallWithTimeout) { if (nCommandIndex_Provider == 11) //PEP { Err = "132"; } else if (nCommandIndex_Provider == 12) //Sepehr { Err = "105"; } } Debug.WriteLine("Run Api Func Exception:" + ex.ToString() + "\n API_TimeOut_ms: " + API_TimeOut_ms); if (PEP_Pos != null) { PEP_Pos.cancelTrans(); } return(false); } return(true); }