Example #1
0
        public BatchTypeDataAccessActor()
        {
            var configActor = Context.ActorSelection(SystemPathsConstants.ConfigActorPath);
            var message     = new ConfigMessage(SystemConstants.BatchSize);

            configActor.Tell(message, Self);
        }
Example #2
0
        void HandleMessage(ConfigMessage message)
        {
            Config = message.Config;

            if (message is InitializeMessage)
            {
                SendMessage(new StartupMessage(Process.GetCurrentProcess().Id));
            }
        }
Example #3
0
    public void SendMessage_Config()
    {
        var configMessage = new ConfigMessage();

        configMessage.ClientId        = (byte)ClientID;
        configMessage.SampleRate      = Client.SampleRate;
        configMessage.SlicesPerSecond = Client.ChunksPerSecond;

        WriteBytesToStream(configMessage.GetBytes(), networkStream);

        NeedsConfig = false;
    }
Example #4
0
        public static bool ConvertDeleteConfig(EdgeConfig config, ref string payload)
        {
            // add by kelly start

            try
            {
                if (config == null)
                {
                    return(false);
                }

                ConfigMessage msg = new ConfigMessage();

                msg.ScadaList = new Dictionary <string, ConfigMessage.ScadaObject>();

                ConfigMessage.ScadaObject scadaObj = new ConfigMessage.ScadaObject()
                {
                    //Id = config.Scada.Id,
                    //DeviceType = config.Scada.DeviceType,

                    DeviceType = SCADAConfigType.SCADA,

                    Description = config.Scada.Description,

                    PortNumber = config.Scada.PortNumber,

                    HeartBeat = config.Scada.HeartBeat,

                    BackupDeviceId = config.Scada.BackupDeviceId,

                    DeleteAllTags = 1
                };

                //scadaObj.UpdateTagList = new Dictionary<string, ConfigMessage.TagObject>();

                msg.ScadaList.Add(config.Scada.Id, scadaObj);


                payload = JsonConvert.SerializeObject(msg, Formatting.None, new JsonSerializerSettings {
                    NullValueHandling = NullValueHandling.Ignore
                });
                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(false);
            }
            // add by kelly end
            return(true);
        }
Example #5
0
        public static bool ConfigMessageBitParserTest()
        {
            var derp = new ConfigMessage();

            for (int i = 1; i < 65535; i++)
            {
                derp.SampleRate = i;
                if (derp.SampleRate != i)
                {
                    Console.WriteLine($"FAILED\n\t{derp.SampleRate}:{i}");
                    return(false);
                }
            }
            Console.WriteLine($"Passed!");
            return(true);
        }
Example #6
0
        string GetConfig(ConfigMessage message)
        {
            if (!_configurationDictionary.ContainsKey(message.Key))
            {
                var value = _systemConfig.GetAppConfigKey(message.Key);
                if (string.IsNullOrWhiteSpace(value))
                {
                    var e = new ConfigurationException($"Failed to find config with name:{message.Key}");

                    Sender.Tell(new Failure {
                        Exception = e
                    }, Self);
                }

                _configurationDictionary.Add(message.Key, value);
            }

            return(_configurationDictionary[message.Key]);
        }
Example #7
0
    void ConfigureAudioStream()
    {
        ConfigMessage m = new ConfigMessage();

        Buffer.BlockCopy(new float[1] {
            187.420f
        }, 0, m.data, 0, sizeof(float));

        StreamUtils.WriteMessageToStream(m, networkStream);

        var start = Environment.TickCount;

        while (configMessagesFromServer.Count == 0)
        {
            StreamUtils.ParseMessages
            (
                networkStream,
                ref audioMessagesFromServer,
                ref poseMessagesFromServer,
                ref configMessagesFromServer
            );

            if ((Environment.TickCount - start) > 10_000)            //wait 10 seconds
            {
                Debug.LogError("server failed");
                return;
            }
        }

        //I *think* this should never fail at this point
        try
        {
            var configMessageFromServer = configMessagesFromServer[configMessagesFromServer.Count - 1];
            AudioManager.Init(0, configMessageFromServer.SampleRate, configMessageFromServer.SlicesPerSecond, 1);
        }
        catch (Exception e)
        {
            throw e;
        }
    }
Example #8
0
        private void DealObdDeviceMessage(TopflytechCodec.Entities.Message message, Socket socket)
        {
            string strClientKey = socket.RemoteEndPoint.ToString();

            if (message is TopflytechCodec.Entities.SignInMessage)
            {
                SignInMessage signInMessage = (SignInMessage)message;
                ShowMsg("receive signIn Message imei :" + signInMessage.Imei + " serial no: " + signInMessage.SerialNo + " firmware :" + signInMessage.Firmware + " software: " + signInMessage.Software + "platform:" + signInMessage.Platform);
                //some  model device,need serial no,reply this message
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getSignInMsgReply(signInMessage.Imei, true, signInMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getSignInMsgReply(signInMessage.Imei, true, signInMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is TopflytechCodec.Entities.HeartbeatMessage)
            {
                HeartbeatMessage heartbeatMessage = (HeartbeatMessage)message;
                ShowMsg("receive heartbeat Message imei :" + heartbeatMessage.Imei + " serial no: " + heartbeatMessage.SerialNo);
                //some model device,need serial no,reply this message
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getHeartbeatMsgReply(heartbeatMessage.Imei, true, heartbeatMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getHeartbeatMsgReply(heartbeatMessage.Imei, true, heartbeatMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is TopflytechCodec.Entities.LocationInfoMessage)
            {
                LocationInfoMessage locationInfoMessage = (LocationInfoMessage)message;
                ShowMsg("receive location Info Message imei :" + locationInfoMessage.Imei + " serial no: " + locationInfoMessage.SerialNo);
                ShowMsg("lat:" + locationInfoMessage.Latitude + " lng:" + locationInfoMessage.Longitude);
                //some model device, these is the code of 8806 plus.
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getLocationMsgReply(locationInfoMessage.Imei, true, locationInfoMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getLocationMsgReply(locationInfoMessage.Imei, true, locationInfoMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is TopflytechCodec.Entities.LocationAlarmMessage)
            {
                LocationAlarmMessage locationAlarmMessage = (LocationAlarmMessage)message;
                ShowMsg("receive location alarm Message imei :" + locationAlarmMessage.Imei + " serial no: " + locationAlarmMessage.SerialNo + " Alarm is : " + locationAlarmMessage.OriginalAlarmCode);
                ShowMsg("lat:" + locationAlarmMessage.Latitude + " lng:" + locationAlarmMessage.Longitude);
                //some model device,need serial no,reply this message
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getLocationAlarmMsgReply(locationAlarmMessage.Imei, true, locationAlarmMessage.SerialNo, locationAlarmMessage.OriginalAlarmCode);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getLocationAlarmMsgReply(locationAlarmMessage.Imei, true, locationAlarmMessage.SerialNo, locationAlarmMessage.OriginalAlarmCode);
                dict[strClientKey].Send(reply);
            }
            else if (message is GpsDriverBehaviorMessage)
            {
                GpsDriverBehaviorMessage gpsDriverBehaviorMessage = (GpsDriverBehaviorMessage)message;
                ShowMsg("receive gps driver behavior message :" + gpsDriverBehaviorMessage.Imei);
                ShowMsg("behavior is :" + getGpsDriverBehaviorDescription(gpsDriverBehaviorMessage.BehaviorType));
                //some model device,need serial no,reply this message
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getGpsDriverBehaviorMsgReply(gpsDriverBehaviorMessage.Imei, gpsDriverBehaviorMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getGpsDriverBehaviorMsgReply(gpsDriverBehaviorMessage.Imei, gpsDriverBehaviorMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is TopflytechCodec.Entities.ConfigMessage)
            {
                ConfigMessage configMessage = (ConfigMessage)message;
                ShowMsg("receive config Message imei :" + configMessage.Imei + " serial no: " + configMessage.SerialNo + " config Content:" + configMessage.ConfigResultContent);
            }
            else if (message is TopflytechCodec.Entities.AccelerationDriverBehaviorMessage)
            {
                AccelerationDriverBehaviorMessage accelerationDriverBehaviorMessage = (AccelerationDriverBehaviorMessage)message;
                ShowMsg("receive acceleration driver behavior message :" + accelerationDriverBehaviorMessage.Imei);
                ShowMsg("behavior is :" + getGpsDriverBehaviorDescription(accelerationDriverBehaviorMessage.BehaviorType));
                //some model device,need serial no,reply this message
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getAccelerationDriverBehaviorMsgReply(accelerationDriverBehaviorMessage.Imei, accelerationDriverBehaviorMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getAccelerationDriverBehaviorMsgReply(accelerationDriverBehaviorMessage.Imei, accelerationDriverBehaviorMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is TopflytechCodec.Entities.AccidentAccelerationMessage)
            {
                AccidentAccelerationMessage accidentAccelerationMessage = (AccidentAccelerationMessage)message;
                ShowMsg("receive accident acceleration message :" + accidentAccelerationMessage.Imei);
                //some model device,need serial no,reply this message
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getAccelerationAlarmMsgReply(accidentAccelerationMessage.Imei, accidentAccelerationMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getAccelerationAlarmMsgReply(accidentAccelerationMessage.Imei, accidentAccelerationMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is BluetoothPeripheralDataMessage)
            {
                BluetoothPeripheralDataMessage bluetoothPeripheralDataMessage = (BluetoothPeripheralDataMessage)message;
                ShowMsg("receive bluetooth peripheral data message:" + bluetoothPeripheralDataMessage.Imei);
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getBluetoothPeripheralMsgReply(bluetoothPeripheralDataMessage.Imei, bluetoothPeripheralDataMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getBluetoothPeripheralMsgReply(bluetoothPeripheralDataMessage.Imei, bluetoothPeripheralDataMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is NetworkInfoMessage)
            {
                NetworkInfoMessage networkInfoMessage = (NetworkInfoMessage)message;
                ShowMsg("receive network info message :" + networkInfoMessage.Imei);
                //if (message.IsNeedResp)
                //{
                //    byte[] reply = t880xdEncoder.getNetworkMsgReply(networkInfoMessage.Imei, networkInfoMessage.SerialNo);
                //    dict[strClientKey].Send(reply);
                //}
                byte[] reply = t880xdEncoder.getNetworkMsgReply(networkInfoMessage.Imei, networkInfoMessage.SerialNo);
                dict[strClientKey].Send(reply);
            }
            else if (message is ForwardMessage)
            {
                ForwardMessage forwardMessage = (ForwardMessage)message;
                ShowMsg("receive debug message :" + forwardMessage.Imei + " : " + forwardMessage.Content);
            }
            else if (message is USSDMessage)
            {
                USSDMessage ussdMessage = (USSDMessage)message;
                ShowMsg("receive ussd message :" + ussdMessage.Imei + " : " + ussdMessage.Content);
            }
        }
Example #9
0
        public static bool ConvertCreateOrUpdateConfig(EdgeConfig config, ref string payload, int heartbeat = EdgeAgent.DEAFAULT_HEARTBEAT_INTERVAL)
        {
            try
            {
                if (config == null)
                {
                    return(false);
                }

                ConfigMessage msg = new ConfigMessage();

                msg.ScadaList = new Dictionary <string, ConfigMessage.ScadaObject>();

                ConfigMessage.ScadaObject scadaObj = new ConfigMessage.ScadaObject()
                {
                    //Id = config.Scada.Id,
                    //DeviceType = config.Scada.DeviceType,

                    DeviceType = SCADAConfigType.SCADA,

                    Description = config.Scada.Description,

                    PortNumber = config.Scada.PortNumber,

                    HeartBeat = config.Scada.HeartBeat,

                    BackupDeviceId = config.Scada.BackupDeviceId
                };

                scadaObj.UpdateTagList = new Dictionary <string, ConfigMessage.TagObject>();

                if (config.Scada.AnalogTagList != null)
                {
                    foreach (var analogTag in config.Scada.AnalogTagList)
                    {
                        ConfigMessage.AnalogTagObject analogTagObject = new ConfigMessage.AnalogTagObject()
                        {
                            // Common
                            Name = analogTag.Name,

                            Type = TagType.Analog,

                            Description = analogTag.Description,

                            ReadOnly = (analogTag.ReadOnly != null) ? Convert.ToInt32(analogTag.ReadOnly) : ( int? )null,

                            ArraySize = analogTag.ArraySize,

                            // Detail
                            AlarmEnable = analogTag.AlarmEnable,

                            NeedLog = (analogTag.NeedLog != null) ? Convert.ToInt32(analogTag.NeedLog) : ( int? )null,

                            SpanHigh = analogTag.SpanHigh,

                            SpanLow = analogTag.SpanLow,

                            EngineerUnit = analogTag.EngineerUnit,

                            DisplayFormat = analogTag.DisplayFormat
                        };

                        if (analogTag.AlarmEnable == true)
                        {
                            analogTagObject.HHPriority     = analogTag.HHPriority;
                            analogTagObject.HHAlarmLimit   = analogTag.HHAlarmLimit;
                            analogTagObject.HighPriority   = analogTag.HighPriority;
                            analogTagObject.HighAlarmLimit = analogTag.HighAlarmLimit;
                            analogTagObject.LowPriority    = analogTag.LowPriority;
                            analogTagObject.LowAlarmLimit  = analogTag.LowAlarmLimit;
                            analogTagObject.LLPriority     = analogTag.LLPriority;
                            analogTagObject.LLAlarmLimit   = analogTag.LLAlarmLimit;
                        }

                        scadaObj.UpdateTagList.Add(analogTagObject.Name, analogTagObject);
                    }
                }

                if (config.Scada.DiscreteTagList != null)
                {
                    foreach (var discreteTag in config.Scada.DiscreteTagList)
                    {
                        ConfigMessage.DiscreteTagObject discreteTagObject = new ConfigMessage.DiscreteTagObject()
                        {
                            // Common
                            Name = discreteTag.Name,

                            Type = TagType.Discrete,

                            Description = discreteTag.Description,

                            ReadOnly = (discreteTag.ReadOnly != null) ? Convert.ToInt32(discreteTag.ReadOnly) : (int?)null,

                            ArraySize = discreteTag.ArraySize,

                            // Detail
                            AlarmEnable = discreteTag.AlarmEnable,

                            State0 = discreteTag.State0,
                            State1 = discreteTag.State1,
                            State2 = discreteTag.State2,
                            State3 = discreteTag.State3,
                            State4 = discreteTag.State4,
                            State5 = discreteTag.State5,
                            State6 = discreteTag.State6,
                            State7 = discreteTag.State7
                        };
                        if (discreteTag.AlarmEnable == true)
                        {
                            discreteTagObject.State0AlarmPriority = discreteTag.State0AlarmPriority;
                            discreteTagObject.State1AlarmPriority = discreteTag.State1AlarmPriority;
                            discreteTagObject.State2AlarmPriority = discreteTag.State2AlarmPriority;
                            discreteTagObject.State3AlarmPriority = discreteTag.State3AlarmPriority;
                            discreteTagObject.State4AlarmPriority = discreteTag.State4AlarmPriority;
                            discreteTagObject.State5AlarmPriority = discreteTag.State5AlarmPriority;
                            discreteTagObject.State6AlarmPriority = discreteTag.State6AlarmPriority;
                            discreteTagObject.State7AlarmPriority = discreteTag.State7AlarmPriority;
                        }

                        scadaObj.UpdateTagList.Add(discreteTagObject.Name, discreteTagObject);
                    }
                }

                if (config.Scada.TextTagList != null)
                {
                    foreach (var textTag in config.Scada.TextTagList)
                    {
                        ConfigMessage.TextTagObject textTagObject = new ConfigMessage.TextTagObject()
                        {
                            // Common
                            Name = textTag.Name,

                            Type = TagType.Text,

                            Description = textTag.Description,

                            ReadOnly = (textTag.ReadOnly != null) ? Convert.ToInt32(textTag.ReadOnly) : (int?)null,

                            ArraySize = textTag.ArraySize,
                        };

                        scadaObj.UpdateTagList.Add(textTagObject.Name, textTagObject);
                    }
                }

                msg.ScadaList.Add(config.Scada.Id, scadaObj);
                //msg.D.Id = scadaObj.Id;
                //msg.D.UpdateTagList = scadaObj.UpdateTagList;
                //msg.D.ScadaList.Add( config.Scada.Id, scadaObj );

                payload = JsonConvert.SerializeObject(msg, Formatting.None, new JsonSerializerSettings {
                    NullValueHandling = NullValueHandling.Ignore
                });
                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(false);
            }
        }
Example #10
0
 private void ReceiveConfigMessage(ConfigMessage configMessage, Guid connectionId)
 {
     _mapConnectionsToPublicKey.TryAdd(connectionId, configMessage.PublicKey);
     _mapPublicKeyToPrivateKey.TryAdd(configMessage.PublicKey, configMessage.PrivateKey);
 }
Example #11
0
 public static void WriteMessageToStream(ConfigMessage configMessage, NetworkStream networkStream)
 {
     WriteBytesToStream(configMessage.GetBytes(), networkStream);
 }