NXT用のデータ出力マクロのメモ
ちょっとしたデバッグ用マクロ。ecrobot_debug1が不便なので作ってみた。
#define DATA_OUTPUT(str, a, b, c) \ display_clear(0); \ display_goto_xy(0, 0); \ display_string(#str); \ \ display_goto_xy(0, 1); \ display_string("VAR1: "); \ display_int((a), 0); \ \ display_goto_xy(0, 2); \ display_string("VAR2: "); \ display_int((b), 0); \ \ display_goto_xy(0, 3); \ display_string("VAR3: "); \ display_int((c), 0); \ display_update()
コード例
light_offset = 600; gray_offset = ecrobot_get_light_sensor(NXT_PORT_S3); DATA_OUTPUT("gray_offset", ecrobot_get_light_sensor(NXT_PORT_S3), gray_offset, light_offset);
表示のイメージ
"gray_offset" VAR1: 400 VAR2: 500 VAR3: 600
ecrobot_debug1は一体なんの変数とかを出力してるかがわかりにくい。どこがわかりにくいかというと一行目になんの文字も表示できないっぽいから使いづらい。
例:
<- ここに何も表示されない VAR1: 400 VAR2: 500 VAR3: 600
頑張って拡張したらもっと良さそうではある。