Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/ntshell/echonet/echonet_task.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    44 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    55 *
    6  *  上記著作権è€
    7 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    8  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    9  *  変・再é
    10 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    11  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    12  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    13  *      スコード中に含まれていること.
    14  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    15  *      用できる形で再é
    16 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    17 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    18  *      è€
    19 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    20  *      の無保証規定を掲載すること.
    21  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    22  *      用できない形で再é
    23 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    24  *      と.
    25  *    (a) 再é
    26 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    27 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    28  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    29  *    (b) 再é
    30 å¸ƒã®å½¢æ
    31 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    32  *        報告すること.
    33  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    34  *      害からも,上記著作権è€
    35 ãŠã‚ˆã³TOPPERSプロジェクトをå
    36 è²¬ã™ã‚‹ã“と.
    37  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    38  *      由に基づく請求からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトを
    40  *      å
    41 è²¬ã™ã‚‹ã“と.
     6 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     7 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     8 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     9 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     10 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     11 *      スコード中に含まれていること.
     12 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     13 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     14 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     15 *      の無保証規定を掲載すること.
     16 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     17 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     18 *      と.
     19 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     20 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     21 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     22 *        報告すること.
     23 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     24 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     25 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     26 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     27 *      免責すること.
    4228 *
    43  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    44 ãŠ
    45  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    46  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    47  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    48  *  の責任を負わない.
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     31 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     32 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     33 *  の責任を負わない.
    4934 *
    5035 *  @(#) $Id$
     
    5237
    5338/*
    54  *              ECHONET Lite タスク
     39 *              ECHONET Lite タスク
    5540 */
    5641
     
    8671#endif /* ECHONET_TASK_TIMEOUT */
    8772
    88 /* アプリケーションが要求した電文のシーケンス番号 */
     73/* アプリケーションが要求した電文のシーケンス番号 */
    8974static uint16_t g_api_tid;
    9075
    91 /* 受信メッセージを開放するか否か */
     76/* 受信メッセージを開放するか否か */
    9277static bool_t g_release_esv;
    9378
     
    131116                        i += - ENOD_REMOTE_ID + 1;
    132117                        if (from_app && (i < tnum_enodid)) {
    133                                 /* 非同期のリモートノードはサービス処理タスクで処理する */
     118                                /* 非同期のリモートノードはサービス処理タスクで処理する */
    134119                                switch (eobjcb_table[i].profile->eobjatr) {
    135120                                case EOBJ_SYNC_REMOTE_NODE:
     
    179164        ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno);
    180165
    181 /* モジュール初期化フラグ */
     166/* モジュール初期化フラグ */
    182167static uint8_t          m_eobjlist_need_init = 1;
    183168
    184 /* シーケンス番号 */
     169/* シーケンス番号 */
    185170static uint16_t         g_current_tid = 1;
    186171
    187172/*
    188  *  ECHONET Lite タスクの初期化(コンストラクタ相当)
     173 *  ECHONET Lite タスクの初期化(コンストラクタ相当)
    189174 */
    190175void echonet_task_init(intptr_t exinf)
     
    195180
    196181/*
    197  * モジュール初期化
     182 * モジュール初期化
    198183 */
    199184static void _ecn_tsk_int_module_init(intptr_t exinf)
     
    216201
    217202/*
    218  *  ECHONET Lite タスクの本体
     203 *  ECHONET Lite タスクの本体
    219204 */
    220205void echonet_task(intptr_t fa_exinf)
     
    240225        }
    241226
    242         /* メッセージループ */
     227        /* メッセージループ */
    243228        for (;;) {
    244229                a_prev = a_now;
     
    278263
    279264                        switch (a_mdt.fbs_id.ptr->hdr.type) {
    280                         /* å†
    281 éƒ¨ä½¿ç”¨ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ */
     265                        /* 内部使用メッセージ */
    282266                        case ECN_MSG_INTERNAL:
    283267                                _ecn_tsk_int_msg(fa_exinf, a_mdt.fbs_id);
    284268                                break;
    285269
    286                         /* ECHONET用メッセージ */
     270                        /* ECHONET用メッセージ */
    287271                        case ECN_MSG_ECHONET:
    288272                                _ecn_tsk_ecn_msg(fa_exinf, a_mdt.fbs_id);
     
    293277                        }
    294278
    295                         /* 領域解放 */
     279                        /* 領域解放 */
    296280                        if (g_release_esv)
    297281                                _ecn_fbs_del(a_mdt.fbs_id);
     
    306290
    307291/*
    308  * シーケンス番号生成
     292 * シーケンス番号生成
    309293 */
    310294static uint16_t _ecn_tsk_new_tid(void)
     
    314298
    315299/*
    316  * 要求電文作成
    317  * 引数
    318  * ECN_FBS_ID           *fp_fbs_id              取得したFBS_IDの格納å
    319 ˆ
    320  * ID                           fa_seoj                 é€ä¿¡å
    321 ƒã®ECHONETオブジェクトID
    322  * ID                           fa_deoj                 å®›å
    323 ˆã®ECHONETオブジェクトID
    324  * uint8_t                      fa_epc                  プロパティコード
    325  * uint8_t                      fa_pdc                  プロパティ値データサイズ
    326  * const void           *p_edt                  プロパティ値データ
    327  * ECN_SRV_CODE         fa_esv                  ECHONET Light サービスコード
     300 * 要求電文作成
     301 * 引数
     302 * ECN_FBS_ID           *fp_fbs_id              取得したFBS_IDの格納先
     303 * ID                           fa_seoj                 送信元のECHONETオブジェクトID
     304 * ID                           fa_deoj                 宛先のECHONETオブジェクトID
     305 * uint8_t                      fa_epc                  プロパティコード
     306 * uint8_t                      fa_pdc                  プロパティ値データサイズ
     307 * const void           *p_edt                  プロパティ値データ
     308 * ECN_SRV_CODE         fa_esv                  ECHONET Light サービスコード
    328309 */
    329310ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj,
     
    332313        ER                              a_ret;
    333314        int                             a_size, i;
    334         ECN_FBS_ID              a_fbs_id = { 0 };       /* 要求電文用メモリ                             */
     315        ECN_FBS_ID              a_fbs_id = { 0 };       /* 要求電文用メモリ                             */
    335316        T_ECN_EDT_HDR   a_ecn_hdp;                      /* ecn_hdr+edata+ecn_prp 14byte */
    336317        ID                              a_enodid;
     
    339320
    340321        if (!fp_fbs_id)
    341                 return E_PAR; /* 取得したFBS_IDの格納å
    342 ˆãŒNULL */
     322                return E_PAR; /* 取得したFBS_IDの格納先がNULL */
    343323        if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc)
    344                 return E_PAR; /* プロパティ値サイズが大きすぎる */
     324                return E_PAR; /* プロパティ値サイズが大きすぎる */
    345325        if (!p_edt && 0 < fa_pdc)
    346                 return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */
     326                return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */
    347327
    348328        if (fa_seoj <= EOBJ_NULL || tmax_eobjid < fa_seoj)
    349                 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
     329                return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
    350330#ifndef ECHONET_CONTROLLER_EXTENTION
    351331        if (fa_deoj < EOBJ_NULL || tmax_eobjid < fa_deoj)
    352                 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
     332                return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
    353333#else
    354334        if (fa_deoj < EOBJ_NULL || (tmax_eobjid + TNUM_AEOBJID) < fa_deoj)
    355                 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
     335                return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
    356336#endif
    357337        if (fa_deoj == EOBJ_NULL && fa_esv == ESV_INFC)
    358                 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
    359 
    360         /* 要求最小サイズの取得 */
     338                return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
     339
     340        /* 要求最小サイズの取得 */
    361341        a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
    362342
    363         /* 要求電文用メモリの取得 */
     343        /* 要求電文用メモリの取得 */
    364344        a_ret = _ecn_fbs_cre(a_size, &a_fbs_id);
    365         if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */
     345        if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */
    366346                ECN_DBG_PUT_3("_ecn_fbs_cre(%d) result = %d:%s",
    367347                        a_size,
     
    370350        }
    371351
    372         /* 要求電文設定                                           */
     352        /* 要求電文設定                                               */
    373353        memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
    374354        a_ecn_hdp.ecn_hdr.ehd1 = ECN_EDH1_ECHONET_LITE;
     
    377357        memcpy(&a_ecn_hdp.edata.seoj, &eobjinib_table[fa_seoj - 1].eojx1, sizeof(a_ecn_hdp.edata.seoj));
    378358        a_ecn_hdp.edata.esv = fa_esv;
    379         a_ecn_hdp.edata.opc = 1;                /* 処理プロパティ数 */
    380         a_ecn_hdp.ecn_prp.epc = fa_epc; /* プロパティコード */
    381         a_ecn_hdp.ecn_prp.pdc = fa_pdc; /* 付随データサイズ */
    382 
    383         /* 要求電文用メモリにデータ追加 */
     359        a_ecn_hdp.edata.opc = 1;                /* 処理プロパティ数 */
     360        a_ecn_hdp.ecn_prp.epc = fa_epc; /* プロパティコード */
     361        a_ecn_hdp.ecn_prp.pdc = fa_pdc; /* 付随データサイズ */
     362
     363        /* 要求電文用メモリにデータ追加 */
    384364        a_ret = _ecn_fbs_add_data_ex(a_fbs_id, &a_ecn_hdp, a_size);
    385365        if (a_ret) {
     
    390370        }
    391371        if (0 < fa_pdc) {
    392                 /* 付随データ追加 */
     372                /* 付随データ追加 */
    393373                a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc);
    394374                if (a_ret) {
     
    400380        }
    401381        if (fa_deoj == 0) {
    402                 ECN_DBG_PUT("マルチキャスト");
    403                 /* fa_deoj == 0 : マルチキャスト */
     382                ECN_DBG_PUT("マルチキャスト");
     383                /* fa_deoj == 0 : マルチキャスト */
    404384                ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx1 = EOJ_X1_PROFILE;
    405385                ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx2 = EOJ_X2_NODE_PROFILE;
     
    409389        else if (fa_deoj <= tmax_eobjid) {
    410390                ECN_DBG_PUT_1("fa_deoj = %d", fa_deoj);
    411                 /* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) …の異常系は関数冒頭で除外済みとする */
     391                /* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) …の異常系は関数冒頭で除外済みとする */
    412392                a_eobj = &eobjinib_table[fa_deoj - 1];
    413393                memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &a_eobj->eojx1,
    414394                        sizeof(((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj));
    415395
    416                 /* テーブルから検索 */
     396                /* テーブルから検索 */
    417397                a_fbs_id.ptr->hdr.target.id = ENOD_NOT_MATCH_ID;
    418398                a_enodid = (a_eobj->enodid == 0) ? fa_deoj : a_eobj->enodid;
     
    454434                ECN_ENOD_ID enodid;
    455435                ECN_DBG_PUT_1("fa_deoj = %d", fa_deoj);
    456                 /* オブジェクトIDからEOJとノードIDを取得 */
     436                /* オブジェクトIDからEOJとノードIDを取得 */
    457437                if(ecn_agent_get_eoj_enodid(fa_deoj, &eoj, &enodid)){
    458438                        memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &eoj,
     
    487467                a_fbs_id.ptr->hdr.reply.id = ENOD_API_ID;
    488468
    489         /* 正常終了 */
     469        /* 正常終了 */
    490470        *fp_fbs_id = a_fbs_id;
    491471        return E_OK;
    492472
    493473lb_except:
    494         /* データ作成失敗したら領域解放 */
     474        /* データ作成失敗したら領域解放 */
    495475        if (a_fbs_id.ptr)
    496476                _ecn_fbs_del(a_fbs_id);
     
    500480
    501481/*
    502  * å†
    503 éƒ¨ä½¿ç”¨ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
     482 * 内部使用メッセージ
    504483 */
    505484static void _ecn_tsk_int_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id)
     
    532511
    533512/*
    534  * タスク初期化
     513 * タスク初期化
    535514 */
    536515static void _ecn_tsk_int_startup(intptr_t fa_exinf)
     
    541520                _ecn_tsk_int_module_init(fa_exinf);
    542521
    543         /* インスタンスリスト通知の送信 */
     522        /* インスタンスリスト通知の送信 */
    544523        a_ret = _ecn_tsk_ntf_inl(fa_exinf);
    545524        if (a_ret) {
     
    549528
    550529/*
    551  * インスタンスリスト通知の送信
    552  * ECHONET-Lite_Ver.1.10_02.pdf p.43 図4-1-4
     530 * インスタンスリスト通知の送信
     531 * ECHONET-Lite_Ver.1.10_02.pdf p.43 4-1-4
    553532 */
    554533ER _ecn_tsk_ntf_inl(intptr_t fa_exinf)
    555534{
    556         const T_ECN_EOJ a_seoj =        /* 0x01 : 一般ノード、0x02:送信専用ノード */
     535        const T_ECN_EOJ a_seoj =        /* 0x01 : 一般ノード、0x02:送信専用ノード */
    557536                { EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, 0x01 };
    558537        const T_ECN_EOJ a_deoj =
     
    564543        int                     i;
    565544        uint8_t         a_count;
    566         const EOBJCB    *enod = &eobjcb_table[0];       /* ローカルノード */
     545        const EOBJCB    *enod = &eobjcb_table[0];       /* ローカルノード */
    567546        const EOBJINIB *eobj;
    568547
     
    582561
    583562                if (!a_eoj_ct) {
    584                         /* メモリ確保・ヘッダ格納 */
    585                         a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* シーケンス番号生成 */
     563                        /* メモリ確保・ヘッダ格納 */
     564                        a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* シーケンス番号生成 */
    586565                        a_ret = _ecn_fbs_cre(sizeof(a_hdr), &a_fbs);
    587                         if (a_ret != E_OK) /* 確保失敗 */
     566                        if (a_ret != E_OK) /* 確保失敗 */
    588567                                goto lb_except;
    589568                        a_ret = _ecn_fbs_add_data(a_fbs, &a_hdr, sizeof(a_hdr));
    590                         if (a_ret != E_OK) /* データ追加失敗 */
     569                        if (a_ret != E_OK) /* データ追加失敗 */
    591570                                goto lb_except;
    592571
     
    595574                        a_fbs.ptr->hdr.target.id = ENOD_MULTICAST_ID;
    596575                        a_fbs.ptr->hdr.reply.id = ENOD_LOCAL_ID;
    597                         ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1;    /* 件数 */
    598                         /* 件数を格納 */
     576                        ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1;    /* 件数 */
     577                        /* 件数を格納 */
    599578                        a_count = (uint8_t)(enod->eobjcnt - i);
    600579                        if (a_count >= ECN_IST_LST_EOJ_MAX_CT)
    601580                                a_count = ECN_IST_LST_EOJ_MAX_CT;
    602581                        a_ret = _ecn_fbs_add_data_ex(a_fbs, &a_count, sizeof(a_count));
    603                         if (a_ret != E_OK) /* データ追加失敗 */
     582                        if (a_ret != E_OK) /* データ追加失敗 */
    604583                                goto lb_except;
    605584                }
    606                 /* ECHONETオブジェクトID(3byte)を格納 */
     585                /* ECHONETオブジェクトID(3byte)を格納 */
    607586                a_ret = _ecn_fbs_add_data_ex(a_fbs, &eobj->eojx1, sizeof(T_ECN_EOJ));
    608                 if (a_ret != E_OK) /* データ追加失敗 */
     587                if (a_ret != E_OK) /* データ追加失敗 */
    609588                        goto lb_except;
    610589
    611                 /* 件数・edtサイズ加算 */
     590                /* 件数・edtサイズ加算 */
    612591                ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc += sizeof(T_ECN_EOJ);
    613592                if (++a_eoj_ct < ECN_IST_LST_EOJ_MAX_CT)
    614593                        continue;
    615594
    616                 /* 1アナウンスでの上限に達したら、一旦送信 */
     595                /* 1アナウンスでの上限に達したら、一旦送信 */
    617596                a_ret = _ecn_tsk_snd_dtq(a_fbs, false);
    618                 if (a_ret != E_OK) /* データ送信失敗 */
     597                if (a_ret != E_OK) /* データ送信失敗 */
    619598                        goto lb_except;
    620599                a_eoj_ct = 0;
     
    622601        }
    623602        if (a_eoj_ct) {
    624                 /* 未送信データがあったら、送信 */
     603                /* 未送信データがあったら、送信 */
    625604                a_ret = _ecn_tsk_snd_dtq(a_fbs, false);
    626                 if (a_ret != E_OK) /* データ送信失敗 */
     605                if (a_ret != E_OK) /* データ送信失敗 */
    627606                        goto lb_except;
    628607                a_fbs.ptr = 0;
     
    668647
    669648/*
    670  * 3byteのeobjidでé
    671 åˆ—中を検索する
     649 * 3byteのeobjidで配列中を検索する
    672650 */
    673651const EOBJINIB *_ecn_eoj_fnd(const EOBJCB *fp_nod, const T_ECN_EOJ *fp_eoj)
     
    702680
    703681/*
    704  * 電文の構成要素数とサイズのチェックを行う
     682 * 電文の構成要素数とサイズのチェックを行う
    705683 */
    706684static bool_t _ecn_tsk_check_format(T_EDATA *edata, int len)
     
    744722
    745723/*
    746  * ECHONET用メッセージ
     724 * ECHONET用メッセージ
    747725 */
    748726static void _ecn_tsk_ecn_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id)
     
    793771        }
    794772
    795         /* 電文の構成要素数とサイズのチェックを行う */
     773        /* 電文の構成要素数とサイズのチェックを行う */
    796774        if (!_ecn_tsk_check_format((T_EDATA *)fa_fbs_id.ptr, fa_fbs_id.ptr->hdr.length)) {
    797775                ECN_DBG_PUT("_ecn_tsk_ecn_msg() format fault");
     
    799777        }
    800778
    801         /* 送信宛からノードを検索 */
     779        /* 送信宛からノードを検索 */
    802780        p_nod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.target.id);
    803         /* 送信å
    804 ƒã‹ã‚‰ãƒŽãƒ¼ãƒ‰ã‚’検索 */
     781        /* 送信元からノードを検索 */
    805782        p_snod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.sender.id);
    806783        if (p_snod != NULL) {
    807784                sobjatr = p_snod->profile->eobjatr;
    808                 /* ノードプロファイルの場合 */
     785                /* ノードプロファイルの場合 */
    809786                if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE)
    810787                        && (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) {
    811788                        p_sobj = p_snod->profile;
    812789                }
    813                 /* 機器オブジェクトの場合 */
     790                /* 機器オブジェクトの場合 */
    814791                else {
    815792                        p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj);
     
    821798#endif
    822799
    823         /* ノードå†
    824 ã®æ©Ÿå™¨ã‚ªãƒ–ジェクトを検索 */
     800        /* ノード内の機器オブジェクトを検索 */
    825801        a_prc = false;
    826802        a_fwd = false;
     
    828804                eobjatr = p_nod->profile->eobjatr;
    829805                p_eoj = &p_esv->edata.deoj;
    830                 /* ノードプロファイルの場合 */
     806                /* ノードプロファイルの場合 */
    831807                if ((p_eoj->eojx1 == EOJ_X1_PROFILE)
    832808                        && (p_eoj->eojx2 == EOJ_X2_NODE_PROFILE)) {
    833809                        if ((p_eoj->eojx3 == p_nod->profile->eojx3)
    834810                                || (p_eoj->eojx3 == 0)) {
    835                                 /* 電文処理実行 */
     811                                /* 電文処理実行 */
    836812                                if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_nod->profile, eobjatr, p_sobj, sobjatr) == 1)
    837813                                        a_fwd = true;
    838814                                a_prc = true;
    839815                        }
    840                         /* 0x74 プロパティ値通知(応答要)の場合の場合は電文破棄 */
     816                        /* 0x74 プロパティ値通知(応答要)の場合の場合は電文破棄 */
    841817                        else if (p_esv->edata.esv == ESV_INFC) {
    842818                                a_prc = true;
    843819                        }
    844820                }
    845                 /* 機器オブジェクトの場合 */
     821                /* 機器オブジェクトの場合 */
    846822                else {
    847823                        count = p_nod->eobjcnt;
     
    862838                                if (p_obj->eojx2 != p_eoj->eojx2)
    863839                                        continue;
    864                                 /* インスタンスコードが0の場合、同じクラスのå
    865 ¨ã¦ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å®› */
     840                                /* インスタンスコードが0の場合、同じクラスの全てのインスタンス宛 */
    866841                                if ((p_obj->eojx3 != p_eoj->eojx3) && (p_eoj->eojx3 != 0))
    867842                                        continue;
    868843
    869                                 /* 電文処理実行 */
     844                                /* 電文処理実行 */
    870845                                if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_obj, eobjatr, p_sobj, sobjatr) == 1)
    871846                                        a_fwd = true;
     
    873848                        }
    874849
    875                         /* 機器オブジェクトが見つからず、0x74 プロパティ値通知(応答要)の場合は電文破棄 */
     850                        /* 機器オブジェクトが見つからず、0x74 プロパティ値通知(応答要)の場合は電文破棄 */
    876851                        if (!a_prc && (p_esv->edata.esv == ESV_INFC)) {
    877852                                a_prc = true;
     
    879854                }
    880855        }
    881         /* 機器オブジェクトが見つからない場合でも */
     856        /* 機器オブジェクトが見つからない場合でも */
    882857        if (!a_prc) {
    883                 /* 電文処理実行(応答受信用) */
     858                /* 電文処理実行(応答受信用) */
    884859                if (_ecn_tsk_ecn_msg_main(fa_fbs_id, NULL, EPC_NONE, p_sobj, sobjatr) == 1)
    885860                        a_fwd = true;
    886861        }
    887862
    888         /* 応答の場合アプリケーションに転送する */
     863        /* 応答の場合アプリケーションに転送する */
    889864        if (a_fwd && (p_esv->ecn_hdr.tid == g_api_tid)) {
    890865                g_release_esv = false;
    891866
    892                 ECN_CAP_PUT_1("redirect ecn_svc_dataqueueid → ecn_api_dataqueueid (esv:0x%02X)",
     867                ECN_CAP_PUT_1("redirect ecn_svc_dataqueueid ecn_api_dataqueueid (esv:0x%02X)",
    893868                        p_esv->edata.esv);
    894869                fa_fbs_id.ptr->hdr.target.id = ENOD_API_ID;
     
    915890
    916891        switch (p_esv->edata.esv) {
    917         /* 0x60 プロパティ値書き込み要求(応答不要) */
     892        /* 0x60 プロパティ値書き込み要求(応答不要) */
    918893        case ESV_SET_I:
    919894                if (!p_obj) {
     
    927902                break;
    928903
    929         /* 0x61 プロパティ値書き込み要求(応答要) */
     904        /* 0x61 プロパティ値書き込み要求(応答要) */
    930905        case ESV_SET_C:
    931906                if (!p_obj) {
     
    939914                break;
    940915
    941         /* 0x62 プロパティ値読み出し要求 */
     916        /* 0x62 プロパティ値読み出し要求 */
    942917        case ESV_GET:
    943918                if (!p_obj) {
     
    951926                break;
    952927
    953         /* 0x63 プロパティ値通知要求 */
     928        /* 0x63 プロパティ値通知要求 */
    954929        case ESV_INF_REQ:
    955930                if (!p_obj) {
     
    964939                break;
    965940
    966         /* 0x6E プロパティ値書き込み・読み出し要求 */
     941        /* 0x6E プロパティ値書き込み・読み出し要求 */
    967942        case ESV_SET_GET:
    968943                if (!p_obj) {
     
    976951                break;
    977952
    978         /* 0x74 プロパティ値通知(応答要) */
     953        /* 0x74 プロパティ値通知(応答要) */
    979954        case ESV_INFC:
    980955                if (!p_sobj)
    981                         /* 送信å
    982 ƒãŒæœªçŸ¥ã®ä»–ノードであった場合、応答を返す */
     956                        /* 送信元が未知の他ノードであった場合、応答を返す */
    983957                        _ecn_tsk_eoj_res(fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES); /* 0x7A; 0x7A */
    984958                else if (fromapp)
    985                         /* アプリケーションからの要求の場合、プロパティ値通知(応答要)を送信する */
     959                        /* アプリケーションからの要求の場合、プロパティ値通知(応答要)を送信する */
    986960                        _ecn_tsk_eoj_get(p_sobj, sobjatr, true, (EPC_RULE_GET|EPC_RULE_ANNO), fa_fbs_id, ESV_INFC, ESV_NOP); /* 0x74; 0 */
    987961                else
    988                         /* 送信å
    989 ƒãŒæ—¢çŸ¥ã®ä»–ノードであった場合、プロパティ値を更新し応答を返す */
     962                        /* 送信元が既知の他ノードであった場合、プロパティ値を更新し応答を返す */
    990963                        _ecn_tsk_eoj_set(p_sobj, sobjatr, fromapp, true, fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES, &a_fbs_anno); /* 0x7A; 0x7A */
    991964                result = 0;
    992965                break;
    993966
    994         /* 0x60 プロパティ値書き込み要求(応答不要) */
    995         case ESV_SET_I_SNA:             /* 0x50 プロパティ値書き込み要求不可応答 */
     967        /* 0x60 プロパティ値書き込み要求(応答不要) */
     968        case ESV_SET_I_SNA:             /* 0x50 プロパティ値書き込み要求不可応答 */
    996969                result = 1;
    997970                break;
    998971
    999         /* 0x61 プロパティ値書き込み要求(応答要) */
    1000         case ESV_SET_RES:               /* 0x71 プロパティ値書き込み応答 */
    1001         case ESV_SET_C_SNA:             /* 0x51 プロパティ値書き込み要求不可応答 */
     972        /* 0x61 プロパティ値書き込み要求(応答要) */
     973        case ESV_SET_RES:               /* 0x71 プロパティ値書き込み応答 */
     974        case ESV_SET_C_SNA:             /* 0x51 プロパティ値書き込み要求不可応答 */
    1002975                result = 1;
    1003976                break;
    1004977
    1005         /* 0x62 プロパティ値読み出し要求 */
    1006         case ESV_GET_RES:               /* 0x72 プロパティ値読み出し応答 */
    1007         case ESV_GET_SNA:               /* 0x52 プロパティ値読み出し不可応答 */
     978        /* 0x62 プロパティ値読み出し要求 */
     979        case ESV_GET_RES:               /* 0x72 プロパティ値読み出し応答 */
     980        case ESV_GET_SNA:               /* 0x52 プロパティ値読み出し不可応答 */
    1008981                if (!p_sobj) {
    1009982                        ECN_DBG_PUT_1("_ecn_tsk_ecn_msg_main() eoj %06X not found.",
     
    1016989                break;
    1017990
    1018         /* 0x63 プロパティ値通知要求 */
    1019         case ESV_INF:                   /* 0x73 プロパティ値通知 */
    1020         case ESV_INF_SNA:               /* 0x53 プロパティ値通知不可応答 */
     991        /* 0x63 プロパティ値通知要求 */
     992        case ESV_INF:                   /* 0x73 プロパティ値通知 */
     993        case ESV_INF_SNA:               /* 0x53 プロパティ値通知不可応答 */
    1021994                if (!p_sobj) {
    1022995                        ECN_DBG_PUT_1("_ecn_tsk_ecn_msg_main() eoj %06X not found.",
     
    10291002                break;
    10301003
    1031         /* 0x6E プロパティ値書き込み・読み出し要求 */
    1032         case ESV_SET_GET_RES:   /* 0x7E プロパティ値書き込み・読み出し応答 */
    1033         case ESV_SET_GET_SNA:   /* 0x5E プロパティ値書き込み・読み出し不可応答 */
     1004        /* 0x6E プロパティ値書き込み・読み出し要求 */
     1005        case ESV_SET_GET_RES:   /* 0x7E プロパティ値書き込み・読み出し応答 */
     1006        case ESV_SET_GET_SNA:   /* 0x5E プロパティ値書き込み・読み出し不可応答 */
    10341007                if (!p_sobj) {
    10351008                        ECN_DBG_PUT_1("_ecn_tsk_ecn_msg_main() eoj %06X not found.",
     
    10421015                break;
    10431016
    1044         /* 0x74 プロパティ値通知(応答要) */
    1045         case ESV_INFC_RES:              /* 0x7A プロパティ値通知応答 */
     1017        /* 0x74 プロパティ値通知(応答要) */
     1018        case ESV_INFC_RES:              /* 0x7A プロパティ値通知応答 */
    10461019                result = 1;
    10471020                break;
     
    10531026        }
    10541027
    1055         /* プロパティ通知要求を送信 */
     1028        /* プロパティ通知要求を送信 */
    10561029        if (a_fbs_anno.ptr != NULL) {
    10571030                ER a_ret = _ecn_tsk_snd_dtq(a_fbs_anno, true);
     
    11331106
    11341107/*
    1135  * ECN_FBS_IDからT_ECN_PRP1件とその付随データ(edt)を抽出し、edtのポインタを返す
    1136  * 引数
    1137  * ECN_FBS_ID fa_fbs_id                                 èª­ã¿å–ã‚‹FBS
    1138  * T_ECN_PRP *fp_prp                                    epc+pdcの格納å
    1139 ˆ
    1140  * T_ECN_SUB_BLK * const fp_prev_blk    前回使ったメモリのポインタ(無ければ0)
    1141  * 正常:ポインタ NG:0
    1142  * ポインタは_ecn_fbs_dtq_rel()で解放するå¿
    1143 è¦ãŒã‚ã‚‹
     1108 * ECN_FBS_IDからT_ECN_PRP1件とその付随データ(edt)を抽出し、edtのポインタを返す
     1109 * 引数
     1110 * ECN_FBS_ID fa_fbs_id                                 読み取るFBS
     1111 * T_ECN_PRP *fp_prp                                    epc+pdcの格納先
     1112 * T_ECN_SUB_BLK * const fp_prev_blk    前回使ったメモリのポインタ(無ければ0)
     1113 * 正常:ポインタ NG:0
     1114 * ポインタは_ecn_fbs_dtq_rel()で解放する必要がある
    11441115 */
    11451116static T_ECN_SUB_BLK *_ecn_tsk_get_prp_pce(ECN_FBS_ID fa_fbs_id, T_ECN_PRP *fp_prp,
     
    11501121        ER              a_ret;
    11511122
    1152         /* プロパティ用メモリの取得 */
     1123        /* プロパティ用メモリの取得 */
    11531124        if (fp_prev_blk) {
    1154                 p_blk = fp_prev_blk; /* 前回使ったメモリがあるなら、再利用する */
     1125                p_blk = fp_prev_blk; /* 前回使ったメモリがあるなら、再利用する */
    11551126        }
    11561127        else {
     
    11581129                if (!p_blk) {
    11591130                        ECN_DBG_PUT("_ecn_fbs_dtq_get() fault.");
    1160                         return 0;       /* メモリ不足 */
     1131                        return 0;       /* メモリ不足 */
    11611132                }
    11621133        }
    11631134        memset(p_blk, 0, sizeof(*p_blk));
    11641135
    1165         /* T_ECN_PRP部分(epc,pdc)を読み取る */
     1136        /* T_ECN_PRP部分(epc,pdc)を読み取る */
    11661137        a_size = 0;
    11671138        a_ret = _ecn_fbs_get_data(fa_fbs_id, fp_prp, sizeof(*fp_prp), &a_size);
     
    11721143
    11731144        if (0 < fp_prp->pdc) {
    1174                 /* 付随データ部分(edt)を読み取る */
     1145                /* 付随データ部分(edt)を読み取る */
    11751146                a_size = 0;
    11761147                a_ret = _ecn_fbs_get_data(fa_fbs_id, p_blk, fp_prp->pdc, &a_size);
     
    11841155
    11851156lb_except:
    1186         /* プロパティ用メモリ解放 */
     1157        /* プロパティ用メモリ解放 */
    11871158        if (p_blk && !fp_prev_blk)
    11881159                _ecn_fbs_dtq_rel(p_blk);
     
    11941165        ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count,
    11951166        int *p_sw_ok);
    1196 /* プロパティ値書き込み実行 */
     1167/* プロパティ値書き込み実行 */
    11971168static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update,
    11981169        ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count,
     
    12101181
    12111182        for (i = 0; i < a_count; i++) {
    1212                 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出し、そのポインタを返す */
     1183                /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出し、そのポインタを返す */
    12131184                p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt);
    12141185                if (!p_edt) {
     
    12171188                }
    12181189
    1219                 /* プロパティの設定 set_prp(obj, reqp, resp) */
     1190                /* プロパティの設定 set_prp(obj, reqp, resp) */
    12201191                a_size = a_prp.pdc;
    1221                 /* obj,epcに対応するset関数を呼ぶ */
     1192                /* obj,epcに対応するset関数を呼ぶ */
    12221193                a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc);
    12231194                if ((a_eprp != NULL)
     
    12411212                                fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3,
    12421213                                a_prp.epc, p_edt->payload[0], a_size);
    1243                         *p_sw_ok = 0;   /* プロパティ設定失敗 */
    1244                         /* 応答処理の場合EDTは設定しない */
     1214                        *p_sw_ok = 0;   /* プロパティ設定失敗 */
     1215                        /* 応答処理の場合EDTは設定しない */
    12451216                        if (fa_update)
    12461217                                a_prp.pdc = 0;
    12471218                }
    12481219
    1249                 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
     1220                /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
    12501221                a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp));
    12511222                if (a_ret) {
     
    12551226
    12561227                if (0 < a_prp.pdc) {
    1257                         /* 応答電文用メモリにデータ追加(edt n-byte) */
     1228                        /* 応答電文用メモリにデータ追加(edt n-byte) */
    12581229                        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_edt->payload, a_prp.pdc);
    12591230                        if (a_ret) {
     
    12641235                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc ++;
    12651236
    1266                 /* プロパティ通知ありの場合 */
     1237                /* プロパティ通知ありの場合 */
    12671238                if (a_anno && (a_ans == a_size)) {
    12681239                        if (fa_fbs_anno->ptr == NULL) {
     
    12821253
    12831254lb_finally:
    1284         /* プロパティ用メモリ解放 */
     1255        /* プロパティ用メモリ解放 */
    12851256        if (p_edt)
    12861257                _ecn_fbs_dtq_rel(p_edt);
     
    12911262static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access,
    12921263        ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok);
    1293 /* プロパティ値読み出し実行 */
     1264/* プロパティ値読み出し実行 */
    12941265static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access,
    12951266        ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok)
    12961267{
    12971268        T_ECN_SUB_BLK   *p_edt          =       0;
    1298         void                            *p_prp_buf      =       0;      /* 作業領域 */
     1269        void                            *p_prp_buf      =       0;      /* 作業領域 */
    12991270        const EPRPINIB          *a_eprp;
    13001271        ER                                      a_ret           =       E_SYS;
     
    13041275        ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0;
    13051276
    1306         /* 作業領域確保 */
     1277        /* 作業領域確保 */
    13071278        p_prp_buf = _ecn_fbs_dtq_get(ECHONET_MEMPOOL_BLOCK_SIZE);
    13081279        if (!p_prp_buf) {
    13091280                ECN_DBG_PUT_2("_ecn_fbs_dtq_get() result = %d:%s", a_ret, itron_strerror(a_ret));
    1310                 goto lb_except; /* メモリ不足 */
     1281                goto lb_except; /* メモリ不足 */
    13111282        }
    13121283
    13131284        for (i = 0; i < a_count; i++) {
    1314                 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */
     1285                /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */
    13151286                p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt);
    13161287                if (!p_edt) {
     
    13191290                }
    13201291
    1321                 /* プロパティの取得 get_eprp(obj, reqp, resp, size) */
     1292                /* プロパティの取得 get_eprp(obj, reqp, resp, size) */
    13221293                memset(p_prp_buf, 0, ECHONET_MEMPOOL_BLOCK_SIZE);
    1323                 /* obj,epcに対応するget関数を呼ぶ */
     1294                /* obj,epcに対応するget関数を呼ぶ */
    13241295                a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc);
    13251296                if ((a_eprp != NULL) && (((a_eprp->eprpatr & fa_access) != 0) && ((fa_eobjatr == EOBJ_LOCAL_NODE) || fa_forward))) {
     
    13321303                        a_prp.pdc = (uint8_t)a_ans;
    13331304                } else {
    1334                         *p_sw_ok = 0;   /* プロパティ取得失敗 */
     1305                        *p_sw_ok = 0;   /* プロパティ取得失敗 */
    13351306                        a_ans = 0;
    13361307                        a_prp.pdc = 0;
    13371308                }
    13381309
    1339                 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
     1310                /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
    13401311                a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp));
    13411312                if (a_ret) {
     
    13441315                }
    13451316                if (0 < a_ans) {
    1346                         /* 付随データ追加 */
     1317                        /* 付随データ追加 */
    13471318                        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_prp_buf, a_ans);
    13481319                        if (a_ret) {
     
    13601331
    13611332lb_finally:
    1362         /* 作業領域解放 */
     1333        /* 作業領域解放 */
    13631334        if (p_prp_buf)
    13641335                _ecn_fbs_dtq_rel(p_prp_buf);
    13651336
    1366         /* プロパティ用メモリ解放 */
     1337        /* プロパティ用メモリ解放 */
    13671338        if (p_edt)
    13681339                _ecn_fbs_dtq_rel(p_edt);
     
    13721343
    13731344static ER _ecn_tsk_eoj_res_main(ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok);
    1374 /* プロパティ値読み出し実行 */
     1345/* プロパティ値読み出し実行 */
    13751346static ER _ecn_tsk_eoj_res_main(ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok)
    13761347{
    13771348        T_ECN_SUB_BLK   *p_edt          =       0;
    1378         void                            *p_prp_buf      =       0;      /* 作業領域 */
     1349        void                            *p_prp_buf      =       0;      /* 作業領域 */
    13791350        ER                                      a_ret           =       E_SYS;
    13801351        T_ECN_PRP                       a_prp;                  /* epc+pdc */
     
    13831354        ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0;
    13841355
    1385         /* 作業領域確保 */
     1356        /* 作業領域確保 */
    13861357        p_prp_buf = _ecn_fbs_dtq_get(ECHONET_MEMPOOL_BLOCK_SIZE);
    13871358        if (!p_prp_buf) {
    13881359                ECN_DBG_PUT_2("_ecn_fbs_dtq_get() result = %d:%s", a_ret, itron_strerror(a_ret));
    1389                 goto lb_except; /* メモリ不足 */
     1360                goto lb_except; /* メモリ不足 */
    13901361        }
    13911362
    13921363        for (i = 0; i < a_count; i++) {
    1393                 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */
     1364                /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */
    13941365                p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt);
    13951366                if (!p_edt) {
     
    14001371                a_prp.pdc = 0;
    14011372
    1402                 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
     1373                /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
    14031374                a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp));
    14041375                if (a_ret) {
     
    14151386
    14161387lb_finally:
    1417         /* 作業領域解放 */
     1388        /* 作業領域解放 */
    14181389        if (p_prp_buf)
    14191390                _ecn_fbs_dtq_rel(p_prp_buf);
    14201391
    1421         /* プロパティ用メモリ解放 */
     1392        /* プロパティ用メモリ解放 */
    14221393        if (p_edt)
    14231394                _ecn_fbs_dtq_rel(p_edt);
     
    14261397}
    14271398
    1428 /* プロパティ値読み飛ばし実行 */
     1399/* プロパティ値読み飛ばし実行 */
    14291400static ER _ecn_tsk_eoj_skip_main(const EOBJINIB *fp_obj, ECN_FBS_ID fa_fbs_id,
    14301401        int a_count);
     
    14371408
    14381409        for (i = 0; i < a_count; i++) {
    1439                 /* T_ECN_PRP部分(epc,pdc)を読み取る */
     1410                /* T_ECN_PRP部分(epc,pdc)を読み取る */
    14401411                a_size = 0;
    14411412                a_ret = _ecn_fbs_get_data(fa_fbs_id, &a_prp, sizeof(a_prp), &a_size);
     
    14451416                }
    14461417
    1447                 /* pdc分読み飛ばし */
     1418                /* pdc分読み飛ばし */
    14481419                a_ret = _ecn_fbs_seek_rpos(fa_fbs_id, a_prp.pdc);
    14491420                if (a_ret) {
     
    14641435static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv,
    14651436        T_ECN_EDT_HDR const *fp_req_esv);
    1466 /* 応答電文設定 */
     1437/* 応答電文設定 */
    14671438static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv,
    14681439        T_ECN_EDT_HDR const *fp_req_esv)
     
    14891460}
    14901461
    1491 /* 応答電文用fbs設定 */
     1462/* 応答電文用fbs設定 */
    14921463static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr);
    1493 /* 応答電文用fbs設定(sender/targetの設定) */
     1464/* 応答電文用fbs設定(sender/targetの設定) */
    14941465static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr)
    14951466{
     
    15001471}
    15011472
    1502 /* プロパティ値書き込み要求 */
     1473/* プロパティ値書き込み要求 */
    15031474static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update,
    15041475        ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv,
     
    15151486        memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
    15161487
    1517         /* 応答最大サイズの取得 */
     1488        /* 応答最大サイズの取得 */
    15181489        a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
    15191490
    1520         /* 応答電文用メモリの取得 */
     1491        /* 応答電文用メモリの取得 */
    15211492        a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
    1522         if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */
     1493        if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */
    15231494                return;
    15241495
    1525         /* 応答電文設定 */
     1496        /* 応答電文設定 */
    15261497        if(p_req_esv->edata.deoj.eojx3 != 0)
    15271498                _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
     
    15291500                _ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv);
    15301501
    1531         /* 正常時の応答電文がプロパティ値通知応答の場合 */
     1502        /* 正常時の応答電文がプロパティ値通知応答の場合 */
    15321503        if (fa_res_esv == ESV_INFC_RES) {
    1533                 /* 送信å
    1534 ƒã¨å®›å
    1535 ˆã‚’å
    1536 ¥ã‚Œæ›¿ãˆ */
     1504                /* 送信元と宛先を入れ替え */
    15371505                eoj = a_ecn_hdp.edata.seoj;
    15381506                a_ecn_hdp.edata.seoj = a_ecn_hdp.edata.deoj;
     
    15401508        }
    15411509
    1542         f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
    1543 
    1544         /* 応答電文用メモリにデータ追加 */
     1510        f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
     1511
     1512        /* 応答電文用メモリにデータ追加 */
    15451513        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
    15461514                                sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
     
    15481516                goto lb_except;
    15491517
    1550         /* payloadå
    1551 ˆé ­ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
     1518        /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
    15521519        a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
    15531520        if (a_ret)
    15541521                goto lb_except;
    15551522
    1556         /* 応答電文用fbs設定 */
     1523        /* 応答電文用fbs設定 */
    15571524        _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
    15581525
    1559         /* プロパティ値書き込み実行 */
     1526        /* プロパティ値書き込み実行 */
    15601527        a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, fa_update, fa_fbs_id, a_fbs_res,
    15611528                fa_fbs_anno, p_req_esv->edata.opc, &a_sw_ok);
     
    15631530                goto lb_except;
    15641531
    1565         /* 応答要の場合 */
     1532        /* 応答要の場合 */
    15661533        if (a_sw_ok) {
    15671534                if (!fa_res_esv) {
    1568                         /* 応答不要の場合 */
     1535                        /* 応答不要の場合 */
    15691536                        _ecn_fbs_del(a_fbs_res);
    15701537                        goto lb_finally;
    15711538                }
    1572                 /* 設定処理成功 */
     1539                /* 設定処理成功 */
    15731540                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
    15741541        } else {
    15751542                if (!fa_sna_esv) {
    1576                         /* 応答不要の場合 */
     1543                        /* 応答不要の場合 */
    15771544                        _ecn_fbs_del(a_fbs_res);
    15781545                        goto lb_finally;
    15791546                }
    1580                 /* 設定処理失敗 */
     1547                /* 設定処理失敗 */
    15811548                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
    15821549        }
    1583         /* 応答送信 */
     1550        /* 応答送信 */
    15841551        a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false);
    15851552        if (a_ret == E_OK)
     
    15871554
    15881555lb_except:
    1589         /* データ送信失敗したら領域解放 */
     1556        /* データ送信失敗したら領域解放 */
    15901557        if (a_fbs_res.ptr)
    15911558                _ecn_fbs_del(a_fbs_res);
     
    15951562}
    15961563
    1597 /* プロパティ値読み出し要求 */
     1564/* プロパティ値読み出し要求 */
    15981565static void _ecn_tsk_eoj_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access,
    15991566        ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv)
     
    16081575        memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
    16091576
    1610         /* 初期取得サイズ */
     1577        /* 初期取得サイズ */
    16111578        a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
    16121579
    1613         /* 応答電文用メモリの取得 */
     1580        /* 応答電文用メモリの取得 */
    16141581        a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
    1615         if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */
     1582        if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */
    16161583                ECN_DBG_PUT_2("_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret));
    16171584                goto lb_finally;
    16181585        }
    16191586
    1620         /* 応答電文設定 */
     1587        /* 応答電文設定 */
    16211588        if(p_req_esv->edata.deoj.eojx3 != 0)
    16221589                _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
     
    16241591                _ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv);
    16251592
    1626         f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
    1627 
    1628         /* 応答電文用メモリにデータ追加 */
     1593        f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
     1594
     1595        /* 応答電文用メモリにデータ追加 */
    16291596        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
    16301597                        sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
     
    16341601        }
    16351602
    1636         /* payloadå
    1637 ˆé ­ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
     1603        /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
    16381604        a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
    16391605        if (a_ret) {
     
    16421608        }
    16431609
    1644         /* 応答電文用fbs設定 */
     1610        /* 応答電文用fbs設定 */
    16451611        _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
    16461612
    1647         /* プロパティ値読み込み実行 */
     1613        /* プロパティ値読み込み実行 */
    16481614        a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, fa_forward, fa_access, fa_fbs_id, a_fbs_res,
    16491615                ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok);
     
    16551621        if (a_sw_ok) {
    16561622                if (!fa_res_esv) {
    1657                         /* 応答不要の場合 */
     1623                        /* 応答不要の場合 */
    16581624                        _ecn_fbs_del(a_fbs_res);
    16591625                        goto lb_finally;
    16601626                }
    1661                 /* 設定処理成功 */
     1627                /* 設定処理成功 */
    16621628                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
    16631629        } else {
    16641630                if (!fa_sna_esv) {
    1665                         /* 応答不要の場合 */
     1631                        /* 応答不要の場合 */
    16661632                        _ecn_fbs_del(a_fbs_res);
    16671633                        goto lb_finally;
    16681634                }
    1669                 /* 設定処理失敗 */
     1635                /* 設定処理失敗 */
    16701636                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
    16711637
    1672                 /* 不可応答の場合は個別送信する */
     1638                /* 不可応答の場合は個別送信する */
    16731639                if (a_fbs_res.ptr->hdr.target.id == ENOD_MULTICAST_ID) {
    16741640                        a_fbs_res.ptr->hdr.target.id = fa_fbs_id.ptr->hdr.sender.id;
    16751641                }
    16761642        }
    1677         /* 応答送信 */
     1643        /* 応答送信 */
    16781644        a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false);
    16791645        if (a_ret != E_OK) {
     
    16841650
    16851651lb_except:
    1686         /* データ送信失敗したら領域解放 */
     1652        /* データ送信失敗したら領域解放 */
    16871653        if (a_fbs_res.ptr)
    16881654                _ecn_fbs_del(a_fbs_res);
     
    16921658}
    16931659
    1694 /* プロパティ値読み出し要求 */
     1660/* プロパティ値読み出し要求 */
    16951661static void _ecn_tsk_eoj_res(ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv,
    16961662        ECN_SRV_CODE fa_sna_esv)
     
    17051671        memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
    17061672
    1707         /* 初期取得サイズ */
     1673        /* 初期取得サイズ */
    17081674        a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
    17091675
    1710         /* 応答電文用メモリの取得 */
     1676        /* 応答電文用メモリの取得 */
    17111677        a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
    1712         if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */
     1678        if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */
    17131679                ECN_DBG_PUT_2("_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret));
    17141680                goto lb_finally;
    17151681        }
    17161682
    1717         /* 応答電文設定                                           */
     1683        /* 応答電文設定                                               */
    17181684        _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
    17191685
    1720         f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
    1721 
    1722         /* 応答電文用メモリにデータ追加 */
     1686        f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
     1687
     1688        /* 応答電文用メモリにデータ追加 */
    17231689        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
    17241690                        sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
     
    17281694        }
    17291695
    1730         /* payloadå
    1731 ˆé ­ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
     1696        /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
    17321697        a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
    17331698        if (a_ret) {
     
    17361701        }
    17371702
    1738         /* 応答電文用fbs設定 */
     1703        /* 応答電文用fbs設定 */
    17391704        _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
    17401705
    1741         /* プロパティ値読み込み実行 */
     1706        /* プロパティ値読み込み実行 */
    17421707        a_ret = _ecn_tsk_eoj_res_main(fa_fbs_id, a_fbs_res,
    17431708                ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok);
     
    17491714        if (a_sw_ok) {
    17501715                if (!fa_res_esv) {
    1751                         /* 応答不要の場合 */
     1716                        /* 応答不要の場合 */
    17521717                        _ecn_fbs_del(a_fbs_res);
    17531718                        goto lb_finally;
    17541719                }
    1755                 /* 設定処理成功 */
     1720                /* 設定処理成功 */
    17561721                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
    17571722        } else {
    17581723                if (!fa_sna_esv) {
    1759                         /* 応答不要の場合 */
     1724                        /* 応答不要の場合 */
    17601725                        _ecn_fbs_del(a_fbs_res);
    17611726                        goto lb_finally;
    17621727                }
    1763                 /* 設定処理失敗 */
     1728                /* 設定処理失敗 */
    17641729                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
    17651730        }
    1766         /* 応答送信 */
     1731        /* 応答送信 */
    17671732        a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false);
    17681733        if (a_ret != E_OK) {
     
    17731738
    17741739lb_except:
    1775         /* データ送信失敗したら領域解放 */
     1740        /* データ送信失敗したら領域解放 */
    17761741        if (a_fbs_res.ptr)
    17771742                _ecn_fbs_del(a_fbs_res);
     
    17881753        T_ECN_EDT_HDR   a_ecn_hdp;
    17891754        ECN_FBS_ID              a_fbs_res       = { 0 };
    1790         int                             a_rdprp_wrpos;  /*      プロパティ読み込み件数書き込み時のヘッド位置      */
     1755        int                             a_rdprp_wrpos;  /*      プロパティ読み込み件数書き込み時のヘッド位置  */
    17911756        ER              a_ret;
    17921757        int             i, a_size, a_rdlen;
    17931758        int             a_sw_ok = 1;
    1794         int             a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;    /* 処理プロパティ数 */
     1759        int             a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;    /* 処理プロパティ数 */
    17951760
    17961761        memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
     
    17991764                fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3);
    18001765
    1801         /* 初期取得サイズ */
     1766        /* 初期取得サイズ */
    18021767        a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
    18031768
    1804         /* 応答電文用メモリの取得 */
     1769        /* 応答電文用メモリの取得 */
    18051770        a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
    1806         if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */
     1771        if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */
    18071772                goto lb_finally;
    18081773
    1809         /* 応答電文設定 */
     1774        /* 応答電文設定 */
    18101775        if(p_req_esv->edata.deoj.eojx3 != 0)
    18111776                _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
     
    18141779        a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY);
    18151780
    1816         f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
    1817 
    1818         /* 応答電文用メモリにデータ追加 */
     1781        f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
     1782
     1783        /* 応答電文用メモリにデータ追加 */
    18191784        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
    18201785                                sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
     
    18221787                goto lb_except;
    18231788
    1824         /* payloadå
    1825 ˆé ­ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
     1789        /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
    18261790        a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
    18271791        if (a_ret)
    18281792                goto lb_except;
    18291793
    1830         /* 応答電文用fbs設定 */
     1794        /* 応答電文用fbs設定 */
    18311795        _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
    18321796
    1833         /* プロパティ値書き込み実行 */
     1797        /* プロパティ値書き込み実行 */
    18341798        a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, false, fa_fbs_id, a_fbs_res,
    18351799                fa_fbs_anno, a_count, &a_sw_ok);
     
    18441808                (a_sw_ok ? "true" : "false"));
    18451809
    1846         /* 次の件数を読み取る(1byte)                                           */
    1847         /* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet]       */
     1810        /* 次の件数を読み取る(1byte)                                             */
     1811        /* ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */
    18481812        a_rdlen = i = 0;
    18491813        a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen);
     
    18521816        a_count = *(uint8_t *)&i;
    18531817
    1854         /* プロパティ読み込み件数書き込み時のヘッドæƒ
    1855 å ±ã‚’記録 */
     1818        /* プロパティ読み込み件数書き込み時のヘッド情報を記録 */
    18561819        a_rdprp_wrpos = _ecn_fbs_get_datalen(a_fbs_res);
    18571820
    1858         /* 応答電文用メモリにデータ追加 (OPCGet 1byte) */
     1821        /* 応答電文用メモリにデータ追加 (OPCGet 1byte) */
    18591822        a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &i, 1);
    18601823        if (a_ret)
    18611824                goto lb_except;
    18621825
    1863         /* この時点での応答電文中プロパティ件数を記録 */
     1826        /* この時点での応答電文中プロパティ件数を記録 */
    18641827        i = ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc;
    18651828        ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0;
    18661829
    1867         /* プロパティ値読み込み実行 */
     1830        /* プロパティ値読み込み実行 */
    18681831        a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, false, EPC_RULE_GET, fa_fbs_id, a_fbs_res,
    18691832                a_count, &a_sw_ok);
     
    18791842                (a_sw_ok ? "true" : "false"));
    18801843
    1881         /* プロパティ読み込み件数書き込み時のヘッドæƒ
    1882 å ±ã§ã€èª­ã¿å‡ºã—件数を記録 */
     1844        /* プロパティ読み込み件数書き込み時のヘッド情報で、読み出し件数を記録 */
    18831845        _ecn_fbs_poke(a_fbs_res, a_rdprp_wrpos, ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc);
    18841846
    1885         /* 記録しておいたプロパティ件数(書き込み件数)を書き戻す */
     1847        /* 記録しておいたプロパティ件数(書き込み件数)を書き戻す */
    18861848        ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = (uint8_t)i;
    18871849
    1888         /* 応答要の場合 */
     1850        /* 応答要の場合 */
    18891851        if (a_sw_ok) {
    1890                 /* 設定処理成功 */
     1852                /* 設定処理成功 */
    18911853                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
    18921854        } else {
    1893                 /* 設定処理失敗 */
     1855                /* 設定処理失敗 */
    18941856                ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
    18951857        }
    1896         /* 応答送信 */
     1858        /* 応答送信 */
    18971859        a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false);
    18981860        if (a_ret == E_OK)
     
    19001862
    19011863lb_except:
    1902         /* データ送信失敗したら領域解放 */
     1864        /* データ送信失敗したら領域解放 */
    19031865        if (a_fbs_res.ptr)
    19041866                _ecn_fbs_del(a_fbs_res);
     
    19171879        int             i, a_size, a_rdlen;
    19181880        int             a_sw_ok = 1;
    1919         int             a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;    /* 処理プロパティ数 */
     1881        int             a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;    /* 処理プロパティ数 */
    19201882
    19211883        memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
     
    19241886                fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3);
    19251887
    1926         /* 初期取得サイズ */
     1888        /* 初期取得サイズ */
    19271889        a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
    19281890
    1929         /* 応答電文用メモリ(ダミー)の取得 */
     1891        /* 応答電文用メモリ(ダミー)の取得 */
    19301892        a_ret = _ecn_fbs_cre(a_size, &a_fbs_dmy);
    1931         if (a_ret != E_OK || !a_fbs_dmy.ptr) /* 確保失敗 */
     1893        if (a_ret != E_OK || !a_fbs_dmy.ptr) /* 確保失敗 */
    19321894                goto lb_finally;
    19331895
    1934         /* 応答電文設定                                           */
     1896        /* 応答電文設定                                               */
    19351897        _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
    19361898        a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY);
    19371899
    1938         /* payloadå
    1939 ˆé ­ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
     1900        /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
    19401901        a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
    19411902        if (a_ret)
    19421903                goto lb_except;
    19431904
    1944         /* プロパティ値書き込み応答読み飛ばし実行 */
     1905        /* プロパティ値書き込み応答読み飛ばし実行 */
    19451906        a_ret = _ecn_tsk_eoj_skip_main(fp_obj, fa_fbs_id, a_count);
    19461907        if (a_ret) {
     
    19541915                (a_sw_ok ? "true" : "false"));
    19551916
    1956         /* 次の件数を読み取る(1byte)                                           */
    1957         /* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet]       */
     1917        /* 次の件数を読み取る(1byte)                                             */
     1918        /* ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */
    19581919        a_rdlen = i = 0;
    19591920        a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen);
     
    19621923        a_count = *(uint8_t *)&i;
    19631924
    1964         /* プロパティ値読み出し応答の書き込み実行 */
     1925        /* プロパティ値読み出し応答の書き込み実行 */
    19651926        a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, true, fa_fbs_id, a_fbs_dmy,
    19661927                fa_fbs_anno, a_count, &a_sw_ok);
     
    19791940
    19801941lb_except:
    1981         /* データ送信失敗したら領域解放 */
     1942        /* データ送信失敗したら領域解放 */
    19821943        if (a_fbs_dmy.ptr)
    19831944                _ecn_fbs_del(a_fbs_dmy);
     
    19881949
    19891950/*
    1990  * 応答電文å¾
    1991 ã¡ã®å‰²ã‚Šè¾¼ã¿é›»æ–‡ä½œæˆ
     1951 * 応答電文待ちの割り込み電文作成
    19921952 */
    19931953ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size)
    19941954{
    19951955        ER                              a_ret;
    1996         ECN_FBS_ID              a_fbs_id = { 0 };       /* 要求電文用メモリ     */
     1956        ECN_FBS_ID              a_fbs_id = { 0 };       /* 要求電文用メモリ     */
    19971957
    19981958        if (!pk_fbs_id)
     
    20001960        *pk_fbs_id = a_fbs_id;
    20011961        if (sizeof(a_fbs_id.ptr->payload) <= fa_size)
    2002                 return E_PAR; /* 付随データが大きすぎる */
     1962                return E_PAR; /* 付随データが大きすぎる */
    20031963        if (!p_dat && 0 < fa_size)
    2004                 return E_PAR; /* 付随データサイズが1以上なのにデータポインタがNULL */
    2005 
    2006         /* 要求電文用メモリの取得 */
     1964                return E_PAR; /* 付随データサイズが1以上なのにデータポインタがNULL */
     1965
     1966        /* 要求電文用メモリの取得 */
    20071967        a_ret = _ecn_fbs_cre((0 < fa_size ? fa_size : 1), &a_fbs_id);
    2008         if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */
     1968        if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */
    20091969                syslog(LOG_WARNING, "_ecn_fbs_cre(%d) result = %d:%s", fa_size, a_ret, itron_strerror(a_ret));
    20101970                return a_ret;
    20111971        }
    20121972
    2013         /* 要求電文設定 */
     1973        /* 要求電文設定 */
    20141974        a_fbs_id.ptr->hdr.type = ECN_MSG_USER_BREAK;
    20151975        a_fbs_id.ptr->hdr.sender.id = ENOD_API_ID;
     
    20181978
    20191979        if (0 < fa_size && p_dat) {
    2020                 /* 付随データ追加 */
     1980                /* 付随データ追加 */
    20211981                a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_dat, fa_size);
    20221982                if (a_ret) {
     
    20301990        *pk_fbs_id = a_fbs_id;
    20311991
    2032         /* 正常終了 */
     1992        /* 正常終了 */
    20331993        return a_ret;
    20341994
    20351995lb_except:
    2036         /* データ作成失敗したら領域解放 */
     1996        /* データ作成失敗したら領域解放 */
    20371997        if (a_fbs_id.ptr)
    20381998                _ecn_fbs_del(a_fbs_id);
     
    20412001}
    20422002
    2043 /* 応答電文用fbs設定(sender/targetの設定) */
     2003/* 応答電文用fbs設定(sender/targetの設定) */
    20442004ER _ecn_tsk_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req)
    20452005{
     
    20702030}
    20712031
    2072 /* 応答電文用fbs設定(sender/targetの設定) */
     2032/* 応答電文用fbs設定(sender/targetの設定) */
    20732033ER _ecn_tsk_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res)
    20742034{
Note: See TracChangeset for help on using the changeset viewer.