Changeset 167 for UsbWattMeter/trunk/src
- Timestamp:
- Mar 8, 2016, 8:37:45 PM (8 years ago)
- Location:
- UsbWattMeter/trunk/src/usb_watt_meter
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
UsbWattMeter/trunk/src/usb_watt_meter/client.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 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 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 133 129 gmtime_r(&t, &tm); 134 130 135 /* N*/131 /* 年 */ 136 132 tmp1 = 1900 + tm.tm_year; 137 133 tmp2 = tmp1 / 1000; … … 145 141 *pos++ = '0' + tmp2; 146 142 *pos++ = '0' + tmp1; 147 /* */143 /* 月 */ 148 144 tmp1 = tm.tm_mon + 1; 149 145 tmp2 = tmp1 / 10; … … 151 147 *pos++ = '0' + tmp2; 152 148 *pos++ = '0' + tmp1; 153 /* ú*/149 /* 日 */ 154 150 tmp1 = tm.tm_mday; 155 151 tmp2 = tmp1 / 10; … … 157 153 *pos++ = '0' + tmp2; 158 154 *pos++ = '0' + tmp1; 159 /* */155 /* 時 */ 160 156 tmp1 = tm.tm_hour; 161 157 tmp2 = tmp1 / 10; … … 163 159 *pos++ = '0' + tmp2; 164 160 *pos++ = '0' + tmp1; 165 /* ª*/161 /* 分 */ 166 162 tmp1 = tm.tm_min; 167 163 tmp2 = tmp1 / 10; … … 169 165 *pos++ = '0' + tmp2; 170 166 *pos++ = '0' + tmp1; 171 /* b*/167 /* 秒 */ 172 168 tmp1 = tm.tm_sec; 173 169 tmp2 = tmp1 / 10; -
Property svn:mime-type
changed from
-
UsbWattMeter/trunk/src/usb_watt_meter/client.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 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 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 46 42 #include "target_config.h" 47 43 48 #define CLIENT_PRIORITY 4 /* NCAg^XNÌDæx*/44 #define CLIENT_PRIORITY 4 /* クライアントタスクの優先度 */ 49 45 50 #define CLIENT_STACK_SIZE 6144 /* X^bNÌæÌTCY*/46 #define CLIENT_STACK_SIZE 6144 /* スタック領域のサイズ */ 51 47 52 48 extern void client_init(void); -
Property svn:mime-type
changed from
-
UsbWattMeter/trunk/src/usb_watt_meter/echonet_app_config.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 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 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 43 39 #define _ECHONET_APP_CONFIG_H_ 44 40 45 /* d¶pubNÌÍWolfSSLAlwIPÆà¤pÈÌÅâ·*/41 /* 電文用メモリブロックの数はWolfSSL、lwIPとも共用なので増やす */ 46 42 #define NUM_ECHONET_MEMPOOL_BLOCK (300) 47 43 48 #define ECHONET_TASK_STACK_SIZE 1024 /* ECNL UDP ^XNpX^bNÌæÌTCY*/44 #define ECHONET_TASK_STACK_SIZE 1024 /* ECNL UDPタスク用スタック領域のサイズ */ 49 45 50 46 /* 51 * T[rX^XNÉÇÁÌð}üµ½¢êÉè`·é47 * サービス処理タスクに追加の処理を挿入したい場合に定義する 52 48 * 53 * ^CAEglðÔ·49 * タイムアウト値を返す 54 50 * TMO echonet_task_get_timer(); 55 51 * #define ECHONET_TASK_GET_TIMER echonet_task_get_timer 56 52 * 57 * ^C}[ÌÔðißé53 * タイマーの時間を進める 58 54 * void echonet_task_progress(TMO interval); 59 55 * #define ECHONET_TASK_PROGRESS(interval) echonet_task_progress(interval) 60 56 * 61 * ^CAEgi̽ßÌÄÑoµj57 * タイムアウト処理(のための呼び出し) 62 58 * void echonet_task_timeout(); 63 59 * #define ECHONET_TASK_TIMEOUT echonet_task_timeout() … … 65 61 66 62 /* 67 * tcoÊM^XNÉÇÁÌð}üµ½¢êÉè`·é63 * UDP通信タスクに追加の処理を挿入したい場合に定義する 68 64 * 69 * ^CAEglðÔ·65 * タイムアウト値を返す 70 66 * TMO echonet_udp_task_get_timer(); 71 67 * #define ECHONET_UDP_TASK_GET_TIMER echonet_udp_task_get_timer 72 68 * 73 * ^C}[ÌÔðißé69 * タイマーの時間を進める 74 70 * void echonet_udp_task_progress(TMO interval); 75 71 * #define ECHONET_UDP_TASK_PROGRESS(interval) echonet_udp_task_progress(interval) 76 72 * 77 * ^CAEgi̽ßÌÄÑoµj73 * タイムアウト処理(のための呼び出し) 78 74 * void echonet_udp_task_timeout(); 79 75 * #define ECHONET_UDP_TASK_TIMEOUT echonet_udp_task_timeout() 80 76 */ 81 77 82 /* fobOoÍLø»Ýè·éÆ«Éè`*/78 /* デバッグ出力有効化設定するときに定義 */ 83 79 /* #define ECN_DBG_PUT_ENA */ 84 80 85 /* fobOoÍ(CARP)Lø»Ýè·éÆ«Éè`*/81 /* デバッグ出力(CARP)有効化設定するときに定義 */ 86 82 /* #define ECN_CAP_PUT_ENA */ 87 83 88 /* syslog ó«Ò¿Lø»Ýè·éÆ«Éè`*/84 /* syslog空き待ち有効化設定するときに定義 */ 89 85 /* #define ECN_DBG_WAI_ENA */ 90 86 91 /* WÌecn_data_prop_setðgíȢƫÉè`*/87 /* 標準のecn_data_prop_setを使わないときに定義 */ 92 88 /* #define ECN_USER_DATA_PROP_SET */ 93 89 94 /* WÌecn_data_prop_getðgíȢƫÉè`*/90 /* 標準のecn_data_prop_getを使わないときに定義 */ 95 91 /* #define ECN_USER_DATA_PROP_GET */ 96 92 -
Property svn:mime-type
changed from
-
UsbWattMeter/trunk/src/usb_watt_meter/main.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 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 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * TvvO(1)Ì{Ì39 * サンプルプログラム(1)の本体 44 40 */ 45 41 … … 68 64 #include "client.h" 69 65 70 /* TODO: MAC AhXðÝè*/66 /* TODO: MACアドレスを設定 */ 71 67 uint8_t mac_addr[6] = { 0x00, 0x12, 0x34, 0x56, 0x78, 0x9A }; 72 68 … … 77 73 } lwiptsk = {{0},SEM_IF_RX62N_RBUF_READY}; 78 74 79 /* TODO: [J[R[hðÝè*/80 #define MAKER_CODE 0x00, 0x00, 0xB3 /* TOPPERS vWFNg*/81 82 /* m[hvt@CIuWFNg*/75 /* TODO: メーカーコードを設定 */ 76 #define MAKER_CODE 0x00, 0x00, 0xB3 /* TOPPERSプロジェクト */ 77 78 /* ノードプロファイルオブジェクト */ 83 79 struct node_profile_object_t local_node_data = { 84 0x30, /* ®ìóÔ */ 85 { 0x01, 0x0A, 0x01, 0x00 }, /* u 86 îñ */ 80 0x30, /* 動作状態 */ 81 { 0x01, 0x0A, 0x01, 0x00 }, /* Version情報 */ 87 82 { 88 0xFE, /* ºÊÊMwIDtB[h*/89 { MAKER_CODE }, /* [J[R[h*/90 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, /* j[NID([J[Æ©) */83 0xFE, /* 下位通信層IDフィールド */ 84 { MAKER_CODE }, /* メーカーコード */ 85 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, /* ユニークID部(メーカー独自) */ 91 86 }, 92 87 0, 93 { MAKER_CODE }, /* [J[R[h*/88 { MAKER_CODE }, /* メーカーコード */ 94 89 }; 95 90 96 91 struct watt_hour_meter_t electric_energy_meter_data[6] = { 97 /* dÍÊ[^P*/92 /* 電力量メータ1 */ 98 93 { 99 0x30, /* ®ìóÔ */ 100 0x00, /* Ýuê */ 101 { 0x00, 0x00, 'C', 0x00 }, /* Kiu 102 îñ */ 103 0x41, /* Ùí¶óÔ */ 104 { MAKER_CODE }, /* [J[R[h */ 105 0x02, /* ÏZdÍÊPÊ */ 106 0x00000000, /* ÏZdÍÊvªl */ 107 { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* ÏZdÍÊvªlðP */ 94 0x30, /* 動作状態 */ 95 0x00, /* 設置場所 */ 96 { 0x00, 0x00, 'C', 0x00 }, /* 規格Version情報 */ 97 0x41, /* 異常発生状態 */ 98 { MAKER_CODE }, /* メーカーコード */ 99 0x02, /* 積算電力量単位 */ 100 0x00000000, /* 積算電力量計測値 */ 101 { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* 積算電力量計測値履歴1 */ 108 102 }, 109 /* dÍÊ[^Q*/103 /* 電力量メータ2 */ 110 104 { 111 0x30, /* ®ìóÔ */ 112 0x00, /* Ýuê */ 113 {0x00, 0x00, 'C', 0x00}, /* Kiu 114 îñ */ 115 0x41, /* Ùí¶óÔ */ 116 {MAKER_CODE}, /* [J[R[h */ 117 0x02, /* ÏZdÍÊPÊ */ 118 0x00000000, /* ÏZdÍÊvªl */ 119 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* ÏZdÍÊvªlðP */ 105 0x30, /* 動作状態 */ 106 0x00, /* 設置場所 */ 107 {0x00, 0x00, 'C', 0x00}, /* 規格Version情報 */ 108 0x41, /* 異常発生状態 */ 109 {MAKER_CODE}, /* メーカーコード */ 110 0x02, /* 積算電力量単位 */ 111 0x00000000, /* 積算電力量計測値 */ 112 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* 積算電力量計測値履歴1 */ 120 113 }, 121 /* dÍÊ[^R*/114 /* 電力量メータ3 */ 122 115 { 123 0x30, /* ®ìóÔ */ 124 0x00, /* Ýuê */ 125 {0x00, 0x00, 'C', 0x00}, /* Kiu 126 îñ */ 127 0x41, /* Ùí¶óÔ */ 128 {MAKER_CODE}, /* [J[R[h */ 129 0x02, /* ÏZdÍÊPÊ */ 130 0x00000000, /* ÏZdÍÊvªl */ 131 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* ÏZdÍÊvªlðP */ 116 0x30, /* 動作状態 */ 117 0x00, /* 設置場所 */ 118 {0x00, 0x00, 'C', 0x00}, /* 規格Version情報 */ 119 0x41, /* 異常発生状態 */ 120 {MAKER_CODE}, /* メーカーコード */ 121 0x02, /* 積算電力量単位 */ 122 0x00000000, /* 積算電力量計測値 */ 123 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* 積算電力量計測値履歴1 */ 132 124 }, 133 /* dÍÊ[^S*/125 /* 電力量メータ4 */ 134 126 { 135 0x30, /* ®ìóÔ */ 136 0x00, /* Ýuê */ 137 {0x00, 0x00, 'C', 0x00}, /* Kiu 138 îñ */ 139 0x41, /* Ùí¶óÔ */ 140 {MAKER_CODE}, /* [J[R[h */ 141 0x02, /* ÏZdÍÊPÊ */ 142 0x00000000, /* ÏZdÍÊvªl */ 143 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* ÏZdÍÊvªlðP */ 127 0x30, /* 動作状態 */ 128 0x00, /* 設置場所 */ 129 {0x00, 0x00, 'C', 0x00}, /* 規格Version情報 */ 130 0x41, /* 異常発生状態 */ 131 {MAKER_CODE}, /* メーカーコード */ 132 0x02, /* 積算電力量単位 */ 133 0x00000000, /* 積算電力量計測値 */ 134 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* 積算電力量計測値履歴1 */ 144 135 }, 145 /* dÍÊ[^T*/136 /* 電力量メータ5 */ 146 137 { 147 0x30, /* ®ìóÔ */ 148 0x00, /* Ýuê */ 149 {0x00, 0x00, 'C', 0x00}, /* Kiu 150 îñ */ 151 0x41, /* Ùí¶óÔ */ 152 {MAKER_CODE}, /* [J[R[h */ 153 0x02, /* ÏZdÍÊPÊ */ 154 0x00000000, /* ÏZdÍÊvªl */ 155 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* ÏZdÍÊvªlðP */ 138 0x30, /* 動作状態 */ 139 0x00, /* 設置場所 */ 140 {0x00, 0x00, 'C', 0x00}, /* 規格Version情報 */ 141 0x41, /* 異常発生状態 */ 142 {MAKER_CODE}, /* メーカーコード */ 143 0x02, /* 積算電力量単位 */ 144 0x00000000, /* 積算電力量計測値 */ 145 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* 積算電力量計測値履歴1 */ 156 146 }, 157 /* dÍÊ[^U*/147 /* 電力量メータ6 */ 158 148 { 159 0x30, /* ®ìóÔ */ 160 0x00, /* Ýuê */ 161 {0x00, 0x00, 'C', 0x00}, /* Kiu 162 îñ */ 163 0x41, /* Ùí¶óÔ */ 164 {MAKER_CODE}, /* [J[R[h */ 165 0x02, /* ÏZdÍÊPÊ */ 166 0x00000000, /* ÏZdÍÊvªl */ 167 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* ÏZdÍÊvªlðP */ 149 0x30, /* 動作状態 */ 150 0x00, /* 設置場所 */ 151 {0x00, 0x00, 'C', 0x00}, /* 規格Version情報 */ 152 0x41, /* 異常発生状態 */ 153 {MAKER_CODE}, /* メーカーコード */ 154 0x02, /* 積算電力量単位 */ 155 0x00000000, /* 積算電力量計測値 */ 156 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,}, /* 積算電力量計測値履歴1 */ 168 157 } 169 158 }; 170 159 171 160 /* 172 * ®ìóÔON/OFFÝèÖi0x30, 0x31ÌÝó¯t¯j161 * 動作状態ON/OFF設定関数(0x30, 0x31のみ受け付け) 173 162 */ 174 163 int onoff_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) 175 164 { 176 /* TCYªPÈOÍó¯t¯È¢*/165 /* サイズが1以外は受け付けない */ 177 166 if(size != 1) 178 167 return 0; … … 181 170 182 171 switch(*(uint8_t *)src){ 183 /* ON Ìê*/172 /* ONの場合 */ 184 173 case 0x30: 185 174 *((uint8_t *)item->exinf) = *((uint8_t *)src); 186 /* LED Ì"."ðON */175 /* LEDの"."をON */ 187 176 sil_wrb_mem((uint8_t *)PORTE_PODR_ADDR, sil_reb_mem((uint8_t *)PORTE_PODR_ADDR) | 0x01); 188 177 break; 189 /* OFF Ìê*/178 /* OFFの場合 */ 190 179 case 0x31: 191 180 *((uint8_t *)item->exinf) = *((uint8_t *)src); 192 /* LED Ì"."ðOFF */181 /* LEDの"."をOFF */ 193 182 sil_wrb_mem((uint8_t *)PORTE_PODR_ADDR, sil_reb_mem((uint8_t *)PORTE_PODR_ADDR) & ~0x01); 194 183 break; 195 /* 0x30 ©0x31ÈOÍó¯t¯È¢*/184 /* 0x30か0x31以外は受け付けない */ 196 185 default: 197 186 return 0; … … 202 191 203 192 /* 204 * Ùí¶óÔÝèÖi0x41, 0x42ÌÝó¯t¯j193 * 異常発生状態設定関数(0x41, 0x42のみ受け付け) 205 194 */ 206 195 int alarm_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) 207 196 { 208 /* TCYªPÈOÍó¯t¯È¢*/197 /* サイズが1以外は受け付けない */ 209 198 if(size != 1) 210 199 return 0; … … 213 202 214 203 switch(*(uint8_t *)src){ 215 /* Ùí¶ èÌê*/204 /* 異常発生ありの場合 */ 216 205 case 0x41: 217 /* Ùí¶ÈµÌê*/206 /* 異常発生なしの場合 */ 218 207 case 0x42: 219 208 *((uint8_t *)item->exinf) = *((uint8_t *)src); 220 209 break; 221 /* 0x41 ©0x42ÈOÍó¯t¯È¢*/210 /* 0x41か0x42以外は受け付けない */ 222 211 default: 223 212 return 0; … … 228 217 229 218 /* 230 * »ÝÝèÖ219 * 現在時刻設定関数 231 220 */ 232 221 int time_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) … … 237 226 return 0; 238 227 239 /* Ýè*/228 /* 時刻設定 */ 240 229 p_src = (uint8_t *)src; 241 230 sil_wrb_mem((uint8_t *)RTC_RHRCNT_ADDR, *p_src++); … … 247 236 248 237 /* 249 * »Ýæ¾Ö238 * 現在時刻取得関数 250 239 */ 251 240 int time_prop_get(const EPRPINIB *item, void *dst, int size) … … 256 245 return 0; 257 246 258 /* Ýè*/247 /* 時刻設定 */ 259 248 p_dst = (uint8_t *)dst; 260 249 *p_dst++ = sil_reb_mem((uint8_t *)RTC_RHRCNT_ADDR); … … 265 254 266 255 /* 267 * »ÝNúÝèÖ256 * 現在年月日設定関数 268 257 */ 269 258 int date_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) … … 274 263 return 0; 275 264 276 /* NúÝè*/265 /* 年月日設定 */ 277 266 p_src = (uint8_t *)src; 278 267 p_src++; /* 20XX */ … … 285 274 286 275 /* 287 * »ÝNúæ¾Ö276 * 現在年月日取得関数 288 277 */ 289 278 int date_prop_get(const EPRPINIB *item, void *dst, int size) … … 304 293 305 294 /* 306 * ÏZdÍÊvªlæ¾Ö295 * 積算電力量計測値取得関数 307 296 */ 308 297 int watt_hour_meter_integral_electric_energy_measurement_value_get(const EPRPINIB *item, void *dst, int size) … … 310 299 struct watt_hour_meter_t *meter = (struct watt_hour_meter_t *)(item->exinf - (intptr_t)&((struct watt_hour_meter_t *)0)->integral_electric_energy_measurement_value); 311 300 312 /* TCYª4ÈOÍó¯t¯È¢*/301 /* サイズが4以外は受け付けない */ 313 302 if(size != 4) 314 303 return 0; … … 324 313 int len; 325 314 326 /* TCYª192ÈOÍó¯t¯È¢*/315 /* サイズが192以外は受け付けない */ 327 316 if (size != 192) 328 317 return 0; … … 379 368 380 369 /* 381 * C^XN370 * メインタスク 382 371 */ 383 372 void main_task(intptr_t exinf) … … 390 379 int32_t len; 391 380 392 /* t@CVXeÌú»*/381 /* ファイルシステムの初期化 */ 393 382 fatfs_initialize(); 394 383 395 /* vgRX^bNÌú»*/384 /* プロトコルスタックの初期化 */ 396 385 netif_initialize(); 397 386 398 /* AvP[VÌú»*/387 /* アプリケーションの初期化 */ 399 388 main_initialize(); 400 389 … … 408 397 prev = now; 409 398 410 /* ^C}[æ¾*/399 /* タイマー取得 */ 411 400 timer = main_get_timer(); 412 401 413 /* d¶Ò¿*/402 /* 応答電文待ち */ 414 403 ret = ecn_trcv_esv(&esv, timer); 415 404 if ((ret != E_OK) && (ret != E_WBLK) && (ret != E_TMOUT)){ … … 424 413 } 425 414 426 /* Ôoß*/415 /* 時間経過 */ 427 416 main_progress(now - prev); 428 417 429 /* Echonet d¶óMÌê*/418 /* Echonet電文受信の場合 */ 430 419 if (ret == E_OK) { 431 /* Echonet d¶óM*/420 /* Echonet電文受信処理 */ 432 421 main_recv_esv(esv); 433 422 434 /* Ìæðú*/423 /* 領域解放 */ 435 424 ret = ecn_rel_esv(esv); 436 425 if (ret != E_OK){ … … 439 428 } 440 429 } 441 /* d¶Ò¿ÌèÝÌê*/430 /* 応答電文待ちの割り込みの場合 */ 442 431 else if (ret == E_WBLK) { 443 /* d¶Ò¿ÌèÝf[^æ¾*/432 /* 応答電文待ちの割り込みデータ取得 */ 444 433 ret = ecn_get_brk_dat(esv, brkdat, sizeof(brkdat), &len); 445 434 if (ret != E_OK){ … … 448 437 } 449 438 450 /* d¶Ò¿ÌèÝ*/439 /* 応答電文待ちの割り込み処理 */ 451 440 main_break_wait(brkdat, len); 452 441 453 /* Ìæðú*/442 /* 領域解放 */ 454 443 ret = ecn_rel_esv(esv); 455 444 if (ret != E_OK){ … … 459 448 } 460 449 461 /* ^CAEg*/450 /* タイムアウト処理 */ 462 451 main_timeout(); 463 452 } … … 532 521 syslog(LOG_NOTICE, "mac_addr %s %s", data, dhcp_enable ? "dhcp" : "static"); 533 522 534 /* libcurl ÆWolfSSLÆlwIPÌú»*/523 /* libcurlとWolfSSLとlwIPの初期化 */ 535 524 client_init(); 536 525 … … 573 562 started = true; 574 563 575 /* ECHONET ~hEFAðN®*/564 /* ECHONETミドルウェアを起動 */ 576 565 ret = ecn_sta_svc(); 577 566 if (ret != E_OK) 578 567 return; 579 568 580 /* SNTP ðJn*/569 /* SNTPを開始 */ 581 570 sntp_init(); 582 571 } 583 572 584 /* C^XNÉÊm*/573 /* メインタスクに通知 */ 585 574 uint8_t data[2]; 586 575 data[0] = 0x01; … … 609 598 610 599 /* 611 * ú»600 * 初期化 612 601 */ 613 602 static void main_initialize() … … 616 605 617 606 /* 618 * W 619 [Xgbv@\ÌÝè(S12AD) 607 * モジュールストップ機能の設定(S12AD) 620 608 */ 621 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* ÝÂ*/609 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 622 610 sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR, 623 611 sil_rew_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA17_BIT); 624 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/625 626 /* 7seg_1100 p|[goÍÝè*/612 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 613 614 /* 7seg_1100用ポート出力設定 */ 627 615 sil_wrb_mem((uint8_t *)PORT2_PDR_ADDR, sil_reb_mem((uint8_t *)PORT2_PDR_ADDR) | PORT_PDR_B4_BIT | PORT_PDR_B3_BIT); 628 /* 7seg_0010 p|[goÍÝè*/616 /* 7seg_0010用ポート出力設定 */ 629 617 sil_wrb_mem((uint8_t *)PORT5_PDR_ADDR, sil_reb_mem((uint8_t *)PORT5_PDR_ADDR) | PORT_PDR_B3_BIT); 630 /* 7seg_0001 p|[goÍÝè*/618 /* 7seg_0001用ポート出力設定 */ 631 619 sil_wrb_mem((uint8_t *)PORTC_PDR_ADDR, sil_reb_mem((uint8_t *)PORTC_PDR_ADDR) | PORT_PDR_B1_BIT); 632 /* 7seg_led p|[goÍÝè*/620 /* 7seg_led用ポート出力設定 */ 633 621 sil_wrb_mem((uint8_t *)PORTD_PDR_ADDR, 0xFF); 634 /* SWITCH p|[güÍALEDp|[goÍÝè*/622 /* SWITCH用ポート入力、LED用ポート出力設定 */ 635 623 sil_wrb_mem((uint8_t *)PORTE_PDR_ADDR, 0x0F); 636 624 637 /* LED ð"0000"Æ\¦*/625 /* LEDを"0000"と表示 */ 638 626 sil_wrb_mem((uint8_t *)PORTE_PDR_ADDR, 0x0F); 639 627 640 /* 3ms ãÉ7SEG\¦ðXV*/628 /* 3ms後に7SEG表示を更新 */ 641 629 main_led_timer = 3; 642 630 643 /* 10ms ãÉ{^óÔðmF*/631 /* 10ms後にボタン状態を確認 */ 644 632 main_timer = 10; 645 633 646 /* 12bitADC ú»*/647 sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000); /* ·xZToÍAàîd³ñIð*/648 sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x00FF); /* Ï·|[gAN000`AN007IðAAN008`AN015ñIð*/649 sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000); /* Ï·|[gAN016`AN020ñIð*/650 651 /* {^óÔÇÝÝ*/634 /* 12bitADC初期化 */ 635 sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000); /* 温度センサ出力、内部基準電圧非選択 */ 636 sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x00FF); /* 変換ポートAN000〜AN007選択、AN008〜AN015非選択 */ 637 sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000); /* 変換ポートAN016〜AN020非選択 */ 638 639 /* ボタン状態読み込み */ 652 640 btn = sil_reb_mem((uint8_t *)PORT0_PIDR_ADDR); 653 641 main_btn1_state = (btn & 0x20) != 0; 654 642 main_btn2_state = (btn & 0x80) != 0; 655 643 656 /* 1 bãÉ\¦ðXV*/644 /* 1秒後に表示を更新 */ 657 645 main_adv_timer = 1000; 658 646 } 659 647 660 648 /* 661 * ^C}[æ¾649 * タイマー取得 662 650 */ 663 651 static TMO main_get_timer() … … 679 667 680 668 /* 681 * Ôoß669 * 時間経過 682 670 */ 683 671 static void main_progress(TMO interval) … … 706 694 707 695 /* 708 * Echonet d¶óM696 * Echonet電文受信処理 709 697 */ 710 698 static void main_recv_esv(T_EDATA *esv) … … 741 729 742 730 /* 743 * d¶Ò¿ÌèÝ731 * 応答電文待ちの割り込み処理 744 732 */ 745 733 static void main_break_wait(uint8_t *brkdat, int32_t len) … … 761 749 762 750 syslog(LOG_NOTICE, "ip_addr %s, netmask %s, gateway %s", ip_addr, netmask, gateway); 763 tslp_tsk(100); /* OªoͳêéÜÅ¿åÁÆÒÂ*/751 tslp_tsk(100); /* ログが出力されるまでちょっと待つ */ 764 752 break; 765 753 case 2: … … 778 766 779 767 /* 780 * ^CAEg768 * タイムアウト処理 781 769 */ 782 770 static void main_timeout() … … 802 790 static void main_led_ontimer() 803 791 { 804 /* 7Seg \¦*/792 /* 7Seg表示 */ 805 793 sil_wrb_mem((uint8_t *)PORTD_PODR_ADDR, ~main_7seg[main_7seg_pos]); 806 794 … … 832 820 main_7seg_pos = (main_7seg_pos + 1) & 0x3; 833 821 834 /* 3ms ãÉ7SEG\¦ðXV*/822 /* 3ms後に7SEG表示を更新 */ 835 823 main_led_timer = 3; 836 824 } … … 859 847 860 848 /* 861 * ^CAEg849 * タイムアウト処理 862 850 */ 863 851 static void main_ontimer() … … 868 856 switch(main_state){ 869 857 case main_state_idle: 870 /* 10ms ãÉ{^óÔðmF*/858 /* 10ms後にボタン状態を確認 */ 871 859 main_timer = 10; 872 860 873 /* ADC ÌÏ·Êæ¾*/861 /* ADCの変換結果取得 */ 874 862 if((sil_reb_mem((uint8_t *)S12AD_ADCSR_ADDR) & S12AD_ADCSR_ADST_BIT) == 0){ 875 863 for (int i = 0; i < main_ad_count; i++) { 876 864 main_ad_avelage[i] -= main_ad_table[i][main_ad_pos]; 877 ad_value = sil_reh_mem(main_ad_addr[i]); // 12bit læ¾878 main_ad_integral[i] += 5/*[V]*/ * ad_value/*[A]*/; // 12bit ÏZl879 ad_value = (ad_value << 4) | (ad_value >> 12); // 16bit g£865 ad_value = sil_reh_mem(main_ad_addr[i]); // 12bit値取得 866 main_ad_integral[i] += 5/*[V]*/ * ad_value/*[A]*/; // 12bit積算値 867 ad_value = (ad_value << 4) | (ad_value >> 12); // 16bit拡張 880 868 main_ad_table[i][main_ad_pos] = ad_value; 881 869 main_ad_avelage[i] += ad_value; … … 887 875 } 888 876 889 /* Ï·JniVOXL[hj*/877 /* 変換開始(シングルスキャンモード) */ 890 878 sil_wrb_mem((uint8_t *)S12AD_ADCSR_ADDR, S12AD_ADCSR_ADST_BIT); 891 879 } 892 880 893 881 main_whm_counter += 10; 894 if (main_whm_counter >= 1250/* 180000=30 ª*/) {882 if (main_whm_counter >= 1250/* 180000=30分 */) { 895 883 main_whm_counter = 0; 896 884 … … 908 896 } 909 897 910 /* {^óÔÇÝÝ*/898 /* ボタン状態読み込み */ 911 899 btn = sil_reb_mem((uint8_t *)PORT0_PIDR_ADDR); 912 900 913 /* {^PÌ*/901 /* ボタン1の処理 */ 914 902 if(((btn & 0x20) != 0) && !main_btn1_state){ 915 903 main_btn1_count++; … … 931 919 } 932 920 933 /* {^QÌ*/921 /* ボタン2の処理 */ 934 922 if(((btn & 0x80) != 0) && !main_btn2_state){ 935 923 main_btn2_count++; … … 960 948 961 949 /* 962 * {^PóÔÏ»950 * ボタン1状態変化処理 963 951 */ 964 952 static void main_btn1_change(bool_t push) 965 953 { 966 /* ³êÄßÁ½É·é*/954 /* 押されて戻った時に処理する */ 967 955 if(push) 968 956 return; 969 957 970 /* \¦|[gÔ*/958 /* 表示ポート番号 */ 971 959 if(!main_rev){ 972 960 main_port_no--; … … 988 976 989 977 /* 990 * {^QóÔÏ»978 * ボタン2状態変化処理 991 979 */ 992 980 static void main_btn2_change(bool_t push) 993 981 { 994 /* ³êÄßÁ½É·é*/982 /* 押されて戻った時に処理する */ 995 983 if(push) 996 984 return; … … 1001 989 } 1002 990 1003 /* \¦|[gÔ*/991 /* 表示ポート番号 */ 1004 992 if(!main_rev){ 1005 993 main_port_no++; -
Property svn:mime-type
changed from
-
UsbWattMeter/trunk/src/usb_watt_meter/main.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 32 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 37 * ÌÓCðíÈ¢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 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * TvvO(1)ÌVXeRtBM 44 [Vt@C 39 * サンプルプログラム(1)のシステムコンフィギュレーションファイル 45 40 */ 46 41 #include "main.h" … … 71 66 72 67 /* 73 * m[hvt@CIuWFNg68 * ノードプロファイルオブジェクト 74 69 */ 75 70 ECN_CRE_EOBJ (LOCAL_NODE_EOBJ, { EOBJ_LOCAL_NODE, EOBJ_NULL, 0, EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, EOJ_X3_LOCAL_NODE }); 76 71 77 /* ®ìóÔ*/72 /* 動作状態 */ 78 73 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET, 1, (intptr_t)&local_node_data.operation_status, (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 79 74 80 /* u 81 îñ */ 75 /* Version情報 */ 82 76 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&local_node_data.version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 83 77 84 /* ¯ÊÔ*/78 /* 識別番号 */ 85 79 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x83, EPC_RULE_GET, 17, (intptr_t)&local_node_data.identification_number, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 86 80 87 /* [J[R[h*/81 /* メーカーコード */ 88 82 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&local_node_data.manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 89 83 90 84 /* 91 * dÍÊ[^P85 * 電力量メータ1 92 86 */ 93 87 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_1_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_1 }); 94 88 95 /* ®ìóÔ*/89 /* 動作状態 */ 96 90 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[0], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 97 91 98 /* Ýuê*/92 /* 設置場所 */ 99 93 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[0].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 100 94 101 /* Kiu 102 îñ */ 95 /* 規格Version情報 */ 103 96 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[0].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 104 97 105 /* Ùí¶óÔ*/98 /* 異常発生状態 */ 106 99 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[0].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 107 100 108 /* [J[R[h*/101 /* メーカーコード */ 109 102 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[0].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 110 103 111 /* »ÝÝè*/104 /* 現在時刻設定 */ 112 105 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 113 106 114 /* »ÝNúÝè*/107 /* 現在年月日設定 */ 115 108 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); 116 109 117 /* ÏZdÍÊPÊ*/110 /* 積算電力量単位 */ 118 111 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[0].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 119 112 120 /* ÏZdÍÊvªl*/113 /* 積算電力量計測値 */ 121 114 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[0].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get }); 122 115 123 /* ÏZdÍÊvªlðP*/116 /* 積算電力量計測値履歴1 */ 124 117 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[0].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get }); 125 118 126 119 /* 127 * dÍÊ[^Q120 * 電力量メータ2 128 121 */ 129 122 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_2_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_2 }); 130 123 131 /* ®ìóÔ*/124 /* 動作状態 */ 132 125 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[1], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 133 126 134 /* Ýuê*/127 /* 設置場所 */ 135 128 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[1].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 136 129 137 /* Kiu 138 îñ */ 130 /* 規格Version情報 */ 139 131 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[1].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 140 132 141 /* Ùí¶óÔ*/133 /* 異常発生状態 */ 142 134 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[1].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 143 135 144 /* [J[R[h*/136 /* メーカーコード */ 145 137 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[1].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 146 138 147 /* »ÝÝè*/139 /* 現在時刻設定 */ 148 140 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 149 141 150 /* »ÝNúÝè*/142 /* 現在年月日設定 */ 151 143 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); 152 144 153 /* ÏZdÍÊPÊ*/145 /* 積算電力量単位 */ 154 146 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[1].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 155 147 156 /* ÏZdÍÊvªl*/148 /* 積算電力量計測値 */ 157 149 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[1].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get }); 158 150 159 /* ÏZdÍÊvªlðP*/151 /* 積算電力量計測値履歴1 */ 160 152 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[1].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get }); 161 153 162 154 /* 163 * dÍÊ[^R155 * 電力量メータ3 164 156 */ 165 157 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_3_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_3 }); 166 158 167 /* ®ìóÔ*/159 /* 動作状態 */ 168 160 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[2], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 169 161 170 /* Ýuê*/162 /* 設置場所 */ 171 163 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[2].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 172 164 173 /* Kiu 174 îñ */ 165 /* 規格Version情報 */ 175 166 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[2].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 176 167 177 /* Ùí¶óÔ*/168 /* 異常発生状態 */ 178 169 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[2].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 179 170 180 /* [J[R[h*/171 /* メーカーコード */ 181 172 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[2].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 182 173 183 /* »ÝÝè*/174 /* 現在時刻設定 */ 184 175 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 185 176 186 /* »ÝNúÝè*/177 /* 現在年月日設定 */ 187 178 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); 188 179 189 /* ÏZdÍÊPÊ*/180 /* 積算電力量単位 */ 190 181 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[2].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 191 182 192 /* ÏZdÍÊvªl*/183 /* 積算電力量計測値 */ 193 184 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[2].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get }); 194 185 195 /* ÏZdÍÊvªlðP*/186 /* 積算電力量計測値履歴1 */ 196 187 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[2].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get }); 197 188 198 189 /* 199 * dÍÊ[^S190 * 電力量メータ4 200 191 */ 201 192 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_4_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_4 }); 202 193 203 /* ®ìóÔ*/194 /* 動作状態 */ 204 195 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[3], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 205 196 206 /* Ýuê*/197 /* 設置場所 */ 207 198 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[3].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 208 199 209 /* Kiu 210 îñ */ 200 /* 規格Version情報 */ 211 201 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[3].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 212 202 213 /* Ùí¶óÔ*/203 /* 異常発生状態 */ 214 204 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[3].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 215 205 216 /* [J[R[h*/206 /* メーカーコード */ 217 207 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[3].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 218 208 219 /* »ÝÝè*/209 /* 現在時刻設定 */ 220 210 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 221 211 222 /* »ÝNúÝè*/212 /* 現在年月日設定 */ 223 213 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); 224 214 225 /* ÏZdÍÊPÊ*/215 /* 積算電力量単位 */ 226 216 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[3].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 227 217 228 /* ÏZdÍÊvªl*/218 /* 積算電力量計測値 */ 229 219 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[3].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get }); 230 220 231 /* ÏZdÍÊvªlðP*/221 /* 積算電力量計測値履歴1 */ 232 222 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[3].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get }); 233 223 234 224 /* 235 * dÍÊ[^T225 * 電力量メータ5 236 226 */ 237 227 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_5_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_5 }); 238 228 239 /* ®ìóÔ*/229 /* 動作状態 */ 240 230 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[4], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 241 231 242 /* Ýuê*/232 /* 設置場所 */ 243 233 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[4].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 244 234 245 /* Kiu 246 îñ */ 235 /* 規格Version情報 */ 247 236 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[4].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 248 237 249 /* Ùí¶óÔ*/238 /* 異常発生状態 */ 250 239 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[4].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 251 240 252 /* [J[R[h*/241 /* メーカーコード */ 253 242 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[4].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 254 243 255 /* »ÝÝè*/244 /* 現在時刻設定 */ 256 245 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 257 246 258 /* »ÝNúÝè*/247 /* 現在年月日設定 */ 259 248 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); 260 249 261 /* ÏZdÍÊPÊ*/250 /* 積算電力量単位 */ 262 251 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[4].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 263 252 264 /* ÏZdÍÊvªl*/253 /* 積算電力量計測値 */ 265 254 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[4].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get }); 266 255 267 /* ÏZdÍÊvªlðP*/256 /* 積算電力量計測値履歴1 */ 268 257 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[4].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get }); 269 258 270 259 /* 271 * dÍÊ[^U260 * 電力量メータ6 272 261 */ 273 262 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_6_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_6 }); 274 263 275 /* ®ìóÔ*/264 /* 動作状態 */ 276 265 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[5], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 277 266 278 /* Ýuê*/267 /* 設置場所 */ 279 268 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[5].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 280 269 281 /* Kiu 282 îñ */ 270 /* 規格Version情報 */ 283 271 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[5].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 284 272 285 /* Ùí¶óÔ*/273 /* 異常発生状態 */ 286 274 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[5].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 287 275 288 /* [J[R[h*/276 /* メーカーコード */ 289 277 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[5].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 290 278 291 /* »ÝÝè*/279 /* 現在時刻設定 */ 292 280 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 293 281 294 /* »ÝNúÝè*/282 /* 現在年月日設定 */ 295 283 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); 296 284 297 /* ÏZdÍÊPÊ*/285 /* 積算電力量単位 */ 298 286 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[5].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 299 287 300 /* ÏZdÍÊvªl*/288 /* 積算電力量計測値 */ 301 289 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[5].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get }); 302 290 303 /* ÏZdÍÊvªlðP*/291 /* 積算電力量計測値履歴1 */ 304 292 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[5].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get }); -
Property svn:mime-type
changed from
-
UsbWattMeter/trunk/src/usb_watt_meter/main.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=SHIFT_JIS
r164 r167 4 4 * Copyright (C) 2016 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 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 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 44 40 45 41 /* 46 * TvvO(1)Ìwb_t@C42 * サンプルプログラム(1)のヘッダファイル 47 43 */ 48 44 49 45 /* 50 * ^[Qbg˶Ìè`46 * ターゲット依存の定義 51 47 */ 52 48 #include <kernel.h> … … 55 51 56 52 /* 57 * e^XNÌDæxÌè`53 * 各タスクの優先度の定義 58 54 */ 59 55 60 #define MAIN_PRIORITY 5 /* C^XNÌDæx*/56 #define MAIN_PRIORITY 5 /* メインタスクの優先度 */ 61 57 62 #define MAIN_STACK_SIZE 1024 /* X^bNÌæÌTCY*/58 #define MAIN_STACK_SIZE 1024 /* スタック領域のサイズ */ 63 59 64 #define EOJ_X3_LOCAL_NODE 1 /* m[hvt@CIuWFNgÌCX^XR[h*/60 #define EOJ_X3_LOCAL_NODE 1 /* ノードプロファイルオブジェクトのインスタンスコード */ 65 61 66 #define EOJ_X3_ELECTRIC_ENERGY_METER_1 1 /* dÍÊ[^PÌCX^XR[h*/67 #define EOJ_X3_ELECTRIC_ENERGY_METER_2 2 /* dÍÊ[^QÌCX^XR[h*/68 #define EOJ_X3_ELECTRIC_ENERGY_METER_3 3 /* dÍÊ[^RÌCX^XR[h*/69 #define EOJ_X3_ELECTRIC_ENERGY_METER_4 4 /* dÍÊ[^SÌCX^XR[h*/70 #define EOJ_X3_ELECTRIC_ENERGY_METER_5 5 /* dÍÊ[^TÌCX^XR[h*/71 #define EOJ_X3_ELECTRIC_ENERGY_METER_6 6 /* dÍÊ[^UÌCX^XR[h*/62 #define EOJ_X3_ELECTRIC_ENERGY_METER_1 1 /* 電力量メータ1のインスタンスコード */ 63 #define EOJ_X3_ELECTRIC_ENERGY_METER_2 2 /* 電力量メータ2のインスタンスコード */ 64 #define EOJ_X3_ELECTRIC_ENERGY_METER_3 3 /* 電力量メータ3のインスタンスコード */ 65 #define EOJ_X3_ELECTRIC_ENERGY_METER_4 4 /* 電力量メータ4のインスタンスコード */ 66 #define EOJ_X3_ELECTRIC_ENERGY_METER_5 5 /* 電力量メータ5のインスタンスコード */ 67 #define EOJ_X3_ELECTRIC_ENERGY_METER_6 6 /* 電力量メータ6のインスタンスコード */ 72 68 73 #define KMM_SIZE 8192 /* J[lªèt¯éÌæÌTCY*/69 #define KMM_SIZE 8192 /* カーネルが割り付けるメモリ領域のサイズ */ 74 70 75 71 /* 76 * ÖÌvg^Cvé¾72 * 関数のプロトタイプ宣言 77 73 */ 78 74 #ifndef TOPPERS_MACRO_ONLY … … 89 85 90 86 /* 91 * u 92 îñÌ^ 87 * Version情報の型 93 88 */ 94 89 struct version_information_t { 95 /* W[o[W(¬_Èã) */90 /* メジャーバージョン(小数点以上) */ 96 91 uint8_t major_version_number; 97 /* }Ci[o[W(¬_Ⱥ) */92 /* マイナーバージョン(小数点以下) */ 98 93 uint8_t minor_version_number; 99 /* d¶^Cv*/94 /* 電文タイプ */ 100 95 uint8_t message_type[2]; 101 96 }; 102 97 103 98 /* 104 * [J[R[hÌ^99 * メーカーコードの型 105 100 */ 106 101 struct manufacturer_code_t { 107 /* [J[R[h*/102 /* メーカーコード */ 108 103 uint8_t manufacturer_code[3]; 109 104 }; 110 105 111 106 /* 112 * ¯ÊÔÌ^107 * 識別番号の型 113 108 */ 114 109 struct node_identification_number_t { 115 /* ºÊÊMwIDtB[h*/110 /* 下位通信層IDフィールド */ 116 111 uint8_t lower_communication_id_field; 117 /* [J[R[h*/112 /* メーカーコード */ 118 113 struct manufacturer_code_t manufacturer_code; 119 /* j[NID([J[Æ©) */114 /* ユニークID部(メーカー独自) */ 120 115 uint8_t unique_id_section[13]; 121 116 }; 122 117 123 118 /* 124 * Kiu 125 îñÌ^ 119 * 規格Version情報の型 126 120 */ 127 121 struct standard_version_information_t { 128 /* Åè1(for future reserved) */122 /* 固定1(for future reserved) */ 129 123 uint8_t reserved1; 130 /* Åè2(for future reserved) */124 /* 固定2(for future reserved) */ 131 125 uint8_t reserved2; 132 /* [XðASCIIŦ·*/126 /* リリース順をASCIIで示す */ 133 127 uint8_t order_of_release; 134 /* Åè4(for future reserved) */128 /* 固定4(for future reserved) */ 135 129 uint8_t reserved3; 136 130 }; 137 131 138 132 /* 139 * m[hvt@CIuWFNg133 * ノードプロファイルオブジェクト 140 134 */ 141 135 struct node_profile_object_t { 142 /* ®ìóÔ*/136 /* 動作状態 */ 143 137 uint8_t operation_status; 144 /* u 145 îñ */ 138 /* Version情報 */ 146 139 struct version_information_t version_information; 147 /* ¯ÊÔ*/140 /* 識別番号 */ 148 141 struct node_identification_number_t identification_number; 149 /* Ùíàe*/142 /* 異常内容 */ 150 143 uint16_t fault_content; 151 /* [J[R[h*/144 /* メーカーコード */ 152 145 struct manufacturer_code_t manufacturer_code; 153 146 }; 154 147 155 148 /* 156 * dÍÊ[^149 * 電力量メータ 157 150 */ 158 151 struct watt_hour_meter_t { 159 /* ®ìóÔ*/152 /* 動作状態 */ 160 153 uint8_t operation_status; 161 /* Ýuê*/154 /* 設置場所 */ 162 155 uint8_t installation_location; 163 /* Kiu 164 îñ */ 156 /* 規格Version情報 */ 165 157 struct standard_version_information_t standard_version_information; 166 /* Ùí¶óÔ*/158 /* 異常発生状態 */ 167 159 uint8_t fault_status; 168 /* [J[R[h*/160 /* メーカーコード */ 169 161 struct manufacturer_code_t manufacturer_code; 170 /* ÏZdÍÊPÊ*/162 /* 積算電力量単位 */ 171 163 uint8_t integral_electric_energy_unit; 172 /* ÏZdÍÊvªl*/164 /* 積算電力量計測値 */ 173 165 uint32_t integral_electric_energy_measurement_value; 174 /* ÏZdÍÊvªlðP*/166 /* 積算電力量計測値履歴1 */ 175 167 uint32_t integral_electric_energy_measurement_log[48]; 176 168 int current_pos; … … 185 177 #endif 186 178 187 extern struct node_profile_object_t local_node_data; /* m[hvt@CIuWFNgÌf[^*/179 extern struct node_profile_object_t local_node_data; /* ノードプロファイルオブジェクトのデータ */ 188 180 189 extern struct watt_hour_meter_t electric_energy_meter_data[6]; /* dÍÊ[^P`UÌf[^*/181 extern struct watt_hour_meter_t electric_energy_meter_data[6]; /* 電力量メータ1〜6のデータ */ 190 182 191 183 EPRP_SETTER onoff_prop_set; -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.