Sample code for the NJE10XCtrl library
Dependencies: NJE10XCtrlLib mbed
NJE10XCtrlSample.cpp@0:972970569b70, 2010-11-16 (annotated)
- Committer:
- rinosh2
- Date:
- Tue Nov 16 17:02:38 2010 +0000
- Revision:
- 0:972970569b70
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rinosh2 | 0:972970569b70 | 1 | #include "mbed.h" |
rinosh2 | 0:972970569b70 | 2 | #include "NJE10XCtrl.h" |
rinosh2 | 0:972970569b70 | 3 | |
rinosh2 | 0:972970569b70 | 4 | struct Mytest{ |
rinosh2 | 0:972970569b70 | 5 | const char* msg; |
rinosh2 | 0:972970569b70 | 6 | NJE10XCtrl::Attr1 a1; |
rinosh2 | 0:972970569b70 | 7 | NJE10XCtrl::Attr2 a2; |
rinosh2 | 0:972970569b70 | 8 | NJE10XCtrl::Attr3 a3; |
rinosh2 | 0:972970569b70 | 9 | }; |
rinosh2 | 0:972970569b70 | 10 | Mytest MY_TEST[] = { |
rinosh2 | 0:972970569b70 | 11 | #define X_TEST(a1,a2,a3) {#a1"+"#a2"+"#a3, NJE10XCtrl::ATTR_##a1, NJE10XCtrl::ATTR_##a2, NJE10XCtrl::ATTR_##a3} |
rinosh2 | 0:972970569b70 | 12 | X_TEST(GREEN, SCROLL, NORMAL), |
rinosh2 | 0:972970569b70 | 13 | X_TEST(RED, SCROLL_R, REVERSE), |
rinosh2 | 0:972970569b70 | 14 | X_TEST(YELLOW, STOP, NORMAL), |
rinosh2 | 0:972970569b70 | 15 | X_TEST(GREEN, FIX, REVERSE), |
rinosh2 | 0:972970569b70 | 16 | |
rinosh2 | 0:972970569b70 | 17 | X_TEST(RED, SCROLL, BLINK_REVERSE), |
rinosh2 | 0:972970569b70 | 18 | X_TEST(YELLOW, SCROLL_R, BLINK), |
rinosh2 | 0:972970569b70 | 19 | X_TEST(GREEN, STOP, BLINK_REVERSE), |
rinosh2 | 0:972970569b70 | 20 | X_TEST(RED, FIX, BLINK), |
rinosh2 | 0:972970569b70 | 21 | #undef X_TEST |
rinosh2 | 0:972970569b70 | 22 | {0}, |
rinosh2 | 0:972970569b70 | 23 | }; |
rinosh2 | 0:972970569b70 | 24 | |
rinosh2 | 0:972970569b70 | 25 | int main() { |
rinosh2 | 0:972970569b70 | 26 | printf("Initialize NJE105...\n"); |
rinosh2 | 0:972970569b70 | 27 | NJE10XCtrl nje(p9); |
rinosh2 | 0:972970569b70 | 28 | nje.reset(); |
rinosh2 | 0:972970569b70 | 29 | |
rinosh2 | 0:972970569b70 | 30 | printf("Wait for completing the reset...\n"); |
rinosh2 | 0:972970569b70 | 31 | wait(20); // wait the reset complete |
rinosh2 | 0:972970569b70 | 32 | nje.setMessage(1, "Start NJE10XCtrl test...", NJE10XCtrl::ATTR_YELLOW, NJE10XCtrl::ATTR_SCROLL_R); |
rinosh2 | 0:972970569b70 | 33 | wait(8); |
rinosh2 | 0:972970569b70 | 34 | |
rinosh2 | 0:972970569b70 | 35 | int op = 0; |
rinosh2 | 0:972970569b70 | 36 | int n = 0; |
rinosh2 | 0:972970569b70 | 37 | const char* op_msg = ""; |
rinosh2 | 0:972970569b70 | 38 | for(;;){ |
rinosh2 | 0:972970569b70 | 39 | if(n == 0){ |
rinosh2 | 0:972970569b70 | 40 | if(++op > 2) op = 0; |
rinosh2 | 0:972970569b70 | 41 | const char* OP_MSGS[3] = {"Slow", "Middle", "Fast"}; |
rinosh2 | 0:972970569b70 | 42 | op_msg = OP_MSGS[op]; |
rinosh2 | 0:972970569b70 | 43 | nje.setMessage(1, op_msg); |
rinosh2 | 0:972970569b70 | 44 | nje.setScrollSpeed(NJE10XCtrl::ScrollSpeed(op)); |
rinosh2 | 0:972970569b70 | 45 | nje.setBlinkSpeed(NJE10XCtrl::BlinkSpeed(op + 1)); |
rinosh2 | 0:972970569b70 | 46 | nje.setStopTime(3 - op); |
rinosh2 | 0:972970569b70 | 47 | printf("Set mode to %s (Wait %dsec...)\n", op_msg, 50 - op * 20); |
rinosh2 | 0:972970569b70 | 48 | wait(50 - op * 20); // 50 30 10 |
rinosh2 | 0:972970569b70 | 49 | } |
rinosh2 | 0:972970569b70 | 50 | |
rinosh2 | 0:972970569b70 | 51 | const Mytest& mt = MY_TEST[n]; |
rinosh2 | 0:972970569b70 | 52 | char buf[99]; |
rinosh2 | 0:972970569b70 | 53 | sprintf(buf, "#%d:%s/", n + 1, mt.msg); |
rinosh2 | 0:972970569b70 | 54 | nje.clear(); |
rinosh2 | 0:972970569b70 | 55 | nje.add(buf); |
rinosh2 | 0:972970569b70 | 56 | nje.addAttr(NJE10XCtrl::Attr1((mt.a1 + 1) & 3), mt.a2, mt.a3); |
rinosh2 | 0:972970569b70 | 57 | nje.add(op_msg); |
rinosh2 | 0:972970569b70 | 58 | nje.setMessage(1, 0, mt.a1, mt.a2, mt.a3); |
rinosh2 | 0:972970569b70 | 59 | |
rinosh2 | 0:972970569b70 | 60 | printf("Show '%s', wait %dsec\n", buf, 25 - op * 5); |
rinosh2 | 0:972970569b70 | 61 | wait(20 - op * 5); |
rinosh2 | 0:972970569b70 | 62 | |
rinosh2 | 0:972970569b70 | 63 | if(!MY_TEST[++n].msg) n = 0; |
rinosh2 | 0:972970569b70 | 64 | } |
rinosh2 | 0:972970569b70 | 65 | } |