Ignore:
Timestamp:
Jul 23, 2015, 3:21:02 PM (9 years ago)
Author:
coas-nagasima
Message:

ECHONET Lite規格に準拠していない動作を修正。
WebSocketの接続先URLを/webapi.ashxから/webapiに変更。
DHCPのリトライ処理が行われていなかったのを修正。
DHCPの有効/無効設定を追加し、固定IPアドレスを設定できるよう変更。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/tools/EcnlControllerUI/EcnlControllerUI/CtrlUI.cs

    r108 r125  
    9999        DeviceController.DeviceInfo m_CurrentNode
    100100        {
    101                 get             {                       return _m_CurrentNode;          }
     101                get { return _m_CurrentNode; }
    102102                set
    103103                {
     
    118118                m_WampClient.addOpenCallback(WampClientConnected);
    119119                m_WampClient.addCloseCallback(WampClientDisconnected);
    120                 m_WampClient.connect("ws://" + Window.Location.Host + "/webapi.ashx");
     120                m_WampClient.connect("ws://" + Window.Location.Host + "/webapi");
    121121        }
    122122
     
    160160                PropertyList.Change(PropertyChange);
    161161                SetInitParamsBtn.Click(SetInitParams);
     162                GetInitParamsBtn.Click(GetInitParams);
    162163        }
    163164
     
    506507                if (connect && !m_WampClient.isConnecting()) {
    507508                        Debug.WriteLine("m_WampClient.isConnecting():" + m_WampClient.isConnecting().ToString());
    508                         m_WampClient.connect("ws://" + Window.Location.Host + "/webapi.ashx");
     509                        m_WampClient.connect("ws://" + Window.Location.Host + "/webapi");
    509510                }
    510511                //接続スイッチがOff && m_WampClient.isConnecting() ==true
     
    911912        {
    912913                var macaddrfrm = new Regex("([0-9A-Fa-f]{2}):([0-9A-Fa-f]{2}):([0-9A-Fa-f]{2}):([0-9A-Fa-f]{2}):([0-9A-Fa-f]{2}):([0-9A-Fa-f]{2})");
     914                var ipaddrfrm = new Regex("([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})");
    913915
    914916                var m = macaddrfrm.Exec(MacAddrTxt.GetValue());
     
    916918                        return;
    917919
    918                 var ma1 = Byte.Parse(m[1], 16);
    919                 var ma2 = Byte.Parse(m[2], 16);
    920                 var ma3 = Byte.Parse(m[3], 16);
    921                 var ma4 = Byte.Parse(m[4], 16);
    922                 var ma5 = Byte.Parse(m[5], 16);
    923                 var ma6 = Byte.Parse(m[6], 16);
     920                var macAddr = "\"macAddr\":["
     921                        + Byte.Parse(m[1], 16) + ","
     922                        + Byte.Parse(m[2], 16) + ","
     923                        + Byte.Parse(m[3], 16) + ","
     924                        + Byte.Parse(m[4], 16) + ","
     925                        + Byte.Parse(m[5], 16) + ","
     926                        + Byte.Parse(m[6], 16) + "]";
     927
     928                var dhcpEnable = "\"dhcpEnable\":" + DhcpEnableCb.Prop("checked").ToString();
     929
     930                m = ipaddrfrm.Exec(IpAddrTxt.GetValue());
     931                if (m == null)
     932                        return;
     933
     934                var ipAddr = "\"ipAddr\":["
     935                        + Byte.Parse(m[1]) + ","
     936                        + Byte.Parse(m[2]) + ","
     937                        + Byte.Parse(m[3]) + ","
     938                        + Byte.Parse(m[4]) + "]";
     939
     940
     941                m = ipaddrfrm.Exec(NetmaskTxt.GetValue());
     942                if (m == null)
     943                        return;
     944
     945                var netmask = "\"netmask\":["
     946                        + Byte.Parse(m[1]) + ","
     947                        + Byte.Parse(m[2]) + ","
     948                        + Byte.Parse(m[3]) + ","
     949                        + Byte.Parse(m[4]) + "]";
     950
     951
     952                m = ipaddrfrm.Exec(GatewayTxt.GetValue());
     953                if (m == null)
     954                        return;
     955
     956                var gateway = "\"gateway\":["
     957                        + Byte.Parse(m[1]) + ","
     958                        + Byte.Parse(m[2]) + ","
     959                        + Byte.Parse(m[3]) + ","
     960                        + Byte.Parse(m[4]) + "]";
    924961
    925962                m_WampClient.sendCall("{}", "jp.toppers.ecnl.procedure.setInitParams", "[]",
    926                         "{\"macAddr\":[" + ma1 + "," + ma2 + "," + ma3 + "," + ma4 + "," + ma5 + "," + ma6 + "]}", SetInitParamsRes);
     963                        "{" + macAddr + "," + dhcpEnable + "," + ipAddr + "," + netmask + "," + gateway + "}", SetInitParamsRes);
    927964        }
    928965
     
    9651002                }
    9661003
    967                 var macaddr = (byte[])(((dynamic[])args)[4].macAddr);
     1004                dynamic param = ((dynamic[])args)[4];
     1005                var macaddr = (byte[])(param.macAddr);
    9681006                MacAddrTxt.Value(String.Format("{0:X02}:{1:X02}:{2:X02}:{3:X02}:{4:X02}:{5:X02}",
    9691007                        macaddr[0], macaddr[1], macaddr[2], macaddr[3], macaddr[4], macaddr[5]));
     1008
     1009                var dhcpEnable = (bool)(param.dhcpEnable);
     1010                DhcpEnableCb.Prop("checked", dhcpEnable).CheckboxRadio("refresh");
     1011
     1012                var ipaddr = (byte[])(param.ipAddr);
     1013                IpAddrTxt.Value(String.Format("{0}:{1}:{2}:{3}",
     1014                        ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]));
     1015
     1016                var netmask = (byte[])(param.netmask);
     1017                NetmaskTxt.Value(String.Format("{0}:{1}:{2}:{3}",
     1018                        netmask[0], netmask[1], netmask[2], netmask[3]));
     1019
     1020                var gateway = (byte[])(param.gateway);
     1021                GatewayTxt.Value(String.Format("{0}:{1}:{2}:{3}",
     1022                        gateway[0], gateway[1], gateway[2], gateway[3]));
    9701023        }
    9711024
     
    10051058        /// <summary>MACアドレス入力</summary>
    10061059        public jQueryObject MacAddrTxt { get { return jQuery.Select("#txt_mac_addr", page); } }
     1060
     1061        /// <summary>DHCP有効/無効</summary>
     1062        public jQueryObject DhcpEnableCb { get { return jQuery.Select("#cb_dhcp_enable", page); } }
     1063
     1064        /// <summary>IPアドレス入力</summary>
     1065        public jQueryObject IpAddrTxt { get { return jQuery.Select("#txt_ip_addr", page); } }
     1066
     1067        /// <summary>サブネットマスク入力</summary>
     1068        public jQueryObject NetmaskTxt { get { return jQuery.Select("#txt_netmask", page); } }
     1069
     1070        /// <summary>デフォルトゲートウェイ入力</summary>
     1071        public jQueryObject GatewayTxt { get { return jQuery.Select("#txt_gateway", page); } }
    10071072
    10081073        public void pinMode_Change(UIFieldSet fieldset, int pin)
Note: See TracChangeset for help on using the changeset viewer.