Ignore:
Timestamp:
Feb 1, 2019, 9:57:09 PM (5 years ago)
Author:
coas-nagasima
Message:

TINETとSocket APIなどを更新

Location:
asp3_tinet_ecnl_arm/trunk/app7_buzzer
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • asp3_tinet_ecnl_arm/trunk/app7_buzzer/.cproject

    r352 r364  
    2222                        <storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
    2323                                <option id="toolchain.id" value="gcc-arm-embedded"/>
    24                                 <option id="toolchain.version" value="5.4.1.20160919"/>
     24                                <option id="toolchain.version" value="6.3.1.20170620"/>
    2525                        </storageModule>
    2626                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
     
    5959                                                        <option id="com.renesas.cdt.managedbuild.gcc.rz.option.warnStack.157741361" name="Warn if stack size exceeds the limit (-Wstack-usage) (H')" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.warnStack" useByScannerDiscovery="false" value="100" valueType="string"/>
    6060                                                        <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1697219582" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
    61                                                         <builder buildPath="${workspace_loc:/app7_buzzer}/Debug" id="com.renesas.cdt.managedbuild.gcc.rz.builder.314753602" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="false" superClass="com.renesas.cdt.managedbuild.gcc.rz.builder"/>
     61                                                        <builder buildPath="${workspace_loc:/app7_buzzer}/Debug" id="com.renesas.cdt.managedbuild.gcc.rz.builder.314753602" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.rz.builder"/>
    6262                                                        <tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.assembler.1983465188" name="Cross ARM GNU Assembler" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.assembler">
    6363                                                                <option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1082331522" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"/>
     
    127127                        <storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
    128128                                <option id="toolchain.id" value="gcc-arm-embedded"/>
    129                                 <option id="toolchain.version" value="5.4.1.20160919"/>
     129                                <option id="toolchain.version" value="6.3.1.20170620"/>
    130130                        </storageModule>
    131131                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
     
    164164                                                        <option id="com.renesas.cdt.managedbuild.gcc.rz.option.warnStack.1092918155" name="Warn if stack size exceeds the limit (-Wstack-usage) (H')" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.warnStack" useByScannerDiscovery="false" value="100" valueType="string"/>
    165165                                                        <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1370006715" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
    166                                                         <builder buildPath="${workspace_loc:/app7_buzzer}/DebugEther" id="com.renesas.cdt.managedbuild.gcc.rz.builder.2100247045" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="false" superClass="com.renesas.cdt.managedbuild.gcc.rz.builder"/>
     166                                                        <builder buildPath="${workspace_loc:/app7_buzzer}/DebugEther" id="com.renesas.cdt.managedbuild.gcc.rz.builder.2100247045" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.rz.builder"/>
    167167                                                        <tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.assembler.1932491155" name="Cross ARM GNU Assembler" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.assembler">
    168168                                                                <option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.158555834" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"/>
  • asp3_tinet_ecnl_arm/trunk/app7_buzzer/Debug/Makefile

    r352 r364  
    173173        CDEFS := -DTOPPERS_OMIT_TECS $(CDEFS)
    174174endif
    175 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DECHONET_USE_MALLOC -DRamDisk=_binary_______ntshell_src_rom_fs_bin_start
     175CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DNOUSE_MPF_NET_BUF -DECHONET_USE_MALLOC -DRamDisk=_binary_______ntshell_src_rom_fs_bin_start
    176176INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR) \
    177177        -I$(SRCDIR)/../btstack/include \
     
    181181        -I$(SRCDIR)/../usbhost/src \
    182182        $(INCLUDES)
    183 LDFLAGS := $(LDFLAGS) -Wl,-Map=$(OBJNAME).map,--cref -L.
     183LDFLAGS := $(LDFLAGS) -L.
    184184LIBS := $(LIBS) $(CXXLIBS)
    185185CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
     
    215215endif
    216216
    217 
    218 #
    219 #  ネットワークサービスの定義
    220 #
    221 NO_USE_TINET_LIBRARY = true
    222 
    223 #  ネットワークインタフェースの選択、何れか一つ選択する。
    224 NET_IF = ether
    225 
    226 #  イーサネット・ディバイスドライバの選択
    227 NET_DEV = if_btusb
    228 
    229 #  ネットワーク層の選択
    230 #SUPPORT_INET6 = true
    231 SUPPORT_INET4 = true
    232 
    233 #  API に組込む機能の選択
    234 #API_CFG_IP4MAPPED_ADDR = true
    235 
    236 #  トランスポート層の選択
    237 SUPPORT_TCP = true
    238 SUPPORT_UDP = true
    239 
    240 # IGMPを有効に設定
    241 SUPPORT_IGMP = true
    242 
    243 #
    244 #  ネットワークサービスの Makefile のインクルード
    245 #
    246 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet
     217ifdef TINETDIR
     218        #
     219        #  ネットワークサービスの定義
     220        #
     221        NO_USE_TINET_LIBRARY = true
     222
     223        #  ネットワークインタフェースの選択、何れか一つ選択する。
     224        NET_IF = ether
     225
     226        #  イーサネット・ディバイスドライバの選択
     227        NET_DEV = if_btusb
     228
     229        #  ネットワーク層の選択
     230        #SUPPORT_INET6 = true
     231        SUPPORT_INET4 = true
     232
     233        #  API に組込む機能の選択
     234        #API_CFG_IP4MAPPED_ADDR = true
     235
     236        #  トランスポート層の選択
     237        SUPPORT_TCP = true
     238        SUPPORT_UDP = true
     239
     240        # IGMPを有効に設定
     241        SUPPORT_IGMP = true
     242
     243        #
     244        #  ネットワークサービスの Makefile のインクルード
     245        #
     246        include $(SRCDIR)/$(TINETDIR)/Makefile.tinet
     247endif
    247248
    248249#
     
    277278#  コンフィギュレータに関する定義
    278279#
    279 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel
    280 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \
     280ifndef TINETDIR
     281  CFG_TRB := -T $(TARGETDIR)/target_kernel.trb
     282  CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \
     283                        --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS)
     284else
     285  CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel
     286  CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \
    281287                        --api-table ../../ntshell/echonet/echonet_api.def:echonet \
    282288                        --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \
     
    284290                        --symval-table ../../ntshell/echonet/echonet_sym.def \
    285291                        --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS)
     292endif
    286293CFG_ASMOBJS := $(CFG_ASMOBJS)
    287294CFG_COBJS := kernel_cfg.o echonet_cfg.o $(CFG_COBJS)
     
    429436
    430437#
     438#  並列makeのための依存関係の定義
     439#
     440$(APPL_OBJS) $(filter-out $(CFG_DMY), $(SYSSVC_OBJS)): | kernel_cfg.timestamp
     441$(APPL_ASMOBJS) $(filter-out $(CFG_DMY), $(SYSSVC_ASMOBJS)) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \
     442                                                                                                                | offset.timestamp
     443
     444#
    431445#  特別な依存関係の定義
    432446#
     
    437451#
    438452$(OBJFILE): $(ALL_OBJS) $(LIBS_DEP)
    439         $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \
     453        $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) -Wl,-Map=$(OBJNAME).map,--cref \
    440454                        $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
    441455                        -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS)
  • asp3_tinet_ecnl_arm/trunk/app7_buzzer/DebugEther/Makefile

    r352 r364  
    171171        CDEFS := -DTOPPERS_OMIT_TECS $(CDEFS)
    172172endif
    173 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DECHONET_USE_MALLOC -DRamDisk=_binary_______ntshell_src_rom_fs_bin_start
     173CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DNOUSE_MPF_NET_BUF -DECHONET_USE_MALLOC -DRamDisk=_binary_______ntshell_src_rom_fs_bin_start
    174174INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR) \
    175175        -I$(SRCDIR)/../btstack/include \
     
    179179        -I$(SRCDIR)/../usbhost/src \
    180180        $(INCLUDES)
    181 LDFLAGS := $(LDFLAGS) -Wl,-Map=$(OBJNAME).map,--cref -L.
     181LDFLAGS := $(LDFLAGS) -L.
    182182LIBS := $(LIBS) $(CXXLIBS)
    183183CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
     
    213213endif
    214214
    215 
    216 #
    217 #  ネットワークサービスの定義
    218 #
    219 NO_USE_TINET_LIBRARY = true
    220 
    221 #  ネットワークインタフェースの選択、何れか一つ選択する。
    222 NET_IF = ether
    223 
    224 #  イーサネット・ディバイスドライバの選択
     215ifdef TINETDIR
     216        #
     217        #  ネットワークサービスの定義
     218        #
     219        NO_USE_TINET_LIBRARY = true
     220
     221        #  ネットワークインタフェースの選択、何れか一つ選択する。
     222        NET_IF = ether
     223
     224        #  イーサネット・ディバイスドライバの選択
    225225        NET_DEV = if_mbed
    226226
    227 #  ネットワーク層の選択
    228 #SUPPORT_INET6 = true
    229 SUPPORT_INET4 = true
    230 
    231 #  API に組込む機能の選択
    232 #API_CFG_IP4MAPPED_ADDR = true
    233 
    234 #  トランスポート層の選択
    235 SUPPORT_TCP = true
    236 SUPPORT_UDP = true
    237 
    238 # IGMPを有効に設定
    239 SUPPORT_IGMP = true
    240 
    241 #
    242 #  ネットワークサービスの Makefile のインクルード
    243 #
    244 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet
     227        #  ネットワーク層の選択
     228        #SUPPORT_INET6 = true
     229        SUPPORT_INET4 = true
     230
     231        #  API に組込む機能の選択
     232        #API_CFG_IP4MAPPED_ADDR = true
     233
     234        #  トランスポート層の選択
     235        SUPPORT_TCP = true
     236        SUPPORT_UDP = true
     237
     238        # IGMPを有効に設定
     239        SUPPORT_IGMP = true
     240
     241        #
     242        #  ネットワークサービスの Makefile のインクルード
     243        #
     244        include $(SRCDIR)/$(TINETDIR)/Makefile.tinet
     245endif
    245246
    246247#
     
    275276#  コンフィギュレータに関する定義
    276277#
    277 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel
    278 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \
     278ifndef TINETDIR
     279  CFG_TRB := -T $(TARGETDIR)/target_kernel.trb
     280  CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \
     281                        --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS)
     282else
     283  CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel
     284  CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \
    279285                        --api-table ../../ntshell/echonet/echonet_api.def:echonet \
    280286                        --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \
     
    282288                        --symval-table ../../ntshell/echonet/echonet_sym.def \
    283289                        --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS)
     290endif
    284291CFG_ASMOBJS := $(CFG_ASMOBJS)
    285292CFG_COBJS := kernel_cfg.o echonet_cfg.o $(CFG_COBJS)
     
    427434
    428435#
     436#  並列makeのための依存関係の定義
     437#
     438$(APPL_OBJS) $(filter-out $(CFG_DMY), $(SYSSVC_OBJS)): | kernel_cfg.timestamp
     439$(APPL_ASMOBJS) $(filter-out $(CFG_DMY), $(SYSSVC_ASMOBJS)) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \
     440                                                                                                                | offset.timestamp
     441
     442#
    429443#  特別な依存関係の定義
    430444#
     
    435449#
    436450$(OBJFILE): $(ALL_OBJS) $(LIBS_DEP)
    437         $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \
     451        $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) -Wl,-Map=$(OBJNAME).map,--cref \
    438452                        $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
    439453                        -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS)
  • asp3_tinet_ecnl_arm/trunk/app7_buzzer/src/echonet_main.c

    r352 r364  
    11/*
    22 *  TOPPERS ECHONET Lite Communication Middleware
    3  * 
     3 *
    44 *  Copyright (C) 2014-2018 Cores Co., Ltd. Japan
    5  * 
     5 *
    66 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    77 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     
    2626 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    2727 *      免責すること.
    28  * 
     28 *
    2929 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    3030 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     
    3232 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    3333 *  の責任を負わない.
    34  * 
     34 *
    3535 *  @(#) $Id$
    3636 */
    3737
    38 /* 
     38/*
    3939 *  サンプルプログラム(1)の本体
    4040 */
     
    112112{
    113113        /* サイズが1以外は受け付けない */
    114         if(size != 1)
     114        if (size != 1)
    115115                return 0;
    116116
    117117        *anno = *((uint8_t*)item->exinf) != *((uint8_t*)src);
    118118
    119         switch(*(uint8_t *)src){
     119        switch (*(uint8_t *)src) {
    120120        /* ONの場合 */
    121121        case 0x30:
     
    144144{
    145145        /* サイズが1以外は受け付けない */
    146         if(size != 1)
     146        if (size != 1)
    147147                return 0;
    148148
    149149        *anno = *((uint8_t *)item->exinf) != *((uint8_t *)src);
    150150
    151         switch(*(uint8_t *)src){
     151        switch (*(uint8_t *)src) {
    152152        /* 異常発生ありの場合 */
    153153        case 0x41:
     
    170170{
    171171        /* サイズが1以外は受け付けない */
    172         if(size != 1)
    173                 return 0;
    174 
    175         switch(*(uint8_t *)src){
     172        if (size != 1)
     173                return 0;
     174
     175        switch (*(uint8_t *)src) {
    176176        /* 音発生有の場合 */
    177177        case 0x41:
     
    203203
    204204        /* サイズが1以外は受け付けない */
    205         if(size != 1)
     205        if (size != 1)
    206206                return 0;
    207207
     
    212212        data[1] = (*((uint8_t *)src) == 0x41) ? 0x01 : 0x00;
    213213        ret = ecn_brk_wai(data, sizeof(data));
    214         if(ret != E_OK){
     214        if (ret != E_OK) {
    215215                syslog(LOG_ERROR, "ecn_brk_wai");
    216216        }
     
    228228
    229229        /* サイズが1以外は受け付けない */
    230         if(size != 1)
     230        if (size != 1)
    231231                return 0;
    232232
     
    237237        data[1] = (*((uint8_t *)src) == 0x41) ? 0x01 : 0x00;
    238238        ret = ecn_brk_wai(data, sizeof(data));
    239         if(ret != E_OK){
     239        if (ret != E_OK) {
    240240                syslog(LOG_ERROR, "ecn_brk_wai");
    241241        }
     
    267267
    268268        ret2 = get_tim(&now);
    269         if (ret2 != E_OK){
     269        if (ret2 != E_OK) {
    270270                syslog(LOG_ERROR, "get_tim");
    271271                return;
    272272        }
    273273
    274         for(;;){
     274        for (;;) {
    275275                prev = now;
    276276
     
    280280                /* 応答電文待ち */
    281281                ret = ecn_trcv_esv(&esv, timer);
    282                 if ((ret != E_OK) && (ret != E_BRK) && (ret != E_TMOUT)){
     282                if ((ret != E_OK) && (ret != E_BRK) && (ret != E_TMOUT)) {
    283283                        syslog(LOG_ERROR, "ecn_trcv_esv");
    284284                        break;
     
    286286
    287287                ret2 = get_tim(&now);
    288                 if (ret2 != E_OK){
     288                if (ret2 != E_OK) {
    289289                        syslog(LOG_ERROR, "get_tim");
    290290                        break;
     
    301301                        /* 領域解放 */
    302302                        ret = ecn_rel_esv(esv);
    303                         if (ret != E_OK){
     303                        if (ret != E_OK) {
    304304                                syslog(LOG_ERROR, "ecn_rel_esv");
    305305                                break;
     
    310310                        /* 応答電文待ちの割り込みデータ取得 */
    311311                        ret = ecn_get_brk_dat(esv, brkdat, sizeof(brkdat), &len);
    312                         if (ret != E_OK){
     312                        if (ret != E_OK) {
    313313                                syslog(LOG_ERROR, "ecn_get_brk_dat");
    314314                                break;
     
    320320                        /* 領域解放 */
    321321                        ret = ecn_rel_esv(esv);
    322                         if (ret != E_OK){
     322                        if (ret != E_OK) {
    323323                                syslog(LOG_ERROR, "ecn_rel_esv");
    324324                                break;
     
    331331}
    332332
    333 bool_t started = false;
    334 
    335333void echonet_change_netif_link(uint8_t link_up, uint8_t up)
    336334{
     
    340338                return;
    341339
    342         if (up && !started) {
    343                 started = true;
    344 
    345                 /* ECHONETミドルウェアを起動 */
    346                 ret = ecn_sta_svc();
    347                 if (ret != E_OK)
    348                         return;
    349 
    350                 /* ECHONETミドルウェアを起動するのを待つ */
    351                 dly_tsk(100);
     340        if (up) {
     341                /* インスタンスリスト通知の送信 */
     342                ret = ecn_ntf_inl();
     343                if (ret != E_OK) {
     344                        syslog(LOG_ERROR, "ecn_ntf_inl");
     345                }
    352346        }
    353347
     
    363357}
    364358
    365 enum main_state_t{
     359enum main_state_t {
     360        main_state_start,
    366361        main_state_idle,
    367362        main_state_search,
     
    370365
    371366int main_timer = TMO_FEVR;
    372 enum main_state_t main_state = main_state_idle;
     367enum main_state_t main_state = main_state_start;
    373368
    374369int main_nop_timer = TMO_FEVR;
     
    390385        gpio_write(&led_red, 0);
    391386
    392         /* 1秒後にブザーを検索 */
    393         main_state = main_state_search;
     387        /* ECHONETミドルウェアを起動するのを待つ */
     388        main_state = main_state_start;
    394389        main_timer = 1000 * 1000;
    395390
     391        /* メインタスクを起動 */
    396392        ER ret = act_tsk(MAIN_TASK);
    397393        if (ret != E_OK) {
     
    407403        int result = main_timer;
    408404
    409         if((result == TMO_FEVR)
    410                 || ((main_nop_timer != TMO_FEVR) && (main_nop_timer < result))){
     405        if ((result == TMO_FEVR)
     406                || ((main_nop_timer != TMO_FEVR) && (main_nop_timer < result))) {
    411407                result = main_nop_timer;
    412408        }
     
    420416static void main_progress(int interval)
    421417{
    422         if(main_timer != TMO_FEVR){
     418        if (main_timer != TMO_FEVR) {
    423419                main_timer -= interval;
    424                 if(main_timer < 0){
     420                if (main_timer < 0) {
    425421                        main_timer = 0;
    426422                }
    427423        }
    428424
    429         if(main_nop_timer != TMO_FEVR){
     425        if (main_nop_timer != TMO_FEVR) {
    430426                main_nop_timer -= interval;
    431                 if(main_nop_timer < 0){
     427                if (main_nop_timer < 0) {
    432428                        main_nop_timer = 0;
    433429                }
     
    448444
    449445        eobjid = ecn_get_eobj(esv);
    450         if(eobjid == EOBJ_NULL){
     446        if (eobjid == EOBJ_NULL) {
    451447                syslog(LOG_ERROR, "ecn_get_eobj");
    452448                return;
     
    454450
    455451        ret = ecn_itr_ini(&enm, esv);
    456         if(ret != E_OK){
     452        if (ret != E_OK) {
    457453                syslog(LOG_ERROR, "ecn_itr_ini");
    458454                return;
    459455        }
    460456
    461         for(;;) {
    462                 while((ret = ecn_itr_nxt(&enm, &epc, &pdc, p_edt)) == E_OK) {
     457        for (;;) {
     458                while ((ret = ecn_itr_nxt(&enm, &epc, &pdc, p_edt)) == E_OK) {
    463459                        switch (epc) {
    464460                        case 0xD6:
    465                                 switch(main_state){
     461                                switch (main_state) {
    466462                                case main_state_search:
    467463                                        if (eobjid == POT_NODE_EOBJ) {
     
    475471                        }
    476472                }
    477                 if(ret != E_BOVR){
     473                if (ret != E_BOVR) {
    478474                        syslog(LOG_ERROR, "ecn_itr_nxt");
    479475                        break;
    480476                }
    481                 if(enm.is_eof)
     477                if (enm.is_eof)
    482478                        break;
    483479        }
     
    490486        uint8_t p_edt[1];
    491487
    492         switch(main_state){
     488        switch (main_state) {
    493489        case main_state_idle:
    494490                p_edt[0] = 0x41; /* 音発生有 */
     
    496492                /* プロパティ設定電文作成 */
    497493                ret = ecn_esv_seti(&esv, BUZZER_EOBJ, 0xB1, 1, p_edt);
    498                 if(ret != E_OK){
     494                if (ret != E_OK) {
    499495                        syslog(LOG_ERROR, "ecn_esv_seti");
    500496                        break;
     
    503499                /* 電文送信 */
    504500                ecn_snd_esv(esv);
    505                 if(ret != E_OK){
     501                if (ret != E_OK) {
    506502                        syslog(LOG_ERROR, "ecn_snd_esv");
    507503                        break;
     
    523519        uint8_t p_edt[1];
    524520
    525         switch(main_state){
     521        switch (main_state) {
    526522        case main_state_buzzer_on:
    527523                p_edt[0] = 0x42; /* 音発生無 */
     
    529525                /* プロパティ設定電文作成 */
    530526                ret = ecn_esv_seti(&esv, BUZZER_EOBJ, 0xB1, 1, p_edt);
    531                 if(ret != E_OK){
     527                if (ret != E_OK) {
    532528                        syslog(LOG_ERROR, "ecn_esv_seti");
    533529                        break;
     
    536532                /* 電文送信 */
    537533                ecn_snd_esv(esv);
    538                 if(ret != E_OK){
     534                if (ret != E_OK) {
    539535                        syslog(LOG_ERROR, "ecn_snd_esv");
    540536                        break;
     
    557553        }
    558554
    559         if(len < 2)
    560                 return;
    561 
    562         switch(brkdat[0]){
     555        if (len < 2)
     556                return;
     557
     558        switch (brkdat[0]) {
    563559        case 0x01:
    564                 if(brkdat[1] != 0)
     560                if (brkdat[1] != 0)
    565561                        main_buzzer_on();
    566562                else
     
    568564                break;
    569565        case 0x02:
    570                 if(brkdat[1] == 0)
     566                if (brkdat[1] == 0)
    571567                        main_nop_timer = 5000 * 1000; /* 5秒後にブザーON */
    572568                break;
     
    582578static void main_timeout()
    583579{
    584         if(main_timer == 0){
     580        if (main_timer == 0) {
    585581                main_ontimer();
    586582        }
    587583
    588         if(main_nop_timer == 0){
     584        if (main_nop_timer == 0) {
    589585                main_nop_timeout();
    590586        }
     
    595591static void main_ontimer()
    596592{
    597         switch (main_state)
    598         {
     593        ER ret;
     594
     595        switch (main_state) {
     596        case main_state_start:
     597                /* ECHONETミドルウェアを起動 */
     598                ret = ecn_sta_svc();
     599                if (ret != E_OK) {
     600                        syslog(LOG_ERROR, "ecn_sta_svc");
     601                }
     602
     603                /* 1秒後にブザーを検索 */
     604                main_state = main_state_search;
     605                main_timer = 1000 * 1000;
     606                break;
    599607        case main_state_search:
    600608                /* 電気ポット再検索 */
     
    620628        /* 電気ポット検索 */
    621629        ret = ecn_esv_inf_req(&esv, EOBJ_NULL, 0xD6);
    622         if(ret != E_OK){
     630        if (ret != E_OK) {
    623631                syslog(LOG_ERROR, "ecn_esv_inf_req");
    624632                return;
     
    627635        /* 電文送信 */
    628636        ret = ecn_snd_esv(esv);
    629         if(ret != E_OK){
     637        if (ret != E_OK) {
    630638                syslog(LOG_ERROR, "ecn_snd_esv");
    631639        }
  • asp3_tinet_ecnl_arm/trunk/app7_buzzer/src/main.c

    r359 r364  
    7979
    8080ID ws_api_mailboxid = MAIN_DATAQUEUE;
     81#ifndef NOUSE_MPF_NET_BUF
    8182ID ws_mempoolid = MPF_NET_BUF_256;
     83#endif
    8284
    8385#ifdef IF_ETHER_BTUSB
     
    111113static void main_timeout();
    112114
     115extern int ntshell_exit;
     116
    113117int uart_read(char *buf, int cnt, void *extobj)
    114118{
    115         return serial_rea_dat(SIO_PORTID, (char *)buf, cnt);
     119        struct main_t *obj = (struct main_t *)extobj;
     120        int result;
     121        ER ret;
     122        int timer;
     123
     124        obj->prev = obj->now;
     125
     126        /* タイマー取得 */
     127        timer = main_get_timer();
     128
     129        /* 待ち */
     130        ret = serial_trea_dat(SIO_PORTID, buf, cnt, timer);
     131        if ((ret < 0) && (ret != E_OK) && (ret != E_TMOUT)) {
     132                syslog(LOG_NOTICE, "tslp_tsk ret: %s %d", itron_strerror(ret), timer);
     133                ntshell_exit = 1;
     134                return -1;
     135        }
     136        result = (int)ret;
     137
     138        ret = get_tim(&obj->now);
     139        if (ret != E_OK) {
     140                syslog(LOG_NOTICE, "get_tim ret: %s", itron_strerror(ret));
     141                ntshell_exit = 1;
     142                return -1;
     143        }
     144
     145                        /* 時間経過 */
     146        int elapse = obj->now - obj->prev;
     147        main_progress(elapse);
     148
     149        /* タイムアウト処理 */
     150        main_timeout();
     151
     152        return result;
    116153}
    117154
     
    119156{
    120157        return serial_wri_dat(SIO_PORTID, buf, cnt);
    121 }
    122 
    123 unsigned char ntstdio_xi(struct ntstdio_t *handle)
    124 {
    125         char buf[1];
    126         if(serial_rea_dat(SIO_PORTID, buf, 1) != 1)
    127                 return -EIO;
    128         return buf[0];
    129 }
    130 
    131 void ntstdio_xo(struct ntstdio_t *handle, unsigned char c)
    132 {
    133         char buf[1];
    134         buf[0] = c;
    135         serial_wri_dat(SIO_PORTID, buf, 1);
    136158}
    137159
     
    150172        main_initialize();
    151173
    152         ntshell_init(&ntshell, uart_read, uart_write, cmd_execute, NULL);
     174        ntshell_init(&ntshell, uart_read, uart_write, cmd_execute, &main_obj);
    153175        ntshell_set_prompt(&ntshell, "NTShell>");
    154176        ntshell_execute(&ntshell);
     
    168190        ER ret;
    169191
    170         ntshell_task_init();
     192#ifdef TOPPERS_OMIT_TECS
     193        serial_opn_por(SIO_PORTID);
     194#endif
     195        serial_ctl_por(SIO_PORTID, IOCTL_FCSND | IOCTL_FCRCV);
     196
     197        ntshell_task_init(uart_read, uart_write, &main_obj);
    171198
    172199        main_obj.timer = TMO_FEVR;
  • asp3_tinet_ecnl_arm/trunk/app7_buzzer/src/main.cfg

    r352 r364  
    5454INCLUDE("tinet/tinet_asp.cfg");
    5555INCLUDE("tinet_main.cfg");
    56 INCLUDE("netinet/ip_igmp.cfg");
    5756
    5857/* DHCP クライアント */
Note: See TracChangeset for help on using the changeset viewer.