Ignore:
Timestamp:
Jun 10, 2015, 8:40:31 PM (9 years ago)
Author:
coas-nagasima
Message:

SHIFT_JISのコードにcharsetプロパティを付けた

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/src/ukadecot/main.c

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r105 r107  
    44 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    55 *
    6  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    7  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    8  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    9  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    10  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    11  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    12  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    13  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    14 ƒƒ“ƒgi—˜—p
    15  *      ŽÒƒ}ƒjƒ
    16 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    17  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    18  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    19  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    20  *      ‚ƁD
    21  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    22 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    23 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    24  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    25  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    26  *        •ñ‚·‚邱‚ƁD
    27  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    28  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    29  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    30  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    31  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    3228 *
    33  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    34  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    35  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    36  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    37  *  ‚̐ӔC‚𕉂í‚È‚¢D
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     31 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     32 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     33 *  の責任を負わない.
    3834 *
    3935 *  @(#) $Id$
     
    4137
    4238/*
    43  *  ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€(1)‚Ì–{‘Ì
     39 *  サンプルプログラム(1)の本体
    4440 */
    4541
     
    6157#include "uip_adpt.h"
    6258#include "wamp.h"
    63 // TODO:ƒRƒ“ƒgƒ[ƒ‰Œü‚¯ƒwƒbƒ_[ƒtƒ@ƒCƒ‹‚ðì¬‚·‚é
     59// TODO:コントローラ向けヘッダーファイルを作成する
    6460#include "echonet_task.h"
    6561#include "echonet_agent.h"
     
    7066uint8_t mac_addr[6] = { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xB8 };
    7167
    72 #define MAKER_CODE      0x00, 0x00, 0xB3        /* TOPPERSƒvƒƒWƒFƒNƒg */
    73 
    74 /* ƒm[ƒhƒvƒƒtƒ@ƒCƒ‹ƒIƒuƒWƒFƒNƒg */
     68#define MAKER_CODE      0x00, 0x00, 0xB3        /* TOPPERSプロジェクト */
     69
     70/* ノードプロファイルオブジェクト */
    7571struct node_profile_object_t local_node_data = {
    76         0x30,   /* “®ìó‘Ô */
    77         { 0x01, 0x0A, 0x01, 0x00 },     /* ‚u‚
    78 ‚’‚“‚‰‚‚Žî•ñ */
     72        0x30,   /* 動作状態 */
     73        { 0x01, 0x0A, 0x01, 0x00 },     /* Version情報 */
    7974        {
    80                 0xFE,   /* ‰ºˆÊ’ʐM‘wIDƒtƒB[ƒ‹ƒh */
    81                 { MAKER_CODE }, /* ƒ[ƒJ[ƒR[ƒh */
    82                 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },      /* ƒ†ƒj[ƒNID•”(ƒ[ƒJ[“ÆŽ©) */
     75                0xFE,   /* 下位通信層IDフィールド */
     76                { MAKER_CODE }, /* メーカーコード */
     77                { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },      /* ユニークID部(メーカー独自) */
    8378        },
    84         0x0000, /* ˆÙí“à—e */
    85         { MAKER_CODE }, /* ƒ[ƒJ[ƒR[ƒh */
     79        0x0000, /* 異常内容 */
     80        { MAKER_CODE }, /* メーカーコード */
    8681};
    8782
    88 /* ƒRƒ“ƒgƒ[ƒ‰[ƒNƒ‰ƒX */
     83/* コントローラークラス */
    8984struct controller_t controller_class_data = {
    90         0x30,   /* “®ìó‘Ô */
    91         0x00,   /* Ý’uêŠ */
    92         { 0x00, 0x00, 'C', 0x00 },      /* ‹KŠi‚u‚
    93 ‚’‚“‚‰‚‚Žî•ñ */
    94         0x41,   /* ˆÙí”­¶ó‘Ô */
    95         { MAKER_CODE }, /* ƒ[ƒJ[ƒR[ƒh */
     85        0x30,   /* 動作状態 */
     86        0x00,   /* 設置場所 */
     87        { 0x00, 0x00, 'C', 0x00 },      /* 規格Version情報 */
     88        0x41,   /* 異常発生状態 */
     89        { MAKER_CODE }, /* メーカーコード */
    9690};
    9791
    9892/*
    99  * “®ìó‘ÔON/OFFÝ’èŠÖ”i0x30, 0x31‚̂ݎ󂯕t‚¯j
     93 * 動作状態ON/OFF設定関数(0x30, 0x31のみ受け付け)
    10094 */
    10195int onoff_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
    10296{
    103         /* ƒTƒCƒY‚ª‚PˆÈŠO‚͎󂯕t‚¯‚È‚¢ */
     97        /* サイズが1以外は受け付けない */
    10498        if(size != 1)
    10599                return 0;
     
    108102
    109103        switch(*(uint8_t *)src){
    110         /* ON‚̏ꍇ */
     104        /* ONの場合 */
    111105        case 0x30:
    112106                *((uint8_t *)item->exinf) = *((uint8_t *)src);
    113                 /* LED‚Ì"."‚ðON */
     107                /* LEDの"."をON */
    114108                sil_wrb_mem((uint8_t *)0x0008C02A, sil_reb_mem((uint8_t *)0x0008C02A) | 0x40);
    115109                break;
    116         /* OFF‚̏ꍇ */
     110        /* OFFの場合 */
    117111        case 0x31:
    118112                *((uint8_t *)item->exinf) = *((uint8_t *)src);
    119                 /* LED‚Ì"."‚ðOFF */
     113                /* LEDの"."をOFF */
    120114                sil_wrb_mem((uint8_t *)0x0008C02A, sil_reb_mem((uint8_t *)0x0008C02A) & ~0x40);
    121115                break;
    122         /* 0x30‚©0x31ˆÈŠO‚͎󂯕t‚¯‚È‚¢ */
     116        /* 0x30か0x31以外は受け付けない */
    123117        default:
    124118                return 0;
     
    129123
    130124/*
    131  * ˆÙí“à—eÝ’èŠÖ”
     125 * 異常内容設定関数
    132126 */
    133127int node_profile_object_fault_content_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
    134128{
    135         /* ƒTƒCƒY‚ª2ˆÈŠO‚͎󂯕t‚¯‚È‚¢ */
     129        /* サイズが2以外は受け付けない */
    136130        if(size != 2)
    137131                return 0;
     
    139133        if((*(uint16_t *)src >= 0x0) && (*(uint16_t *)src <= 0x3ec)){
    140134                *((uint16_t *)item->exinf) = *((uint16_t *)src);
    141                 /* TODO: ‚±‚̂̏ꍇ‚̏ˆ—*/
    142         }
    143         /* ã‹LˆÈŠO‚͎󂯕t‚¯‚È‚¢ */
     135                /* TODO: このの場合の処理*/
     136        }
     137        /* 上記以外は受け付けない */
    144138        else{
    145139                return 0;
     
    150144
    151145/*
    152  * ˆÙí”­¶ó‘ԐݒèŠÖ”i0x41, 0x42‚̂ݎ󂯕t‚¯j
     146 * 異常発生状態設定関数(0x41, 0x42のみ受け付け)
    153147 */
    154148int alarm_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
    155149{
    156         /* ƒTƒCƒY‚ª‚PˆÈŠO‚͎󂯕t‚¯‚È‚¢ */
     150        /* サイズが1以外は受け付けない */
    157151        if(size != 1)
    158152                return 0;
     
    161155
    162156        switch(*(uint8_t *)src){
    163         /* ˆÙí”­¶‚ ‚è‚̏ꍇ */
     157        /* 異常発生ありの場合 */
    164158        case 0x41:
    165         /* ˆÙí”­¶‚È‚µ‚̏ꍇ */
     159        /* 異常発生なしの場合 */
    166160        case 0x42:
    167161                *((uint8_t *)item->exinf) = *((uint8_t *)src);
    168162                break;
    169         /* 0x41‚©0x42ˆÈŠO‚͎󂯕t‚¯‚È‚¢ */
     163        /* 0x41か0x42以外は受け付けない */
    170164        default:
    171165                return 0;
     
    176170
    177171/*
    178  * Œ»ÝŽžÝ’èŠÖ”
     172 * 現在時刻設定関数
    179173 */
    180174int time_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
     
    185179                return 0;
    186180
    187         /* ŽžÝ’è */
     181        /* 時刻設定 */
    188182        p_src = (uint8_t *)src;
    189183        sil_wrb_mem((uint8_t *)RTC_RHRCNT_ADDR, *p_src++);
     
    195189
    196190/*
    197  * Œ»ÝŽžŽæ“¾ŠÖ”
     191 * 現在時刻取得関数
    198192 */
    199193int time_prop_get(const EPRPINIB *item, void *dst, int size)
     
    204198                return 0;
    205199
    206         /* ŽžÝ’è */
     200        /* 時刻設定 */
    207201        p_dst = (uint8_t *)dst;
    208202        *p_dst++ = sil_reb_mem((uint8_t *)RTC_RHRCNT_ADDR);
     
    213207
    214208/*
    215  * Œ»Ý”NŒŽ“úÝ’èŠÖ”
     209 * 現在年月日設定関数
    216210 */
    217211int date_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
     
    222216                return 0;
    223217
    224         /* ”NŒŽ“úÝ’è */
     218        /* 年月日設定 */
    225219        p_src = (uint8_t *)src;
    226220        p_src++;        /* 20XX */
     
    233227
    234228/*
    235  * Œ»Ý”NŒŽ“úŽæ“¾ŠÖ”
     229 * 現在年月日取得関数
    236230 */
    237231int date_prop_get(const EPRPINIB *item, void *dst, int size)
     
    252246
    253247/*
    254  *  uIP ƒ^ƒXƒN‰Šú‰»ˆ—
     248 *  uIP タスク初期化処理
    255249 */
    256250void uip_task_init(intptr_t exinf)
     
    284278
    285279/*
    286  *  ƒƒCƒ“ƒ^ƒXƒN
     280 *  メインタスク
    287281 */
    288282static
     
    298292        PT_BEGIN(&main_pt);
    299293
    300         /* ‰Šú‰» */
     294        /* 初期化 */
    301295        main_initialize();
    302296
     
    310304                prev = now;
    311305
    312                 /* ƒ^ƒCƒ}[Žæ“¾ */
     306                /* タイマー取得 */
    313307                timer = main_get_timer();
    314308                timer_set(&main_pt_timer, timer);
    315309
    316                 /* ‰ž“š“d•¶‘Ò‚¿ */
     310                /* 応答電文待ち */
    317311                PT_WAIT_UNTIL(&main_pt, (((ret = ecn_prcv_esv(&esv)) == E_OK) || (ret == E_BRK)
    318312                        || ((ret = timer_expired(&main_pt_timer) ? E_TMOUT : E_WBLK) == E_TMOUT)));
     
    328322                }
    329323
    330                 /* ŽžŠÔŒo‰ß */
     324                /* 時間経過 */
    331325                main_progress(now - prev);
    332326
    333                 /* Echonet“d•¶ŽóM‚̏ꍇ */
     327                /* Echonet電文受信の場合 */
    334328                if (ret == E_OK) {
    335                         /* Echonet“d•¶ŽóMˆ— */
     329                        /* Echonet電文受信処理 */
    336330                        main_recv_esv(esv);
    337331
    338                         /* —̈æ‰ð•ú */
     332                        /* 領域解放 */
    339333                        ret = ecn_rel_esv(esv);
    340334                        if (ret != E_OK){
     
    343337                        }
    344338                }
    345                 /* ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚݂̏ꍇ */
     339                /* 応答電文待ちの割り込みの場合 */
    346340                else if (ret == E_BRK) {
    347341                        ECN_FBS_ID msg = { (T_ECN_FST_BLK       *)esv };
     
    355349                                break;
    356350                        case 3/*ECN_MSG_USER_BREAK*/:
    357                                 /* ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚݃f[ƒ^Žæ“¾ */
     351                                /* 応答電文待ちの割り込みデータ取得 */
    358352                                ret = ecn_get_brk_dat(esv, brkdat, sizeof(brkdat), &len);
    359353                                if (ret != E_OK){
     
    362356                                }
    363357
    364                                 /* ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚ݏˆ— */
     358                                /* 応答電文待ちの割り込み処理 */
    365359                                main_break_wait(brkdat, len);
    366360                                break;
    367361                        }
    368362
    369                         /* —̈æ‰ð•ú */
     363                        /* 領域解放 */
    370364                        if (rel_msg) {
    371365                                ret = ecn_rel_esv(esv);
     
    377371                }
    378372
    379                 /* ƒ^ƒCƒ€ƒAƒEƒgˆ— */
     373                /* タイムアウト処理 */
    380374                main_timeout();
    381375
    382                 /* ƒLƒ
    383 [‚É—­‚Ü‚Á‚½ƒƒbƒZ[ƒW‚ðˆ— */
     376                /* キューに溜まったメッセージを処理 */
    384377                while(main_wbs_que_msg());
    385378        }
     
    436429
    437430/*
    438  * ‰Šú‰»
     431 * 初期化
    439432 */
    440433static void main_initialize()
     
    446439        ER ret;
    447440
    448         /* LED‚ð"000"‚Æ•\Ž¦ */
     441        /* LEDを"000"と表示 */
    449442        sil_wrb_mem((uint8_t *)0x0008C02A, 0x00);
    450443
     
    473466        syslog(LOG_INFO, "mac_addr %s %s", data, dflt_addr ? "default" : "flash-rom");
    474467
    475         /* uIP‚ðŠJŽn */
     468        /* uIPを開始 */
    476469        uip_start();
    477470
    478471        wamp_init(&wamp);
    479472
    480         /* 10msŒã‚Ƀ{ƒ^ƒ“ó‘Ô‚ðŠm”F */
     473        /* 10ms後にボタン状態を確認 */
    481474        main_state = main_state_start;
    482475        main_timer = TMO_FEVR;
    483476
    484         /* ArduinoŒÝŠ·‹@”\‰Šú‰» */
     477        /* Arduino互換機能初期化 */
    485478        arduino_init();
    486479
    487         /* ƒ{ƒ^ƒ“ó‘ԓǂݍž‚Ý */
     480        /* ボタン状態読み込み */
    488481        btn1 = sil_reb_mem((uint8_t *)0x0008C04A);
    489482        /*btn1 = sil_reb_mem((uint8_t *)0x0008C040);*/
     
    498491
    499492/*
    500  * ƒ^ƒCƒ}[Žæ“¾
     493 * タイマー取得
    501494 */
    502495static TMO main_get_timer()
     
    518511
    519512/*
    520  * ŽžŠÔŒo‰ß
     513 * 時間経過
    521514 */
    522515static void main_progress(TMO interval)
     
    547540
    548541/*
    549  * Echonet“d•¶ŽóMˆ—
     542 * Echonet電文受信処理
    550543 */
    551544static void main_recv_esv(T_EDATA *esv)
     
    610603
    611604/*
    612  * WebSocketƒƒbƒZ[ƒWŽóMˆ—
     605 * WebSocketメッセージ受信処理
    613606 */
    614607static bool_t main_wbs_msg(ECN_FBS_ID msg)
     
    646639
    647640/*
    648  * Š„‚荞‚݃ƒbƒZ[ƒWŽóMˆ—
     641 * 割り込みメッセージ受信処理
    649642 */
    650643static void main_int_msg(ECN_FBS_ID msg)
     
    673666
    674667/*
    675  * ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚ݏˆ—
     668 * 応答電文待ちの割り込み処理
    676669 */
    677670static void main_break_wait(uint8_t *brkdat, int32_t len)
     
    689682
    690683/*
    691  * ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚ݏˆ—
     684 * 応答電文待ちの割り込み処理
    692685 */
    693686void main_set_addr_callback()
     
    696689        uint8_t data[1];
    697690
    698         /* ƒƒCƒ“ƒ^ƒXƒN‚É’Ê’m */
     691        /* メインタスクに通知 */
    699692        data[0] = 0x01;
    700693        ret = ecn_brk_wai(data, sizeof(data));
     
    705698
    706699/*
    707  * ‰ž“š“d•¶‘Ò‚¿‚ÌŠ„‚荞‚ݏˆ—
     700 * 応答電文待ちの割り込み処理
    708701 */
    709702static void main_start_service()
     
    717710        syslog(LOG_INFO, "ip_addr %s, netmask %s, gateway %s", ip_addr, netmask, gateway);
    718711
    719         /* ECHONETƒ~ƒhƒ‹ƒEƒFƒA‚ð‹N“® */
     712        /* ECHONETミドルウェアを起動 */
    720713        ret = ecn_sta_svc();
    721714        if(ret != E_OK)
     
    727720
    728721/*
    729  * ƒ^ƒCƒ€ƒAƒEƒgˆ—
     722 * タイムアウト処理
    730723 */
    731724static void main_timeout()
     
    760753        switch(main_state){
    761754        case main_state_idle:
    762                 /* 10msŒã‚Ƀ{ƒ^ƒ“ó‘Ô‚ðŠm”F */
     755                /* 10ms後にボタン状態を確認 */
    763756                main_timer = 10;
    764757
    765758                arduino_tick();
    766759
    767                 /* ƒ{ƒ^ƒ“ó‘ԓǂݍž‚Ý */
     760                /* ボタン状態読み込み */
    768761                btn1 = sil_reb_mem((uint8_t *)0x0008C04A);
    769762                /*btn1 = sil_reb_mem((uint8_t *)0x0008C040);*/
    770763                btn2 = sil_reb_mem((uint8_t *) 0x0008C040);
    771764
    772                 /* ƒ{ƒ^ƒ“‚P‚̏ˆ— */
     765                /* ボタン1の処理 */
    773766                if(((btn1 & 0x80/*0x20*/) != 0) && !main_btn1_state){
    774767                        main_btn1_count++;
     
    793786                }
    794787
    795                 /* ƒ{ƒ^ƒ“‚Q‚̏ˆ— */
     788                /* ボタン2の処理 */
    796789                if(((btn2 & 0x80) != 0) && !main_btn2_state){
    797790                        main_btn2_count++;
     
    852845
    853846/*
    854  * ƒ{ƒ^ƒ“‚Pó‘ԕω»ˆ—
     847 * ボタン1状態変化処理
    855848 */
    856849static void main_btn1_change(bool_t push)
    857850{
    858         /* ‰Ÿ‚³‚ê‚Ä–ß‚Á‚½Žž‚ɏˆ—‚·‚é */
     851        /* 押されて戻った時に処理する */
    859852        if(push)
    860853                return;
    861854
    862         /* ‹@Ší‚ÌŒŸõ */
     855        /* 機器の検索 */
    863856        main_search_device();
    864857}
    865858
    866859/*
    867  * ƒ{ƒ^ƒ“‚Qó‘ԕω»ˆ—
     860 * ボタン2状態変化処理
    868861 */
    869862static void main_btn2_change(bool_t push)
     
    872865
    873866/*
    874  * ‹@Ší‚ÌŒŸõ
     867 * 機器の検索
    875868 */
    876869static ER main_search_device()
     
    879872        T_EDATA *esv;
    880873
    881         /* ‹@Ší‚ÌŒŸõ */
     874        /* 機器の検索 */
    882875        ret = ecn_esv_inf_req(&esv, EOBJ_NULL, 0xD6);
    883876        if(ret != E_OK){
     
    886879        }
    887880
    888         /* “d•¶‘—M */
     881        /* 電文送信 */
    889882        ret = ecn_snd_esv(esv);
    890883        if(ret != E_OK){
     
    925918                return E_QOVR;
    926919
    927         /* ‹@Ší‚ÌŒŸõ */
     920        /* 機器の検索 */
    928921        ret = main_search_device();
    929922        if(ret != E_OK){
     
    11201113                return E_QOVR;
    11211114
    1122         /* ƒvƒƒpƒeƒBŽæ“¾“d•¶ì¬ */
     1115        /* プロパティ取得電文作成 */
    11231116        ret = ecn_esv_get(&esv, eobjid, epc);
    11241117        if(ret != E_OK){
     
    11271120        }
    11281121
    1129         /* “d•¶‘—M */
     1122        /* 電文送信 */
    11301123        ret = ecn_snd_esv(esv);
    11311124        if(ret != E_OK){
     
    11951188                return E_QOVR;
    11961189
    1197         /* ƒvƒƒpƒeƒBŽæ“¾“d•¶ì¬ */
     1190        /* プロパティ取得電文作成 */
    11981191        ret = ecn_esv_setc(&esv, eobjid, epc, pdc, edt);
    11991192        if(ret != E_OK){
     
    12021195        }
    12031196
    1204         /* “d•¶‘—M */
     1197        /* 電文送信 */
    12051198        ret = ecn_snd_esv(esv);
    12061199        if(ret != E_OK){
     
    12701263                return E_QOVR;
    12711264
    1272         /* “d•¶‘—M */
     1265        /* 電文送信 */
    12731266        ret = ecn_snd_esv(esv);
    12741267        if(ret != E_OK){
     
    13061299                return E_QOVR;
    13071300
    1308         /* “d•¶‘—M */
     1301        /* 電文送信 */
    13091302        ret = ecn_snd_esv(esv);
    13101303        if(ret != E_OK){
     
    13421335                return E_QOVR;
    13431336
    1344         /* “d•¶‘—M */
     1337        /* 電文送信 */
    13451338        ret = ecn_snd_esv(esv);
    13461339        if(ret != E_OK){
Note: See TracChangeset for help on using the changeset viewer.