Пример #1
0
        protected override void processReceivedJSONMessage(string receivedJSONmode, string message, WebSocketSession session)
        {
            var sessionparam = (SSMCOMWebsocketSessionParam)session.Items["Param"];

            switch (receivedJSONmode)
            {
            //SSM COM all reset
            case (ResetJSONFormat.ModeCode):
                sessionparam.reset();
                send_response_msg(session, "SSMCOM session RESET. All send parameters are disabled.");
                break;

            case (SSMCOMReadJSONFormat.ModeCode):
                SSMCOMReadJSONFormat msg_obj_ssmread = JsonConvert.DeserializeObject <SSMCOMReadJSONFormat>(message);
                msg_obj_ssmread.Validate();

                SSMParameterCode target_code = (SSMParameterCode)Enum.Parse(typeof(SSMParameterCode), msg_obj_ssmread.code);
                bool             flag        = msg_obj_ssmread.flag;

                if (msg_obj_ssmread.read_mode == SSMCOMReadJSONFormat.FastReadModeCode)
                {
                    sessionparam.FastSendlist[target_code] = flag;
                }
                else
                {
                    sessionparam.SlowSendlist[target_code] = flag;
                }
                send_response_msg(session, "SSMCOM session read flag for : " + target_code.ToString() + " read_mode :" + msg_obj_ssmread.read_mode + " set to : " + flag.ToString());
                break;

            case (SSMSLOWREADIntervalJSONFormat.ModeCode):
                SSMSLOWREADIntervalJSONFormat msg_obj_interval = JsonConvert.DeserializeObject <SSMSLOWREADIntervalJSONFormat>(message);
                msg_obj_interval.Validate();
                ssmcom1.SlowReadInterval = msg_obj_interval.interval;

                send_response_msg(session, "SSMCOM slowread interval to : " + msg_obj_interval.interval.ToString());
                break;

            default:
                throw new JSONFormatsException("Unsuppoted mode property.");
            }
        }
Пример #2
0
        // ssmcom WS client event
        private void _ssmcom_ws_client_Opened(object sender, EventArgs e)
        {
            //Sleep 5sec in order to wait until the session is registered to the SSM WS session snapshot.
            //Thread.Sleep(5000);

            SSMSLOWREADIntervalJSONFormat ssmcom_slowread_json = new SSMSLOWREADIntervalJSONFormat();

            ssmcom_slowread_json.interval = 20;
            _ssmcom_ws_client.Send(ssmcom_slowread_json.Serialize());

            SSMCOMReadJSONFormat ssmcom_read_json1 = new SSMCOMReadJSONFormat();

            ssmcom_read_json1.code      = SSMParameterCode.Fuel_Injection_1_Pulse_Width.ToString();
            ssmcom_read_json1.read_mode = SSMCOMReadJSONFormat.SlowReadModeCOde;
            ssmcom_read_json1.flag      = true;
            _ssmcom_ws_client.Send(ssmcom_read_json1.Serialize());

            SSMCOMReadJSONFormat ssmcom_read_json2 = new SSMCOMReadJSONFormat();

            ssmcom_read_json2.code      = SSMParameterCode.Vehicle_Speed.ToString();
            ssmcom_read_json2.read_mode = SSMCOMReadJSONFormat.FastReadModeCode;
            ssmcom_read_json2.flag      = true;
            _ssmcom_ws_client.Send(ssmcom_read_json2.Serialize());

            SSMCOMReadJSONFormat ssmcom_read_json3 = new SSMCOMReadJSONFormat();

            ssmcom_read_json3           = new SSMCOMReadJSONFormat();
            ssmcom_read_json3.code      = SSMParameterCode.Vehicle_Speed.ToString();
            ssmcom_read_json3.read_mode = SSMCOMReadJSONFormat.SlowReadModeCOde;
            ssmcom_read_json3.flag      = true;
            _ssmcom_ws_client.Send(ssmcom_read_json3.Serialize());

            SSMCOMReadJSONFormat ssmcom_read_json4 = new SSMCOMReadJSONFormat();

            ssmcom_read_json4           = new SSMCOMReadJSONFormat();
            ssmcom_read_json4.code      = SSMParameterCode.Fuel_Injection_1_Pulse_Width.ToString();
            ssmcom_read_json4.read_mode = SSMCOMReadJSONFormat.FastReadModeCode;
            ssmcom_read_json4.flag      = true;
            _ssmcom_ws_client.Send(ssmcom_read_json4.Serialize());
        }