3 * @author Shinichiro Nakamura
4 * @brief ディスプレイタスクの定義(task_display)
6 * ディスプレイタスクは有機ELディスプレイを制御するタスクである。
7 * ディスプレイの制御はマクロを使って行うことができる。
12 * ディスプレイへの表示は以下のマクロを使って行うことができる。
15 * TSKAPI_DISPLAY_CLEAR(r, g, b);
16 * TSKAPI_DISPLAY_LINE(x1, y1, x2, y2, r, g, b);
17 * TSKAPI_DISPLAY_BOX(x1, y1, x2, y2, r, g, b);
18 * TSKAPI_DISPLAY_FILLBOX(x1, y1, x2, y2, r1, g1, b1, r2, g2, b2);
19 * TSKAPI_DISPLAY_TEXT(x, y, r, g, b, "text");
20 * TSKAPI_DISPLAY_BMPFILE("filename");
23 * このマクロは、タスクコンテキスト内のどこからでも呼ぶことができる。
26 #ifndef _TASK_DISPLAY_H_
27 #define _TASK_DISPLAY_H_
29 #include "target_test.h"
32 * @brief タスクプライオリティ。(ディスプレイタスク)
34 #define TSKPRI_DISPLAY 11
35 #define TSKSTK_DISPLAY STACK_SIZE
37 #define DISPLAY_CMD_CLEAR 0
38 #define DISPLAY_CMD_LINE 1
39 #define DISPLAY_CMD_BOX 2
40 #define DISPLAY_CMD_FILLBOX 3
41 #define DISPLAY_CMD_TEXT 4
42 #define DISPLAY_CMD_BMPFILE 5
43 #define DISPLAY_CMD_AUDIO_LEVELMETER 6
106 } display_audio_levelmeter_t;
109 * @defgroup BLACKTANK_LPC1769_TASK_DISPLAY_CLIENT
110 * @ingroup BLACKTANK_LPC1769_TASK_DISPLAY
114 void disp_clear(const uint8_t r, const uint8_t g, const uint8_t b);
149 void disp_bmpfile(const char *filename);
150 void disp_audio_levelmeter(const int left, const int right);
152 #define TSKAPI_DISPLAY_CLEAR(R,G,B) \
153 disp_clear((R),(G),(B))
154 #define TSKAPI_DISPLAY_LINE(X1,Y1,X2,Y2,R,G,B) \
155 disp_line((X1),(Y1),(X2),(Y2),(R),(G),(B))
156 #define TSKAPI_DISPLAY_BOX(X1,Y1,X2,Y2,R,G,B) \
157 disp_box((X1),(Y1),(X2),(Y2),(R),(G),(B))
158 #define TSKAPI_DISPLAY_FILLBOX(X1,Y1,X2,Y2,R1,G1,B1,R2,G2,B2) \
159 disp_fillbox((X1),(Y1),(X2),(Y2),(R1),(G1),(B1),(R2),(G2),(B2))
160 #define TSKAPI_DISPLAY_TEXT(X,Y,R,G,B,TEXT) \
161 disp_text((X),(Y),(R),(G),(B),(TEXT))
162 #define TSKAPI_DISPLAY_BMPFILE(FN) \
164 #define TSKAPI_DISPLAY_AUDIO_LEVELMETER(L,R) \
165 disp_audio_levelmeter((L),(R))
171 #ifndef TOPPERS_MACRO_ONLY
174 * @defgroup BLACKTANK_LPC1769_TASK_DISPLAY
175 * @ingroup BLACKTANK_LPC1769_TASK
179 void task_display(intptr_t exinf);