source: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_dbg.h@ 400

Last change on this file since 400 was 400, checked in by coas-nagasima, 5 years ago

ファイルヘッダーの更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 5.1 KB
Line 
1/*
2 * TOPPERS ECHONET Lite Communication Middleware
3 *
4 * Copyright (C) 2014-2019 Cores Co., Ltd. Japan
5 *
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 * の責任を負わない.
34 *
35 * @(#) $Id$
36 */
37
38/*
39 * ECHONET Lite タスク デバッグ出力
40 */
41
42#ifndef TOPPERS_ECHONET_DBG_H
43#define TOPPERS_ECHONET_DBG_H
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49#ifdef SEM_ECN_DBG_UDP_SYSLOG
50 #include "echonet_dbg_udp.h"
51#endif
52
53/*#include ".h"*/
54#include "echonet.h"
55
56/* ECN_SRC_LOC: ソース中のファイル名と行番号を示す文字列を作るマクロ */
57#ifndef ECN_SRC_LOC
58 #ifndef _ECN_BLD_BASE_DIR
59 #define __ECN_SRC_LOC(fnam, line) fnam "(" #line ")"
60 #else
61 #define ___ECN_SRC_LOC(fnam, line) fnam "(" #line ")"
62 #define __ECN_SRC_LOC(fnam, line) \
63 ( \
64 sizeof(_ECN_BLD_BASE_DIR) < sizeof(___ECN_SRC_LOC(fnam, line)) ? \
65 ( &(___ECN_SRC_LOC(fnam, line))[sizeof(_ECN_BLD_BASE_DIR) - 1] \
66 ) \
67 : ___ECN_SRC_LOC(fnam, line) \
68 )
69 #endif
70 #define _ECN_SRC_LOC(fnam, line) __ECN_SRC_LOC(fnam, line)
71 #define ECN_SRC_LOC _ECN_SRC_LOC(__FILE__, __LINE__)
72#endif
73
74#ifdef ECN_DBG_PUT_ENA
75#define ECN_DBG_PUT(a) _ecn_dbg_dbgput(ECN_SRC_LOC, a)
76#define ECN_DBG_PUT_1(a, b) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b)
77#define ECN_DBG_PUT_2(a, b, c) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c)
78#define ECN_DBG_PUT_3(a, b, c, d) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c, d)
79#define ECN_DBG_PUT_4(a, b, c, d, e) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c, d, e)
80#define ECN_DBG_PUT_5(a, b, c, d, e, f) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c, d, e, f)
81#else
82#define ECN_DBG_PUT(a)
83#define ECN_DBG_PUT_1(a, b)
84#define ECN_DBG_PUT_2(a, b, c)
85#define ECN_DBG_PUT_3(a, b, c, d)
86#define ECN_DBG_PUT_4(a, b, c, d, e)
87#define ECN_DBG_PUT_5(a, b, c, d, e, f)
88#endif
89
90/* デバッグ出力(CARP) */
91#ifdef ECN_CAP_PUT_ENA
92#define ECN_CAP_PUT(a) _ecn_dbg_dbgput(ECN_SRC_LOC, a)
93#define ECN_CAP_PUT_1(a, b) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b)
94#define ECN_CAP_PUT_2(a, b, c) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c)
95#define ECN_CAP_PUT_3(a, b, c, d) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c, d)
96#define ECN_CAP_PUT_4(a, b, c, d, e) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c, d, e)
97#define ECN_CAP_PUT_5(a, b, c, d, e, f) _ecn_dbg_dbgput(ECN_SRC_LOC, a, b, c, d, e, f)
98#else
99#define ECN_CAP_PUT(a)
100#define ECN_CAP_PUT_1(a, b)
101#define ECN_CAP_PUT_2(a, b, c)
102#define ECN_CAP_PUT_3(a, b, c, d)
103#define ECN_CAP_PUT_4(a, b, c, d, e)
104#define ECN_CAP_PUT_5(a, b, c, d, e, f)
105#endif
106
107/*
108 * デバッグ出力
109 * 例: ECN_DBG_PUT("task start");
110 */
111int _ecn_dbg_dbgput(const char *, const char *, ...);
112
113/*
114 * バイナリダンプ出力
115 */
116void _ecn_dbg_bindmp(const uint8_t *buffer, size_t len);
117
118/*
119 * ECHONET Liteサービスコード文字列変換
120 */
121const char *_ecn_dbg_esv2str(uint8_t fa_esv);
122
123/*
124 * ECN_ENOD_IDの文字列変換
125 */
126const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id);
127
128#ifdef __cplusplus
129}
130#endif
131
132#endif /* TOPPERS_ECHONET_DBG_H */
Note: See TracBrowser for help on using the repository browser.