- Timestamp:
- Jul 23, 2015, 3:21:02 PM (8 years ago)
- Location:
- uKadecot/trunk
- Files:
-
- 2 added
- 2 deleted
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
uKadecot/trunk/ecnl_ssp/echonet_task.c
r108 r125 157 157 static void _ecn_tsk_ecn_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id); 158 158 159 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_ update,159 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update, 160 160 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv, 161 161 ECN_FBS_ID *fa_fbs_anno); … … 164 164 static void _ecn_tsk_eoj_res(ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, 165 165 ECN_SRV_CODE fa_sna_esv); 166 static void _ecn_tsk_eoj_set_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, 166 static void _ecn_tsk_eoj_set_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, 167 167 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv, 168 168 ECN_FBS_ID *fa_fbs_anno); 169 static void _ecn_tsk_eoj_set_get_res(const EOBJINIB *fp_obj, ATR fa_eobjatr, 169 static void _ecn_tsk_eoj_set_get_res(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, 170 170 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno); 171 171 … … 775 775 if ((p_eoj->eojx1 == EOJ_X1_PROFILE) 776 776 && (p_eoj->eojx2 == EOJ_X2_NODE_PROFILE)) { 777 /* 電文処理実行 */ 778 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_nod->profile, eobjatr, p_sobj, sobjatr) == 1) 779 a_fwd = true; 780 a_prc = true; 777 if ((p_eoj->eojx3 == p_nod->profile->eojx3) 778 || (p_eoj->eojx3 == 0)) { 779 /* 電文処理実行 */ 780 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_nod->profile, eobjatr, p_sobj, sobjatr) == 1) 781 a_fwd = true; 782 a_prc = true; 783 } 784 /* 0x74 プロパティ値通知(応答要)の場合処理したことにする */ 785 else if (p_esv->edata.esv == ESV_INFC) { 786 a_prc = true; 787 } 781 788 } 782 789 /* 機器オブジェクトの場合 */ … … 843 850 T_ECN_EDT_HDR *p_esv; 844 851 ECN_FBS_ID a_fbs_anno = { NULL }; 852 bool_t fromapp = sobjatr == EOBJ_LOCAL_NODE; 845 853 846 854 p_esv = &((T_EDATA *)fa_fbs_id.ptr)->hdr; … … 855 863 break; 856 864 } 857 _ecn_tsk_eoj_set(p_obj, eobjatr, f alse, fa_fbs_id, ESV_NOP, ESV_SET_I_SNA, &a_fbs_anno); /* 0; 0x50 */865 _ecn_tsk_eoj_set(p_obj, eobjatr, fromapp, false, fa_fbs_id, ESV_NOP, ESV_SET_I_SNA, &a_fbs_anno); /* 0; 0x50 */ 858 866 result = 0; 859 867 break; … … 867 875 break; 868 876 } 869 _ecn_tsk_eoj_set(p_obj, eobjatr, f alse, fa_fbs_id, ESV_SET_RES, ESV_SET_C_SNA, &a_fbs_anno); /* 0x71; 0x51 */877 _ecn_tsk_eoj_set(p_obj, eobjatr, fromapp, false, fa_fbs_id, ESV_SET_RES, ESV_SET_C_SNA, &a_fbs_anno); /* 0x71; 0x51 */ 870 878 result = 0; 871 879 break; … … 904 912 break; 905 913 } 906 _ecn_tsk_eoj_set_get(p_obj, eobjatr, f a_fbs_id, ESV_SET_GET_RES, ESV_SET_GET_SNA, &a_fbs_anno); /* 0x7E; 0x5E */914 _ecn_tsk_eoj_set_get(p_obj, eobjatr, fromapp, fa_fbs_id, ESV_SET_GET_RES, ESV_SET_GET_SNA, &a_fbs_anno); /* 0x7E; 0x5E */ 907 915 result = 0; 908 916 break; … … 912 920 if (!p_sobj) 913 921 _ecn_tsk_eoj_res(fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES); /* 0x74; 0 */ 914 else if ( sobjatr == EOBJ_LOCAL_NODE)922 else if (fromapp) 915 923 _ecn_tsk_eoj_get(p_sobj, sobjatr, true, (EPC_RULE_GET|EPC_RULE_ANNO), fa_fbs_id, ESV_INFC, ESV_NOP); /* 0x74; 0 */ 916 924 else 917 _ecn_tsk_eoj_set(p_sobj, sobjatr, true, fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES, &a_fbs_anno); /* 0x7A; 0 */925 _ecn_tsk_eoj_set(p_sobj, sobjatr, fromapp, true, fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES, &a_fbs_anno); /* 0x7A; 0 */ 918 926 result = 0; 919 927 break; … … 939 947 break; 940 948 } 941 _ecn_tsk_eoj_set(p_sobj, sobjatr, true, fa_fbs_id, ESV_NOP, ESV_NOP, &a_fbs_anno); /* 0; 0 */949 _ecn_tsk_eoj_set(p_sobj, sobjatr, fromapp, true, fa_fbs_id, ESV_NOP, ESV_NOP, &a_fbs_anno); /* 0; 0 */ 942 950 result = 1; 943 951 break; … … 952 960 break; 953 961 } 954 _ecn_tsk_eoj_set(p_sobj, sobjatr, true, fa_fbs_id, ESV_NOP, ESV_NOP, &a_fbs_anno); /* 0; 0 */962 _ecn_tsk_eoj_set(p_sobj, sobjatr, fromapp, true, fa_fbs_id, ESV_NOP, ESV_NOP, &a_fbs_anno); /* 0; 0 */ 955 963 result = 1; 956 964 break; … … 965 973 break; 966 974 } 967 _ecn_tsk_eoj_set_get_res(p_sobj, sobjatr, f a_fbs_id, &a_fbs_anno); /* 0x7A; 0 */975 _ecn_tsk_eoj_set_get_res(p_sobj, sobjatr, fromapp, fa_fbs_id, &a_fbs_anno); /* 0x7A; 0 */ 968 976 result = 1; 969 977 break; … … 1116 1124 } 1117 1125 1118 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_ update,1126 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update, 1119 1127 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count, 1120 1128 int *p_sw_ok); 1121 1129 /* プロパティ値書き込み実行 */ 1122 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_ update,1130 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update, 1123 1131 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count, 1124 1132 int *p_sw_ok) … … 1147 1155 a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc); 1148 1156 if ((a_eprp != NULL) 1149 && (fa_update || (((a_eprp->eprpatr & EPC_RULE_SET) != 0) || (fa_eobjatr == EOBJ_LOCAL_NODE)))) {1157 && (fa_update || (((a_eprp->eprpatr & EPC_RULE_SET) != 0) || fa_fromapp))) { 1150 1158 a_anno = (fa_eobjatr == EOBJ_LOCAL_NODE) && ((a_eprp->eprpatr & EPC_ANNOUNCE) != 0); 1151 1159 a_update = a_anno; … … 1426 1434 1427 1435 /* プロパティ値書き込み要求 */ 1428 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_ update,1436 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update, 1429 1437 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv, 1430 1438 ECN_FBS_ID *fa_fbs_anno) … … 1479 1487 1480 1488 /* プロパティ値書き込み実行 */ 1481 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_ update, fa_fbs_id, a_fbs_res,1489 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, fa_update, fa_fbs_id, a_fbs_res, 1482 1490 fa_fbs_anno, p_req_esv->edata.opc, &a_sw_ok); 1483 1491 if (a_ret) … … 1695 1703 } 1696 1704 1697 static void _ecn_tsk_eoj_set_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, 1705 static void _ecn_tsk_eoj_set_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, 1698 1706 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv, 1699 1707 ECN_FBS_ID *fa_fbs_anno) … … 1745 1753 1746 1754 /* プロパティ値書き込み実行 */ 1747 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa lse, fa_fbs_id, a_fbs_res,1755 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, false, fa_fbs_id, a_fbs_res, 1748 1756 fa_fbs_anno, a_count, &a_sw_ok); 1749 1757 if (a_ret) { … … 1819 1827 1820 1828 static void _ecn_tsk_eoj_set_get_res(const EOBJINIB *fp_obj, ATR fa_eobjatr, 1821 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno)1829 bool_t fa_fromapp, ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno) 1822 1830 { 1823 1831 T_ECN_EDT_HDR const *p_req_esv = &((T_EDATA *)fa_fbs_id.ptr)->hdr; … … 1872 1880 1873 1881 /* プロパティ値読み出し応答の書き込み実行 */ 1874 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, true, fa_fbs_id, a_fbs_dmy,1882 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, true, fa_fbs_id, a_fbs_dmy, 1875 1883 fa_fbs_anno, a_count, &a_sw_ok); 1876 1884 if (a_ret) { -
uKadecot/trunk/kadecot/wamp_dealer.c
r108 r125 569 569 { 570 570 static const char macAddr[] = "macAddr"; 571 static const char dhcpEnable[] = "dhcpEnable"; 572 static const char ipAddr[] = "ipAddr"; 573 static const char netmask[] = "netmask"; 574 static const char gateway[] = "gateway"; 571 575 572 576 switch (state->level) { … … 579 583 if(strcmp(macAddr, dealer->s->jsn_buf) == 0){ 580 584 dealer->state = WAMP_DEALER_STATE_MAC_ADDR_VALUE; 581 memset(&dealer->init_params, 0, sizeof(dealer->init_params)); 585 dealer->init_params.pos = 0; 586 memset(&dealer->init_params.mac_addr, 0, sizeof(dealer->init_params.mac_addr)); 587 } 588 if(strcmp(dhcpEnable, dealer->s->jsn_buf) == 0){ 589 dealer->state = WAMP_DEALER_STATE_DHCP_ENABLE_VALUE; 590 dealer->init_params.dhcp_enable = false; 591 } 592 if(strcmp(ipAddr, dealer->s->jsn_buf) == 0){ 593 dealer->state = WAMP_DEALER_STATE_IP_ADDR_VALUE; 594 dealer->init_params.pos = 0; 595 memset(&dealer->init_params.ip_addr, 0, sizeof(dealer->init_params.ip_addr)); 596 } 597 if(strcmp(netmask, dealer->s->jsn_buf) == 0){ 598 dealer->state = WAMP_DEALER_STATE_NETMASK_VALUE; 599 dealer->init_params.pos = 0; 600 memset(&dealer->init_params.netmask, 0, sizeof(dealer->init_params.netmask)); 601 } 602 if(strcmp(gateway, dealer->s->jsn_buf) == 0){ 603 dealer->state = WAMP_DEALER_STATE_GATEWAY_VALUE; 604 dealer->init_params.pos = 0; 605 memset(&dealer->init_params.gateway, 0, sizeof(dealer->init_params.gateway)); 606 } 607 break; 608 case JSONSL_T_SPECIAL: 609 switch(dealer->state){ 610 case WAMP_DEALER_STATE_DHCP_ENABLE_VALUE: 611 dealer->init_params.dhcp_enable = strcmp("true", dealer->s->jsn_buf) == 0; 612 break; 582 613 } 583 614 break; … … 597 628 case WAMP_DEALER_STATE_MAC_ADDR_VALUE: 598 629 dealer->init_params.mac_addr[dealer->init_params.pos++] = atoi(dealer->s->jsn_buf); 630 break; 631 case WAMP_DEALER_STATE_IP_ADDR_VALUE: 632 dealer->init_params.ip_addr[dealer->init_params.pos++] = atoi(dealer->s->jsn_buf); 633 break; 634 case WAMP_DEALER_STATE_NETMASK_VALUE: 635 dealer->init_params.netmask[dealer->init_params.pos++] = atoi(dealer->s->jsn_buf); 636 break; 637 case WAMP_DEALER_STATE_GATEWAY_VALUE: 638 dealer->init_params.gateway[dealer->init_params.pos++] = atoi(dealer->s->jsn_buf); 599 639 break; 600 640 } … … 1777 1817 ECN_FBS_SSIZE_T pos = 0; 1778 1818 ER ret; 1779 1780 ret = data_flash_write(0, dealer->init_params.mac_addr); 1819 uint8_t data[32]; 1820 1821 memset(data, 0, sizeof(data)); 1822 memcpy(&data[0], dealer->init_params.mac_addr, sizeof(dealer->init_params.mac_addr)); 1823 data[6] = dealer->init_params.dhcp_enable ? 1 : 0; 1824 memcpy(&data[7], dealer->init_params.ip_addr, sizeof(dealer->init_params.ip_addr)); 1825 memcpy(&data[11], dealer->init_params.netmask, sizeof(dealer->init_params.netmask)); 1826 memcpy(&data[15], dealer->init_params.gateway, sizeof(dealer->init_params.gateway)); 1827 1828 ret = data_flash_write(0, data); 1781 1829 if (ret != E_OK) { 1782 1830 syslog(LOG_WARNING, "data_flash_write() result = %d", ret); … … 1804 1852 1805 1853 dealer->error = NULL; 1854 } 1855 1856 static ER wamp_dealer_write_ip_addr(struct wamp_dealer *dealer, ECN_FBS_ID buf, 1857 ECN_FBS_SSIZE_T *pos, uint8_t *ip_addr, char *name) 1858 { 1859 ER ret; 1860 int i; 1861 1862 /* IPアドレス */ 1863 ret = fbs_printf(buf, pos, "\"%s\":[", name); 1864 if (ret != E_OK) { 1865 return ret; 1866 } 1867 1868 for (i = 0; i < 4; i++) { 1869 ret = fbs_printf(buf, pos, "%d,", ip_addr[i]); 1870 if (ret != E_OK) { 1871 return ret; 1872 } 1873 } 1874 1875 /* 最後の","を消す */ 1876 *pos = *pos - 1; 1877 1878 ret = fbs_printf(buf, pos, "],"); 1879 if (ret != E_OK) { 1880 return ret; 1881 } 1882 1883 return E_OK; 1806 1884 } 1807 1885 … … 1813 1891 ER ret; 1814 1892 int i; 1815 1816 ret = data_flash_read(0, dealer->init_params.mac_addr); 1893 uint8_t data[32]; 1894 1895 ret = data_flash_read(0, data); 1817 1896 if (ret != E_OK) { 1818 1897 syslog(LOG_WARNING, "data_flash_read() result = %d", ret); … … 1820 1899 } 1821 1900 1901 memcpy(dealer->init_params.mac_addr, &data[0], sizeof(dealer->init_params.mac_addr)); 1902 dealer->init_params.dhcp_enable = data[6] != 0; 1903 memcpy(dealer->init_params.ip_addr, &data[7], sizeof(dealer->init_params.ip_addr)); 1904 memcpy(dealer->init_params.netmask, &data[11], sizeof(dealer->init_params.netmask)); 1905 memcpy(dealer->init_params.gateway, &data[15], sizeof(dealer->init_params.gateway)); 1906 1822 1907 ret = _ecn_fbs_cre(1, &buf); 1823 1908 if (ret != E_OK) { … … 1826 1911 } 1827 1912 1828 ret = fbs_printf(buf, &pos, "[50,%d,{},[],{\"macAddr\":[", dealer->requestId); 1913 ret = fbs_printf(buf, &pos, "[50,%d,{},[],{", dealer->requestId); 1914 if (ret != E_OK) { 1915 syslog(LOG_WARNING, "fbs_printf() result = %d", ret); 1916 _ecn_fbs_del(buf); 1917 return; 1918 } 1919 1920 /* MACアドレス */ 1921 ret = fbs_printf(buf, &pos, "\"macAddr\":["); 1829 1922 if (ret != E_OK) { 1830 1923 syslog(LOG_WARNING, "fbs_printf() result = %d", ret); … … 1845 1938 pos--; 1846 1939 1847 ret = fbs_printf(buf, &pos, "]}]"); 1940 ret = fbs_printf(buf, &pos, "],"); 1941 if (ret != E_OK) { 1942 syslog(LOG_WARNING, "fbs_printf() result = %d", ret); 1943 _ecn_fbs_del(buf); 1944 return; 1945 } 1946 1947 /* DHCP有効/無効 */ 1948 ret = fbs_printf(buf, &pos, "\"dhcpEnable\":%s,", dealer->init_params.dhcp_enable ? "true" : "false"); 1949 if (ret != E_OK) { 1950 syslog(LOG_WARNING, "fbs_printf() result = %d", ret); 1951 _ecn_fbs_del(buf); 1952 return; 1953 } 1954 1955 /* IPアドレス */ 1956 ret = wamp_dealer_write_ip_addr(dealer, buf, &pos, dealer->init_params.ip_addr, "ipAddr"); 1957 if (ret != E_OK) { 1958 syslog(LOG_WARNING, "wamp_dealer_write_ip_addr() result = %d", ret); 1959 _ecn_fbs_del(buf); 1960 return; 1961 } 1962 1963 /* サブネットマスク */ 1964 ret = wamp_dealer_write_ip_addr(dealer, buf, &pos, dealer->init_params.netmask, "netmask"); 1965 if (ret != E_OK) { 1966 syslog(LOG_WARNING, "wamp_dealer_write_ip_addr() result = %d", ret); 1967 _ecn_fbs_del(buf); 1968 return; 1969 } 1970 1971 /* デフォルトゲートウェイ */ 1972 ret = wamp_dealer_write_ip_addr(dealer, buf, &pos, dealer->init_params.gateway, "gateway"); 1973 if (ret != E_OK) { 1974 syslog(LOG_WARNING, "wamp_dealer_write_ip_addr() result = %d", ret); 1975 _ecn_fbs_del(buf); 1976 return; 1977 } 1978 1979 /* 最後の","を消す */ 1980 pos--; 1981 1982 ret = fbs_printf(buf, &pos, "}]"); 1848 1983 if (ret != E_OK) { 1849 1984 syslog(LOG_WARNING, "fbs_printf() result = %d", ret); -
uKadecot/trunk/kadecot/wamp_dealer.h
r108 r125 53 53 WAMP_DEALER_STATE_ANALOG_VALUE, 54 54 WAMP_DEALER_STATE_MAC_ADDR_VALUE, 55 WAMP_DEALER_STATE_DHCP_ENABLE_VALUE, 56 WAMP_DEALER_STATE_IP_ADDR_VALUE, 57 WAMP_DEALER_STATE_NETMASK_VALUE, 58 WAMP_DEALER_STATE_GATEWAY_VALUE, 55 59 } wamp_dealer_state_t; 56 60 … … 110 114 typedef struct wamp_dealer_init_params{ 111 115 int pos; 112 uint8_t mac_addr[32]; /* DATA FLASHのサイズ分 */ 116 uint8_t mac_addr[6]; 117 bool_t dhcp_enable; 118 uint8_t ip_addr[4]; 119 uint8_t netmask[4]; 120 uint8_t gateway[4]; 113 121 } wamp_dealer_init_params_t; 114 122 -
uKadecot/trunk/src/ukadecot/main.c
r108 r125 65 65 66 66 uint8_t mac_addr[6] = { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xB8 }; 67 bool_t dhcp_enable = true; 67 68 68 69 #define MAKER_CODE 0x00, 0x00, 0xB3 /* TOPPERSプロジェクト */ … … 339 340 /* 応答電文待ちの割り込みの場合 */ 340 341 else if (ret == E_BRK) { 341 ECN_FBS_ID msg = { (T_ECN_FST_BLK 342 ECN_FBS_ID msg = { (T_ECN_FST_BLK *)esv }; 342 343 bool_t rel_msg = true; 343 344 switch (msg.ptr->hdr.type) { … … 433 434 static void main_initialize() 434 435 { 436 extern u8_t my_ip[4]; 437 extern u8_t my_netmask[4]; 438 extern u8_t my_default_router[4]; 435 439 uint8_t btn1, btn2; 436 440 uint8_t data[32], c; … … 443 447 444 448 ret = data_flash_init(); 445 446 449 while(ret == E_OK){ 447 450 ret = data_flash_read(0, data); … … 452 455 dflt_addr = false; 453 456 memcpy(mac_addr, data, sizeof(mac_addr)); 457 dhcp_enable = data[sizeof(mac_addr)] != 0; 458 memcpy(my_ip, &data[sizeof(mac_addr) + 1], sizeof(my_ip)); 459 memcpy(my_netmask, &data[sizeof(mac_addr) + 5], sizeof(my_netmask)); 460 memcpy(my_default_router, &data[sizeof(mac_addr) + 9], sizeof(my_default_router)); 454 461 break; 455 462 } … … 464 471 data[--j] = '\0'; 465 472 466 syslog(LOG_INFO, "mac_addr %s %s ", data, dflt_addr ? "default" : "flash-rom");473 syslog(LOG_INFO, "mac_addr %s %s %s", data, dflt_addr ? "default" : "flash-rom", dhcp_enable ? "dhcp" : "static"); 467 474 468 475 /* uIPを開始 */ -
uKadecot/trunk/tools/EcnlControllerUI/EcnlControllerUI/CtrlUI.cs
r108 r125 99 99 DeviceController.DeviceInfo m_CurrentNode 100 100 { 101 get { return _m_CurrentNode;}101 get { return _m_CurrentNode; } 102 102 set 103 103 { … … 118 118 m_WampClient.addOpenCallback(WampClientConnected); 119 119 m_WampClient.addCloseCallback(WampClientDisconnected); 120 m_WampClient.connect("ws://" + Window.Location.Host + "/webapi .ashx");120 m_WampClient.connect("ws://" + Window.Location.Host + "/webapi"); 121 121 } 122 122 … … 160 160 PropertyList.Change(PropertyChange); 161 161 SetInitParamsBtn.Click(SetInitParams); 162 GetInitParamsBtn.Click(GetInitParams); 162 163 } 163 164 … … 506 507 if (connect && !m_WampClient.isConnecting()) { 507 508 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"); 509 510 } 510 511 //接続スイッチがOff && m_WampClient.isConnecting() ==true … … 911 912 { 912 913 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})"); 913 915 914 916 var m = macaddrfrm.Exec(MacAddrTxt.GetValue()); … … 916 918 return; 917 919 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]) + "]"; 924 961 925 962 m_WampClient.sendCall("{}", "jp.toppers.ecnl.procedure.setInitParams", "[]", 926 "{ \"macAddr\":[" + ma1 + "," + ma2 + "," + ma3 + "," + ma4 + "," + ma5 + "," + ma6 + "]}", SetInitParamsRes);963 "{" + macAddr + "," + dhcpEnable + "," + ipAddr + "," + netmask + "," + gateway + "}", SetInitParamsRes); 927 964 } 928 965 … … 965 1002 } 966 1003 967 var macaddr = (byte[])(((dynamic[])args)[4].macAddr); 1004 dynamic param = ((dynamic[])args)[4]; 1005 var macaddr = (byte[])(param.macAddr); 968 1006 MacAddrTxt.Value(String.Format("{0:X02}:{1:X02}:{2:X02}:{3:X02}:{4:X02}:{5:X02}", 969 1007 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])); 970 1023 } 971 1024 … … 1005 1058 /// <summary>MACアドレス入力</summary> 1006 1059 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); } } 1007 1072 1008 1073 public void pinMode_Change(UIFieldSet fieldset, int pin) -
uKadecot/trunk/tools/EcnlControllerUI/EcnlControllerUI/EcnlControllerUI.csproj
r101 r125 21 21 <IISExpressUseClassicPipelineMode /> 22 22 <NoStdLib>True</NoStdLib> 23 <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 24 <RestorePackages>true</RestorePackages> 23 25 </PropertyGroup> 24 26 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> … … 110 112 $(SolutionDir)tools\jsmin < "$(ProjectDir)$(OutDir)$(TargetName).js" > "$(SolutionDir)EcnlCtrlUI\js\ctrlui.min.js" "Copyright (C) 2015 by TOPPERS Project, Inc., JAPAN"</PostBuildEvent> 111 113 </PropertyGroup> 114 <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 112 115 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 113 116 Other similar extension points exist, see Microsoft.Common.targets. -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/EcnlCtrlUI.csproj
r101 r125 20 20 <IISExpressWindowsAuthentication /> 21 21 <IISExpressUseClassicPipelineMode /> 22 <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 23 <RestorePackages>true</RestorePackages> 22 24 </PropertyGroup> 23 25 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> … … 39 41 </PropertyGroup> 40 42 <ItemGroup> 43 <Reference Include="Intelligencia.UrlRewriter"> 44 <HintPath>..\packages\Intelligencia.UrlRewriter.2.0.0.9\lib\net40\Intelligencia.UrlRewriter.dll</HintPath> 45 </Reference> 41 46 <Reference Include="Microsoft.CSharp" /> 42 47 <Reference Include="System.Runtime.Serialization" /> … … 61 66 <Content Include="css\ecn_gen.css" /> 62 67 <Content Include="imgs\core-s.svg" /> 63 <Content Include="imgs\logo. gif" />68 <Content Include="imgs\logo.png" /> 64 69 <Content Include="js\ctrlui.js" /> 65 70 <Content Include="js\ctrlui.min.js" /> … … 529 534 </VisualStudio> 530 535 </ProjectExtensions> 536 <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 531 537 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 532 538 Other similar extension points exist, see Microsoft.Common.targets. -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/Web.config
r102 r125 5 5 --> 6 6 <configuration> 7 <system.web> 8 <compilation debug="true" targetFramework="4.5" /> 9 <httpRuntime targetFramework="4.5" /> 10 </system.web> 11 <system.webServer> 12 <defaultDocument enabled="true"> 13 <files> 14 <clear/> 15 <add value="index.html"/> 16 </files> 17 </defaultDocument> 18 <staticContent> 19 <mimeMap fileExtension=".json" mimeType="application/json"/> 20 <mimeMap fileExtension=".cfg" mimeType="text/plain"/> 21 </staticContent> 22 </system.webServer> 7 <configSections> 8 <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" /> 9 </configSections> 10 <system.web> 11 <compilation debug="true" targetFramework="4.5" /> 12 <httpRuntime targetFramework="4.5" /> 13 <httpModules> 14 <add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" /> 15 </httpModules> 16 </system.web> 17 <system.webServer> 18 <defaultDocument enabled="true"> 19 <files> 20 <clear /> 21 <add value="index.html" /> 22 </files> 23 </defaultDocument> 24 <staticContent> 25 <mimeMap fileExtension=".json" mimeType="application/json" /> 26 <mimeMap fileExtension=".cfg" mimeType="text/plain" /> 27 </staticContent> 28 <modules runAllManagedModulesForAllRequests="true"> 29 <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" /> 30 </modules> 31 <validation validateIntegratedModeConfiguration="false" /> 32 </system.webServer> 33 <rewriter> 34 <rewrite url="~/webapi$" to="~/webapi.ashx" /> 35 </rewriter> 23 36 </configuration> -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/copy_httpd-fs.bat
r101 r125 110 110 mkdir ..\..\..\uip\apps\webserver\httpd-fs\imgs 111 111 copy /Y imgs\core-s.svg ..\..\..\uip\apps\webserver\httpd-fs\imgs\core-s.svg 112 copy /Y imgs\logo. gif ..\..\..\uip\apps\webserver\httpd-fs\imgs\logo.gif112 copy /Y imgs\logo.png ..\..\..\uip\apps\webserver\httpd-fs\imgs\logo.png 113 113 114 114 mkdir ..\..\..\uip\apps\webserver\httpd-fs\js -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/index.html
r101 r125 2 2 <html> 3 3 <head> 4 5 6 7 8 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <title>コントローラWebアプリケーション</title> 8 <link rel="shortcut icon" href="favicon.ico"> 9 9 <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile.icons-1.4.5.min.css"> 10 10 <link rel="stylesheet" href="themes/ecn-theme.min.css"> 11 11 <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.min.css"> 12 12 <link rel="stylesheet" href="http://cdn.jtsage.com/datebox/1.4.5/jqm-datebox-1.4.5.css" /> 13 13 <link rel="stylesheet" href="css/ecn_gen.css"> 14 14 <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> 15 15 <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 16 17 16 <script src="js/mscorlib.min.js"></script> 17 <script src="js/linq.min.js"></script> 18 18 <script src="http://cdn.jtsage.com/datebox/1.4.5/jqm-datebox-1.4.5.core.min.js"></script> 19 19 <script src="http://cdn.jtsage.com/datebox/1.4.5/jqm-datebox-1.4.5.mode.calbox.min.js"></script> 20 20 <script src="http://cdn.jtsage.com/datebox/1.4.5/jqm-datebox-1.4.5.mode.datebox.min.js"></script> 21 21 <script src="http://cdn.jtsage.com/datebox/i18n/jqm-datebox.lang.utf8.js"></script> 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 22 <script src="js/nisews.js"></script> 23 <script src="js/ctrlui.js"></script> 24 <script type="text/javascript"> 25 if (typeof window.external.CreateXMLHttpRequest != "undefined") { 26 window.XMLHttpRequest = function () { 27 return window.external.CreateXMLHttpRequest(); 28 } 29 global.WebSocket = function (url, protocol) { 30 return window.external.CreateWebSocket(url, protocol); 31 } 32 window.onerror = function (msg, src, line, column, _exc) { 33 var exc = window.external.new_object(); 34 for (m in _exc) { 35 window.external.object_add(exc, m, _exc[m]); 36 } 37 window.external.onerror(msg, src, line, column, exc); 38 } 39 window.external.Error = window.Error; 40 window.Error = function () { 41 var nullPtr = null; 42 nullPtr(); // スタックトレースを表示するためnull参照 43 return window.external.new_error(); 44 } 45 ss.Debug.writeln = function (text) { 46 window.external.output_debug_string(text); 47 } 48 console.log = function (text) { 49 window.external.output_debug_string(text); 50 } 51 } 52 else { 53 global.WebSocket = function (url, protocol) { 54 return new NiseWebSocket(url, protocol); 55 } 56 } 57 CtrlUI.main(); 58 </script> 59 59 </head> 60 60 <body> 61 62 63 64 65 <img src="./imgs/logo.gif" width="353" height="74" border="0" alt="TOPPERS LOGO">66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 61 <div data-role="page" id="index"> 62 <div data-role="header"> 63 <h1 id="header_logo" style="margin: 0px; text-align: left; background-color: white;"> 64 <a target='_blank' href="http://www.toppers.jp/index.html"> 65 <img src="./imgs/logo.png" width="353" height="74" border="0" alt="TOPPERS LOGO"> 66 </a> 67 </h1> 68 <a data-role="button" href="#information" data-rel="popup" data-icon="info" class="ui-btn-right" 69 style="-webkit-border-radius: 6em; border-radius: 6em;" 70 onclick="CtrlUI.info.update(this, 'information');">情報 71 </a> 72 </div> 73 <h2><strong>TOPPERS/ECNL</strong>コントローラWebアプリケーション</h2> 74 <div data-role="panel" class="ecn-navmenu-panel" data-position="left" data-display="overlay" style="background-color: #f9f9f9;"> 75 <div class="ui-field-contain" id="fs_connection_ctn"> 76 <label for="fs_connection">接続</label> 77 <input type="checkbox" name="fs_connection" id="fs_connection" data-role="flipswitch" data-on-text="On" data-off-text="Off"> 78 </div> 79 <button id="bt_search" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-alert ui-btn-c" 80 onclick="CtrlUI.page.search(this);"> 81 機器検索 82 </button> 83 <h2>インスタンス</h2> 84 <div id="node_list" data-role="collapsibleset" data-inset="true" data-collapsed-icon="carat-r" data-expanded-icon="carat-d"> 85 </div> 86 <button id="bt_set_property" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-star ui-btn-c"> 87 設定 88 </button> 89 <button id="bt_get_property" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-eye ui-btn-c"> 90 取得 91 </button> 92 <button id="bt_set_get_property" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-recycle ui-btn-c"> 93 設定と取得 94 </button> 95 <button id="bt_kadecot" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-action ui-btn-b"> 96 Kadecot App list 97 </button> 98 </div> 99 <div role="main" class="ui-content ecn-content"> 100 <ul id="lv_property_list" data-role="listview" data-inset="true"></ul> 101 </div> 102 <div data-role="footer" data-position="fixed"> 103 <p style="padding-left: 1em"> 104 Copyright © 2015 by TOPPERS Project, Inc. All Rights Reserved. 105 </p> 106 <a data-role="button" href="#setting_panel" data-icon="gear" class="ui-btn-right" 107 style="-webkit-border-radius: 6em; border-radius: 6em;">設定 108 </a> 109 </div> 110 <div data-role="popup" id="popup_dialog" data-overlay-theme="b" data-theme="b" data-dismissible="false" style="max-width: 400px;"> 111 <div data-role="header" data-theme="a"> 112 <h1 id="popup_dialog_caption">エラー</h1> 113 </div> 114 <div role="main" class="ui-content"> 115 <h3 id="popup_dialog_title" class="ui-title">エラー</h3> 116 <p id="popup_dialog_text">エラー</p> 117 <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-b" data-rel="back">OK</a> 118 </div> 119 </div> 120 <div id="information-screen"></div> 121 <div id="information-popup"> 122 <div data-role="popup" id="information" data-theme="b"> 123 <img src="js/images/ajax-loader.gif" /> 124 </div> 125 </div> 126 <div data-role="panel" id="setting_panel" data-position="right" data-display="overlay" data-theme="b"> 127 <h3>設定</h3> 128 128 <label for="txt_mac_addr">MACアドレス</label> 129 <input name="txt_mac_addr" id="txt_mac_addr" value="12:34:56:78:9A:BC" type="text"> 130 <button id="bt_set_init_params" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-check ui-btn-c"> 131 設定 132 </button> 129 <input name="txt_mac_addr" id="txt_mac_addr" value="12:34:56:78:9A:BC" type="text"> 130 <label for="cb_dhcp_enable">DHCP有効</label> 131 <input name="cb_dhcp_enable" id="cb_dhcp_enable" type="checkbox"> 132 <label for="txt_ip_addr">IPアドレス</label> 133 <input name="txt_ip_addr" id="txt_ip_addr" value="192.168.2.103" type="text"> 134 <label for="txt_netmask">サブネットマスク</label> 135 <input name="txt_netmask" id="txt_netmask" value="255.255.255.0" type="text"> 136 <label for="txt_gateway">デフォルトゲートウェイ</label> 137 <input name="txt_gateway" id="txt_gateway" value="192.168.2.1" type="text"> 138 <button id="bt_set_init_params" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-check ui-btn-c"> 139 設定 140 </button> 133 141 <button id="bt_get_init_params" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-check ui-btn-c"> 134 142 取得 135 143 </button> 136 137 138 139 140 141 142 143 144 <h3>ライセンス</h3> 145 <p> 146 このサイトは<a target='_blank' href="http://www.toppers.jp/license.html">TOPPERSライセンス</a>で公開しています。<br> 147 このサイトは、いくつかのJavaScriptライブラリを使用しています。サイト右上のソフトウェア情報をご覧ください。 148 </p> 149 <a href="#" data-rel="close" class="ui-btn ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left ui-btn-inline">閉じる</a> 150 </div> 151 </div> 144 152 </body> 145 153 </html> -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/js/ctrlui.js
r108 r125 18 18 this.$m_WampClient.addOpenCallback(ss.mkdel(this, this.$wampClientConnected)); 19 19 this.$m_WampClient.addCloseCallback(ss.mkdel(this, this.$wampClientDisconnected)); 20 this.$m_WampClient.connect('ws://' + window.location.host + '/webapi .ashx');20 this.$m_WampClient.connect('ws://' + window.location.host + '/webapi'); 21 21 }; 22 22 $CtrlUI.__typeName = 'CtrlUI'; … … 2617 2617 this.get_propertyList().change(ss.thisFix(ss.mkdel(this, this.propertyChange))); 2618 2618 this.get_setInitParamsBtn().click(ss.thisFix(ss.mkdel(this, this.$setInitParams))); 2619 this.get_getInitParamsBtn().click(ss.thisFix(ss.mkdel(this, this.$getInitParams))); 2619 2620 }, 2620 2621 $initClassGroups: function(data) { … … 2808 2809 //接続スイッチがOn && m_WampClient.isConnecting() == false 2809 2810 if (connect && !this.$m_WampClient.isConnecting()) { 2810 this.$m_WampClient.connect('ws://' + window.location.host + '/webapi .ashx');2811 this.$m_WampClient.connect('ws://' + window.location.host + '/webapi'); 2811 2812 } 2812 2813 else if (!connect && this.$m_WampClient.isConnecting()) { … … 3041 3042 $setInitParams: function(elem, e) { 3042 3043 var macaddrfrm = new RegExp('([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})'); 3044 var ipaddrfrm = new RegExp('([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})'); 3043 3045 var m = macaddrfrm.exec(this.get_macAddrTxt().val()); 3044 3046 if (ss.isNullOrUndefined(m)) { 3045 3047 return; 3046 3048 } 3047 var ma1 = parseInt(m[1], 16); 3048 var ma2 = parseInt(m[2], 16); 3049 var ma3 = parseInt(m[3], 16); 3050 var ma4 = parseInt(m[4], 16); 3051 var ma5 = parseInt(m[5], 16); 3052 var ma6 = parseInt(m[6], 16); 3053 this.$m_WampClient.sendCall('{}', 'jp.toppers.ecnl.procedure.setInitParams', '[]', '{"macAddr":[' + ma1 + ',' + ma2 + ',' + ma3 + ',' + ma4 + ',' + ma5 + ',' + ma6 + ']}', ss.mkdel(this, this.setInitParamsRes)); 3049 var macAddr = '"macAddr":[' + parseInt(m[1], 16) + ',' + parseInt(m[2], 16) + ',' + parseInt(m[3], 16) + ',' + parseInt(m[4], 16) + ',' + parseInt(m[5], 16) + ',' + parseInt(m[6], 16) + ']'; 3050 var dhcpEnable = '"dhcpEnable":' + this.get_dhcpEnableCb().prop('checked').toString(); 3051 m = ipaddrfrm.exec(this.get_ipAddrTxt().val()); 3052 if (ss.isNullOrUndefined(m)) { 3053 return; 3054 } 3055 var ipAddr = '"ipAddr":[' + parseInt(m[1]) + ',' + parseInt(m[2]) + ',' + parseInt(m[3]) + ',' + parseInt(m[4]) + ']'; 3056 m = ipaddrfrm.exec(this.get_netmaskTxt().val()); 3057 if (ss.isNullOrUndefined(m)) { 3058 return; 3059 } 3060 var netmask = '"netmask":[' + parseInt(m[1]) + ',' + parseInt(m[2]) + ',' + parseInt(m[3]) + ',' + parseInt(m[4]) + ']'; 3061 m = ipaddrfrm.exec(this.get_gatewayTxt().val()); 3062 if (ss.isNullOrUndefined(m)) { 3063 return; 3064 } 3065 var gateway = '"gateway":[' + parseInt(m[1]) + ',' + parseInt(m[2]) + ',' + parseInt(m[3]) + ',' + parseInt(m[4]) + ']'; 3066 this.$m_WampClient.sendCall('{}', 'jp.toppers.ecnl.procedure.setInitParams', '[]', '{' + macAddr + ',' + dhcpEnable + ',' + ipAddr + ',' + netmask + ',' + gateway + '}', ss.mkdel(this, this.setInitParamsRes)); 3054 3067 }, 3055 3068 setInitParamsRes: function(args) { … … 3079 3092 return; 3080 3093 } 3081 var macaddr = ss.cast(ss.cast(args, Array)[4].macAddr, Array); 3094 var param = ss.cast(args, Array)[4]; 3095 var macaddr = ss.cast(param.macAddr, Array); 3082 3096 this.get_macAddrTxt().val(ss.formatString('{0:X02}:{1:X02}:{2:X02}:{3:X02}:{4:X02}:{5:X02}', macaddr[0], macaddr[1], macaddr[2], macaddr[3], macaddr[4], macaddr[5])); 3097 var dhcpEnable = !!param.dhcpEnable; 3098 this.get_dhcpEnableCb().prop('checked', dhcpEnable).checkboxradio('refresh'); 3099 var ipaddr = ss.cast(param.ipAddr, Array); 3100 this.get_ipAddrTxt().val(ss.formatString('{0}:{1}:{2}:{3}', ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3])); 3101 var netmask = ss.cast(param.netmask, Array); 3102 this.get_netmaskTxt().val(ss.formatString('{0}:{1}:{2}:{3}', netmask[0], netmask[1], netmask[2], netmask[3])); 3103 var gateway = ss.cast(param.gateway, Array); 3104 this.get_gatewayTxt().val(ss.formatString('{0}:{1}:{2}:{3}', gateway[0], gateway[1], gateway[2], gateway[3])); 3083 3105 }, 3084 3106 get_setPropertyBtn: function() { … … 3117 3139 get_macAddrTxt: function() { 3118 3140 return $('#txt_mac_addr', $CtrlUI.$page); 3141 }, 3142 get_dhcpEnableCb: function() { 3143 return $('#cb_dhcp_enable', $CtrlUI.$page); 3144 }, 3145 get_ipAddrTxt: function() { 3146 return $('#txt_ip_addr', $CtrlUI.$page); 3147 }, 3148 get_netmaskTxt: function() { 3149 return $('#txt_netmask', $CtrlUI.$page); 3150 }, 3151 get_gatewayTxt: function() { 3152 return $('#txt_gateway', $CtrlUI.$page); 3119 3153 }, 3120 3154 pinMode_Change: function(fieldset, pin) { -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/js/ctrlui.min.js
r108 r125 1 1 // Copyright (C) 2015 by TOPPERS Project, Inc., JAPAN 2 2 3 (function(){'use strict';var $asm={};global.control=global.control||{};global.ctrlui=global.ctrlui||{};global.Kadecot=global.Kadecot||{};ss.initAssembly($asm,'EcnlControllerUI');var $CtrlUI=function(){this.$read=new(ss.makeGenericType(ss.Dictionary$2,[$ctrlui_DeviceController$DeviceInfo,$ctrlui_DeviceController$DeviceInfo]))();this.$m_WampClient=null;this.$m_DeviceController=null;this.$_m_CurrentNode=null;this.$timerId=0;this.$dpi=null;this.$m_WampClient=new $Kadecot_WampClient();this.$m_WampClient.addOpenCallback(ss.mkdel(this,this.$wampClientConnected));this.$m_WampClient.addCloseCallback(ss.mkdel(this,this.$wampClientDisconnected));this.$m_WampClient.connect('ws://'+window.location.host+'/webapi .ashx');};$CtrlUI.__typeName='CtrlUI';$CtrlUI.main=function(){if(ss.isNullOrUndefined($CtrlUI.page)){$CtrlUI.page=new $CtrlUI();$CtrlUI.info=new $ctrlui_Information();}3 (function(){'use strict';var $asm={};global.control=global.control||{};global.ctrlui=global.ctrlui||{};global.Kadecot=global.Kadecot||{};ss.initAssembly($asm,'EcnlControllerUI');var $CtrlUI=function(){this.$read=new(ss.makeGenericType(ss.Dictionary$2,[$ctrlui_DeviceController$DeviceInfo,$ctrlui_DeviceController$DeviceInfo]))();this.$m_WampClient=null;this.$m_DeviceController=null;this.$_m_CurrentNode=null;this.$timerId=0;this.$dpi=null;this.$m_WampClient=new $Kadecot_WampClient();this.$m_WampClient.addOpenCallback(ss.mkdel(this,this.$wampClientConnected));this.$m_WampClient.addCloseCallback(ss.mkdel(this,this.$wampClientDisconnected));this.$m_WampClient.connect('ws://'+window.location.host+'/webapi');};$CtrlUI.__typeName='CtrlUI';$CtrlUI.main=function(){if(ss.isNullOrUndefined($CtrlUI.page)){$CtrlUI.page=new $CtrlUI();$CtrlUI.info=new $ctrlui_Information();} 4 4 $(document).on('pageinit','#index',ss.mkdel($CtrlUI.page,$CtrlUI.page.$initClassGroups$1));};$CtrlUI.getPage=function(ele){var page=ele;if($(page).is('[data-role="page"]')){return page;} 5 5 if($(page).parents('[data-role="page"]').length===1){return $(page).parents('[data-role="page"]').get(0);} … … 233 233 else if(ss.isValue(arguments1)&&ss.isValue(argumentsKw)){ss.add(list,argsJson);ss.add(list,argsKwJson);} 234 234 data=JSON.stringify(list);return data;};global.Kadecot.WampSerializer=$Kadecot_WampSerializer;ss.initClass($CtrlUI,$asm,{get_$m_CurrentNode:function(){return this.$_m_CurrentNode;},set_$m_CurrentNode:function(value){var flag=!ss.referenceEquals(this.$_m_CurrentNode,value)||ss.isNullOrUndefined(this.$_m_CurrentNode)&&ss.isNullOrUndefined(value);this.$_m_CurrentNode=value;if(flag){$(document).trigger($control_UIEventNames.currentNodeChange);}},$initClassGroups$1:function(eve){$CtrlUI.$page=eve.target;this.$setEvent();if(ss.isValue($CtrlUI.$m_ClassGroups)){return;} 235 $ctrlui_DeviceController.getClassInfo=ss.mkdel(this,this.$getClassInfoHandler);this.set_$m_CurrentNode(null);var ClassGroupListUrl='devices/ClassGroupList.json';$.ajax(ClassGroupListUrl).success(ss.mkdel(this,this.$initClassGroups)).error(function(request,textStatus,error){$CtrlUI.$ajaxError(request,textStatus,error,ClassGroupListUrl);});},$setEvent:function(){$(document).on($control_UIEventNames.loadingShow,$control_UIEventHandler.loadingShow);$(document).on($control_UIEventNames.loadingHide,$control_UIEventHandler.loadingHide);$(document).on($control_UIEventNames.currentNodeChange,ss.thisFix(ss.mkdel(this,this.$currentNodeChange)));$(document).on($control_UIEventNames.searchStart,ss.mkdel(this,this.searchStart));$(document).on($control_UIEventNames.searchEnd,ss.mkdel(this,this.searchEnd));$(document).on($control_UIEventNames.searchError,ss.mkdel(this,this.searchError));$(document).on($control_UIEventNames.propertyWriteStart,ss.mkdel(this,this.propertyWriteStart));$(document).on($control_UIEventNames.propertyWriteEnd,ss.mkdel(this,this.propertyWriteEnd));this.get_connectionSwt().change(ss.thisFix(ss.mkdel(this,this.connect)));this.get_setPropertyBtn().click(ss.thisFix(ss.mkdel(this,this.setProperty)));this.get_getPropertyBtn().click(ss.mkdel(this,this.getProperty));this.get_setGetPropertyBtn().click(ss.thisFix(ss.mkdel(this,this.setGetProperty)));this.get_kadecotBtn().click(ss.thisFix(ss.mkdel(this,this.kadecotClick)));this.get_propertyList().change(ss.thisFix(ss.mkdel(this,this.propertyChange)));this.get_setInitParamsBtn().click(ss.thisFix(ss.mkdel(this,this.$setInitParams))); },$initClassGroups:function(data){var classGroups=$control_UI.toJSClassGroupInfoList(data);$CtrlUI.$m_Classes=[];$CtrlUI.$m_ClassGroups=Array.prototype.slice.call(classGroups);this.$getClassInfoHandler($ctrlui_T_ECN_EOJ.x1_PROFILE,$ctrlui_T_ECN_EOJ.x2_NODE_PROFILE,ss.mkdel(this,this.$getClassInfoCallback));},$getClassInfoCallback:function(di){$CtrlUI.$m_ProfileClassInfo=di;},$getClassInfoHandler:function(x1,x2,cb){var eclass=Enumerable.from($CtrlUI.$m_Classes).firstOrDefault(function(p){return p.classGroup.classGroupCode===x1&&p.classCode===x2;},ss.getDefaultValue($ctrlui_JsonClassInfo));if(ss.isValue(eclass)){if(ss.isNullOrUndefined(eclass.properties)){this.$getPropertyList(eclass,cb);}235 $ctrlui_DeviceController.getClassInfo=ss.mkdel(this,this.$getClassInfoHandler);this.set_$m_CurrentNode(null);var ClassGroupListUrl='devices/ClassGroupList.json';$.ajax(ClassGroupListUrl).success(ss.mkdel(this,this.$initClassGroups)).error(function(request,textStatus,error){$CtrlUI.$ajaxError(request,textStatus,error,ClassGroupListUrl);});},$setEvent:function(){$(document).on($control_UIEventNames.loadingShow,$control_UIEventHandler.loadingShow);$(document).on($control_UIEventNames.loadingHide,$control_UIEventHandler.loadingHide);$(document).on($control_UIEventNames.currentNodeChange,ss.thisFix(ss.mkdel(this,this.$currentNodeChange)));$(document).on($control_UIEventNames.searchStart,ss.mkdel(this,this.searchStart));$(document).on($control_UIEventNames.searchEnd,ss.mkdel(this,this.searchEnd));$(document).on($control_UIEventNames.searchError,ss.mkdel(this,this.searchError));$(document).on($control_UIEventNames.propertyWriteStart,ss.mkdel(this,this.propertyWriteStart));$(document).on($control_UIEventNames.propertyWriteEnd,ss.mkdel(this,this.propertyWriteEnd));this.get_connectionSwt().change(ss.thisFix(ss.mkdel(this,this.connect)));this.get_setPropertyBtn().click(ss.thisFix(ss.mkdel(this,this.setProperty)));this.get_getPropertyBtn().click(ss.mkdel(this,this.getProperty));this.get_setGetPropertyBtn().click(ss.thisFix(ss.mkdel(this,this.setGetProperty)));this.get_kadecotBtn().click(ss.thisFix(ss.mkdel(this,this.kadecotClick)));this.get_propertyList().change(ss.thisFix(ss.mkdel(this,this.propertyChange)));this.get_setInitParamsBtn().click(ss.thisFix(ss.mkdel(this,this.$setInitParams)));this.get_getInitParamsBtn().click(ss.thisFix(ss.mkdel(this,this.$getInitParams)));},$initClassGroups:function(data){var classGroups=$control_UI.toJSClassGroupInfoList(data);$CtrlUI.$m_Classes=[];$CtrlUI.$m_ClassGroups=Array.prototype.slice.call(classGroups);this.$getClassInfoHandler($ctrlui_T_ECN_EOJ.x1_PROFILE,$ctrlui_T_ECN_EOJ.x2_NODE_PROFILE,ss.mkdel(this,this.$getClassInfoCallback));},$getClassInfoCallback:function(di){$CtrlUI.$m_ProfileClassInfo=di;},$getClassInfoHandler:function(x1,x2,cb){var eclass=Enumerable.from($CtrlUI.$m_Classes).firstOrDefault(function(p){return p.classGroup.classGroupCode===x1&&p.classCode===x2;},ss.getDefaultValue($ctrlui_JsonClassInfo));if(ss.isValue(eclass)){if(ss.isNullOrUndefined(eclass.properties)){this.$getPropertyList(eclass,cb);} 236 236 else{cb(eclass);} 237 237 return;} … … 249 249 $control_UI.disable(this.get_setPropertyBtn(),true);},$listitem_Click:function(elem,ev,di){if(ss.isNullOrUndefined(this.get_propertyList())){return;} 250 250 this.set_$m_CurrentNode(di);},$wampClientConnected:function(){var flag=this.get_connectionSwt().prop('checked');if(!flag){this.get_connectionSwt().prop('checked',true).flipswitch('refresh');} 251 $control_UI.toggleClass(this.get_searchBtn(),'ui-icon-alert','ui-icon-refresh');this.$sendHello();},$wampClientDisconnected:function(){$control_UI.toggleClass(this.get_searchBtn(),'ui-icon-refresh','ui-icon-alert');},connect:function(ele,eve){var connect=$(ele).prop('checked');if(connect&&!this.$m_WampClient.isConnecting()){this.$m_WampClient.connect('ws://'+window.location.host+'/webapi .ashx');}251 $control_UI.toggleClass(this.get_searchBtn(),'ui-icon-alert','ui-icon-refresh');this.$sendHello();},$wampClientDisconnected:function(){$control_UI.toggleClass(this.get_searchBtn(),'ui-icon-refresh','ui-icon-alert');},connect:function(ele,eve){var connect=$(ele).prop('checked');if(connect&&!this.$m_WampClient.isConnecting()){this.$m_WampClient.connect('ws://'+window.location.host+'/webapi');} 252 252 else if(!connect&&this.$m_WampClient.isConnecting()){this.$m_WampClient.disconnect();}},disconnect:function(args){this.$m_WampClient.disconnect();},search:function(ele,ev){$(document).trigger($control_UIEventNames.searchStart);var data=this.$m_WampClient.sendCall('{}','com.sonycsl.kadecot.provider.procedure.getDeviceList',null,null,ss.mkdel(this,this.$onDevListed));if(ss.isNullOrUndefined(data)){$(document).trigger($control_UIEventNames.searchError);return;} 253 253 this.$timerId=window.setInterval(function(){$(document).trigger($control_UIEventNames.searchError);},20000);},searchStart:function(ev){$.mobile.loading('show',new $LoadingOption.$ctor1('æ©å¨æ¤ç´¢ä¸...',true));$control_UI.disable(this.get_searchBtn(),true);},searchEnd:function(ev){if(this.$timerId!==0){window.clearInterval(this.$timerId);this.$timerId=0;} … … 274 274 this.$propertyCreate(this.get_$m_CurrentNode());this.getProperty(ev);return;},$buttonDisabled:function(di){if(ss.isNullOrUndefined(di)){$control_UI.disable(this.get_setGetPropertyBtn(),true);$control_UI.disable(this.get_getPropertyBtn(),true);$control_UI.disable(this.get_setPropertyBtn(),true);return;} 275 275 var ctrls=this.get_propertyList();$control_UI.disable(this.get_setGetPropertyBtn(),ss.isNullOrUndefined(ctrls));$control_UI.disable(this.get_getPropertyBtn(),ss.isNullOrUndefined(ctrls));$control_UI.disable(this.get_setPropertyBtn(),ss.isNullOrUndefined(ctrls));},$propertyCreate:function(di){if(ss.isNullOrUndefined(di)){return;} 276 $(document).trigger($control_UIEventNames.propertyWriteStart);di.setUIDevice(this);this.get_propertyList().html('');this.get_propertyList().append(di.getPropertys());this.get_propertyList().listview().listview('refresh');this.get_propertyList().listview().trigger('create');$(document).trigger($control_UIEventNames.propertyWriteEnd);},$setInitParams:function(elem,e){var macaddrfrm=new RegExp('([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})');var m=macaddrfrm.exec(this.get_macAddrTxt().val());if(ss.isNullOrUndefined(m)){return;} 277 var ma1=parseInt(m[1],16);var ma2=parseInt(m[2],16);var ma3=parseInt(m[3],16);var ma4=parseInt(m[4],16);var ma5=parseInt(m[5],16);var ma6=parseInt(m[6],16);this.$m_WampClient.sendCall('{}','jp.toppers.ecnl.procedure.setInitParams','[]','{"macAddr":['+ma1+','+ma2+','+ma3+','+ma4+','+ma5+','+ma6+']}',ss.mkdel(this,this.setInitParamsRes));},setInitParamsRes:function(args){var cmd=ss.unbox(ss.cast(ss.cast(args,Array)[0],ss.Int32));if(cmd!==50){$('#popup_dialog_caption').text('ã¨ã©ã¼');$('#popup_dialog_title').text('ã¨ã©ã¼ãçºçãã¾ãã');$('#popup_dialog_text').text('åæãã¼ã¿ã®æ¸ãè¾¼ã¿ã«å¤±æãã¾ããã');$('#popup_dialog').popup('open',{transition:'slidedown'});return;} 276 $(document).trigger($control_UIEventNames.propertyWriteStart);di.setUIDevice(this);this.get_propertyList().html('');this.get_propertyList().append(di.getPropertys());this.get_propertyList().listview().listview('refresh');this.get_propertyList().listview().trigger('create');$(document).trigger($control_UIEventNames.propertyWriteEnd);},$setInitParams:function(elem,e){var macaddrfrm=new RegExp('([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})');var ipaddrfrm=new RegExp('([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})');var m=macaddrfrm.exec(this.get_macAddrTxt().val());if(ss.isNullOrUndefined(m)){return;} 277 var macAddr='"macAddr":['+parseInt(m[1],16)+','+parseInt(m[2],16)+','+parseInt(m[3],16)+','+parseInt(m[4],16)+','+parseInt(m[5],16)+','+parseInt(m[6],16)+']';var dhcpEnable='"dhcpEnable":'+this.get_dhcpEnableCb().prop('checked').toString();m=ipaddrfrm.exec(this.get_ipAddrTxt().val());if(ss.isNullOrUndefined(m)){return;} 278 var ipAddr='"ipAddr":['+parseInt(m[1])+','+parseInt(m[2])+','+parseInt(m[3])+','+parseInt(m[4])+']';m=ipaddrfrm.exec(this.get_netmaskTxt().val());if(ss.isNullOrUndefined(m)){return;} 279 var netmask='"netmask":['+parseInt(m[1])+','+parseInt(m[2])+','+parseInt(m[3])+','+parseInt(m[4])+']';m=ipaddrfrm.exec(this.get_gatewayTxt().val());if(ss.isNullOrUndefined(m)){return;} 280 var gateway='"gateway":['+parseInt(m[1])+','+parseInt(m[2])+','+parseInt(m[3])+','+parseInt(m[4])+']';this.$m_WampClient.sendCall('{}','jp.toppers.ecnl.procedure.setInitParams','[]','{'+macAddr+','+dhcpEnable+','+ipAddr+','+netmask+','+gateway+'}',ss.mkdel(this,this.setInitParamsRes));},setInitParamsRes:function(args){var cmd=ss.unbox(ss.cast(ss.cast(args,Array)[0],ss.Int32));if(cmd!==50){$('#popup_dialog_caption').text('ã¨ã©ã¼');$('#popup_dialog_title').text('ã¨ã©ã¼ãçºçãã¾ãã');$('#popup_dialog_text').text('åæãã¼ã¿ã®æ¸ãè¾¼ã¿ã«å¤±æãã¾ããã');$('#popup_dialog').popup('open',{transition:'slidedown'});return;} 278 281 $('#popup_dialog_caption').text('åæãã¼ã¿');$('#popup_dialog_title').text('åæãã¼ã¿ãæ¸ãè¾¼ã¿ã¾ãã');$('#popup_dialog_text').text('åæãã¼ã¿ã®æ¸ãè¾¼ã¿ã«æåãã¾ããã');$('#popup_dialog').popup('open',{transition:'slidedown'});},$getInitParams:function(elem,e){this.$m_WampClient.sendCall('{}','jp.toppers.ecnl.procedure.getInitParams','[]','{}',ss.mkdel(this,this.getInitParamsRes));},getInitParamsRes:function(args){var cmd=ss.unbox(ss.cast(ss.cast(args,Array)[0],ss.Int32));if(cmd!==50){$('#popup_dialog_caption').text('ã¨ã©ã¼');$('#popup_dialog_title').text('ã¨ã©ã¼ãçºçãã¾ãã');$('#popup_dialog_text').text('åæãã¼ã¿ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ããã');$('#popup_dialog').popup('open',{transition:'slidedown'});return;} 279 var macaddr=ss.cast(ss.cast(args,Array)[4].macAddr,Array);this.get_macAddrTxt().val(ss.formatString('{0:X02}:{1:X02}:{2:X02}:{3:X02}:{4:X02}:{5:X02}',macaddr[0],macaddr[1],macaddr[2],macaddr[3],macaddr[4],macaddr[5]));},get_setPropertyBtn:function(){return $('#bt_set_property',$CtrlUI.$page);},get_getPropertyBtn:function(){return $('#bt_get_property',$CtrlUI.$page);},get_setGetPropertyBtn:function(){return $('#bt_set_get_property',$CtrlUI.$page);},get_kadecotBtn:function(){return $('#bt_kadecot',$CtrlUI.$page);},get_connectionSwt:function(){return $('#fs_connection',$CtrlUI.$page);},get_propertyList:function(){return $('#lv_property_list',$CtrlUI.$page);},get_searchBtn:function(){return $('#bt_search',$CtrlUI.$page);},get_nodeList:function(){return $('#node_list',$CtrlUI.$page);},get_propertyGroupBox:function(){return $('#lv_property_list',$CtrlUI.$page).find('li');},get_setInitParamsBtn:function(){return $('#bt_set_init_params',$CtrlUI.$page);},get_getInitParamsBtn:function(){return $('#bt_get_init_params',$CtrlUI.$page);},get_macAddrTxt:function(){return $('#txt_mac_addr',$CtrlUI.$page);},pinMode_Change:function(fieldset,pin){var value=fieldset.checkdValue();var dic=ss.mkdict(['pin',pin,'mode',value]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.pinMode','[]',JSON.stringify(dic),ss.mkdel(this,this.pinMode));},digital_Change:function(button,flipswitch,pin){var msg=new $ctrlui_WampApiKadecotSet(1,'2',new Array(2));var dic=ss.mkdict(['pin',pin,'value',flipswitch.get_value()]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.digitalWrite','[]',JSON.stringify(dic),ss.mkdel(this,this.digitalWrite));},analogWrite_Change:function(range,pin){var msg=new $ctrlui_WampApiKadecotSet(1,'2',new Array(2));var dic=ss.mkdict(['pin',pin,'value',range.get_value$1()]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.analogWrite','[]',JSON.stringify(dic),ss.mkdel(this,this.pinMode));},analogRead:function(range,pin){var dic=ss.mkdict(['pin',pin]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.analogRead','[]',JSON.stringify(dic),ss.mkdel(this,function(args){this.digitalRead$1(args,range);}));},pinMode:function(args){var switchData=ss.unbox(ss.cast(ss.cast(args,Array)[0],ss.Int32));if(switchData!==50){return;}282 var param=ss.cast(args,Array)[4];var macaddr=ss.cast(param.macAddr,Array);this.get_macAddrTxt().val(ss.formatString('{0:X02}:{1:X02}:{2:X02}:{3:X02}:{4:X02}:{5:X02}',macaddr[0],macaddr[1],macaddr[2],macaddr[3],macaddr[4],macaddr[5]));var dhcpEnable=!!param.dhcpEnable;this.get_dhcpEnableCb().prop('checked',dhcpEnable).checkboxradio('refresh');var ipaddr=ss.cast(param.ipAddr,Array);this.get_ipAddrTxt().val(ss.formatString('{0}:{1}:{2}:{3}',ipaddr[0],ipaddr[1],ipaddr[2],ipaddr[3]));var netmask=ss.cast(param.netmask,Array);this.get_netmaskTxt().val(ss.formatString('{0}:{1}:{2}:{3}',netmask[0],netmask[1],netmask[2],netmask[3]));var gateway=ss.cast(param.gateway,Array);this.get_gatewayTxt().val(ss.formatString('{0}:{1}:{2}:{3}',gateway[0],gateway[1],gateway[2],gateway[3]));},get_setPropertyBtn:function(){return $('#bt_set_property',$CtrlUI.$page);},get_getPropertyBtn:function(){return $('#bt_get_property',$CtrlUI.$page);},get_setGetPropertyBtn:function(){return $('#bt_set_get_property',$CtrlUI.$page);},get_kadecotBtn:function(){return $('#bt_kadecot',$CtrlUI.$page);},get_connectionSwt:function(){return $('#fs_connection',$CtrlUI.$page);},get_propertyList:function(){return $('#lv_property_list',$CtrlUI.$page);},get_searchBtn:function(){return $('#bt_search',$CtrlUI.$page);},get_nodeList:function(){return $('#node_list',$CtrlUI.$page);},get_propertyGroupBox:function(){return $('#lv_property_list',$CtrlUI.$page).find('li');},get_setInitParamsBtn:function(){return $('#bt_set_init_params',$CtrlUI.$page);},get_getInitParamsBtn:function(){return $('#bt_get_init_params',$CtrlUI.$page);},get_macAddrTxt:function(){return $('#txt_mac_addr',$CtrlUI.$page);},get_dhcpEnableCb:function(){return $('#cb_dhcp_enable',$CtrlUI.$page);},get_ipAddrTxt:function(){return $('#txt_ip_addr',$CtrlUI.$page);},get_netmaskTxt:function(){return $('#txt_netmask',$CtrlUI.$page);},get_gatewayTxt:function(){return $('#txt_gateway',$CtrlUI.$page);},pinMode_Change:function(fieldset,pin){var value=fieldset.checkdValue();var dic=ss.mkdict(['pin',pin,'mode',value]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.pinMode','[]',JSON.stringify(dic),ss.mkdel(this,this.pinMode));},digital_Change:function(button,flipswitch,pin){var msg=new $ctrlui_WampApiKadecotSet(1,'2',new Array(2));var dic=ss.mkdict(['pin',pin,'value',flipswitch.get_value()]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.digitalWrite','[]',JSON.stringify(dic),ss.mkdel(this,this.digitalWrite));},analogWrite_Change:function(range,pin){var msg=new $ctrlui_WampApiKadecotSet(1,'2',new Array(2));var dic=ss.mkdict(['pin',pin,'value',range.get_value$1()]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.analogWrite','[]',JSON.stringify(dic),ss.mkdel(this,this.pinMode));},analogRead:function(range,pin){var dic=ss.mkdict(['pin',pin]);this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.analogRead','[]',JSON.stringify(dic),ss.mkdel(this,function(args){this.digitalRead$1(args,range);}));},pinMode:function(args){var switchData=ss.unbox(ss.cast(ss.cast(args,Array)[0],ss.Int32));if(switchData!==50){return;} 280 283 var doc=ss.cast(args,Array)[4];if(ss.isValue(this.$m_DeviceController)){if(ss.isNullOrUndefined(this.get_propertyList())){return;}}},digitalWrite:function(args){var switchData=ss.unbox(ss.cast(ss.cast(args,Array)[0],ss.Int32));if(switchData!==50){return;} 281 284 var doc=ss.cast(args,Array)[4];if(ss.isValue(this.$m_DeviceController)){if(ss.isNullOrUndefined(this.get_propertyList())){return;}}},digitalRead:function(button,flip,i){var dic=ss.mkdict(['pin',i]);var str=this.$m_WampClient.sendCall('{"deviceId":'+1+'}','com.sonycsl.kadecot.arduino.digitalRead','[]',JSON.stringify(dic),ss.mkdel(this,function(arg){this.digitalRead$1(arg,flip);}));if(ss.isNullOrUndefined(str)){button.toggleClass$1('ui-icon-refresh','ui-icon-alert');} -
uKadecot/trunk/tools/EcnlControllerUI/EcnlCtrlUI/packages.config
r101 r125 1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <packages> 3 <package id="Intelligencia.UrlRewriter" version="2.0.0.9" targetFramework="net45" /> 3 4 <package id="Saltarelle.Compiler" version="2.6.2" targetFramework="net45" /> 4 5 <package id="Saltarelle.jQuery" version="1.10.1" targetFramework="net45" /> -
uKadecot/trunk/tools/EcnlControllerUI/NiseWebSocket/NiseWebSocket.csproj
r101 r125 21 21 <IISExpressUseClassicPipelineMode /> 22 22 <NoStdLib>True</NoStdLib> 23 <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 24 <RestorePackages>true</RestorePackages> 23 25 </PropertyGroup> 24 26 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> … … 99 101 $(SolutionDir)tools\jsmin < "$(ProjectDir)$(OutDir)$(TargetName).js" > "$(SolutionDir)EcnlCtrlUI\js\nisews.min.js" "Copyright (C) 2015 by TOPPERS Project, Inc., JAPAN"</PostBuildEvent> 100 102 </PropertyGroup> 103 <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 101 104 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 102 105 Other similar extension points exist, see Microsoft.Common.targets. -
uKadecot/trunk/uip/apps/dhcpc/dhcpc.c
r108 r125 41 41 42 42 #define STATE_INITIAL 0 43 #define STATE_SENDING 1 44 #define STATE_OFFER_RECEIVED 2 45 #define STATE_CONFIG_RECEIVED 3 43 #define STATE_REQUEST 1 44 #define STATE_SENDING 2 45 #define STATE_OFFER_RECEIVED 3 46 #define STATE_CONFIG_RECEIVED 4 46 47 47 48 #ifdef __RX … … 261 262 PT_BEGIN(&s->pt); 262 263 264 if(s->state != STATE_REQUEST) 265 PT_YIELD(&s->pt); 266 263 267 /* try_again:*/ 264 268 s->state = STATE_SENDING; 265 269 s->ticks = 5 * CLOCK_SECOND; 266 270 267 send_discover(s);268 timer_set(&s->timer, s->ticks);269 270 271 do { 272 printf("send_discover(%d)\n", s->timer); 273 send_discover(s); 274 timer_set(&s->timer, s->ticks); 275 271 276 PT_WAIT_UNTIL(&s->pt, (ret = uip_newdata() ? 1 : (timer_expired(&s->timer) ? 2 : 0)) != 0); 272 277 … … 288 293 PT_YIELD(&s->pt); 289 294 290 send_request(s);291 timer_set(&s->timer, s->ticks);292 293 295 do { 296 printf("send_request(%d)\n", s->timer); 297 send_request(s); 298 timer_set(&s->timer, s->ticks); 299 294 300 PT_WAIT_UNTIL(&s->pt, (ret = uip_newdata() ? 1 : (timer_expired(&s->timer) ? 2 : 0)) != 0); 295 301 … … 382 388 u16_t ipaddr[2]; 383 389 384 s->state = STATE_ INITIAL;390 s->state = STATE_REQUEST; 385 391 uip_ipaddr(ipaddr, 0,0,0,0); 386 392 uip_sethostaddr(ipaddr); -
uKadecot/trunk/uip/apps/webserver/httpd-fs/index.html
r101 r125 30 30 <h1 id="header_logo" style="margin: 0px; text-align: left; background-color: white;"> 31 31 <a target='_blank' href="http://www.toppers.jp/index.html"> 32 <img src="./imgs/logo. gif" width="353" height="74" border="0" alt="TOPPERS LOGO">32 <img src="./imgs/logo.png" width="353" height="74" border="0" alt="TOPPERS LOGO"> 33 33 </a> 34 34 </h1> … … 95 95 <label for="txt_mac_addr">MACアドレス</label> 96 96 <input name="txt_mac_addr" id="txt_mac_addr" value="12:34:56:78:9A:BC" type="text"> 97 <label for="cb_dhcp_enable">DHCP有効</label> 98 <input name="cb_dhcp_enable" id="cb_dhcp_enable" type="checkbox"> 99 <label for="txt_ip_addr">IPアドレス</label> 100 <input name="txt_ip_addr" id="txt_ip_addr" value="192.168.2.103" type="text"> 101 <label for="txt_netmask">サブネットマスク</label> 102 <input name="txt_netmask" id="txt_netmask" value="255.255.255.0" type="text"> 103 <label for="txt_gateway">デフォルトゲートウェイ</label> 104 <input name="txt_gateway" id="txt_gateway" value="192.168.2.1" type="text"> 97 105 <button id="bt_set_init_params" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-check ui-btn-c"> 98 106 設定 -
uKadecot/trunk/uip/task/uip_task.c
r108 r125 82 82 int uip_out_wpos = 0; 83 83 int uip_out_rpos = 0; 84 constu8_t my_ip[4] = { IPV4_ADDR_LOCAL };85 constu8_t my_netmask[4] = { IPV4_ADDR_LOCAL_MASK };86 constu8_t my_default_router[4] = { IPV4_ADDR_DEFAULT_GW };84 u8_t my_ip[4] = { IPV4_ADDR_LOCAL }; 85 u8_t my_netmask[4] = { IPV4_ADDR_LOCAL_MASK }; 86 u8_t my_default_router[4] = { IPV4_ADDR_DEFAULT_GW }; 87 87 int ws_out_req; 88 88 int ws_out_res; 89 89 #ifdef __DHCPC_H__ 90 90 struct dhcpc_state *dhcpc; 91 extern bool_t dhcp_enable; 91 92 #endif 92 93 … … 113 114 uip_init(); 114 115 #ifdef __DHCPC_H__ 115 dhcpc = dhcpc_init(uip_ethaddr.addr, sizeof(uip_ethaddr.addr)); 116 if(dhcp_enable){ 117 dhcpc = dhcpc_init(uip_ethaddr.addr, sizeof(uip_ethaddr.addr)); 118 } 116 119 #endif 117 120 uip_task_init((intptr_t)uiptsk); … … 132 135 ic->link_pre = ic->link_now; 133 136 if(cng && ic->link_pre){ 134 sil_wrb_mem((uint8_t *)0x0008C02A, sil_reb_mem((uint8_t *)0x0008C02A) | 0x04);135 137 #ifdef __DHCPC_H__ 136 uip_buf = uiptsk->uip_buf; 137 uip_len = 0; 138 dhcpc_request(dhcpc); 139 /* If the above function invocation resulted in data that 140 should be sent out on the network, the global variable 141 uip_len is set to a value > 0. */ 142 if (uip_len > 0) { 143 uip_arp_out(); 144 IF_ETHER_NIC_START(ic, uip_buf, uip_len); 138 if(dhcp_enable){ 139 sil_wrb_mem((uint8_t *)0x0008C02A, sil_reb_mem((uint8_t *)0x0008C02A) | 0x04); 140 uip_buf = uiptsk->uip_buf; 141 uip_len = 0; 142 dhcpc_request(dhcpc); 143 /* If the above function invocation resulted in data that 144 should be sent out on the network, the global variable 145 uip_len is set to a value > 0. */ 146 if (uip_len > 0) { 147 uip_arp_out(); 148 IF_ETHER_NIC_START(ic, uip_buf, uip_len); 149 } 150 } 151 else{ 152 DHCP4_CLI_SET_ADDR_CALLBACK(); 145 153 } 146 154 #else
Note:
See TracChangeset
for help on using the changeset viewer.