Sample code for the NJE10XCtrl library

Dependencies:   NJE10XCtrlLib mbed

Committer:
rinosh2
Date:
Tue Nov 16 17:02:38 2010 +0000
Revision:
0:972970569b70

        

Who changed what in which revision?

UserRevisionLine numberNew 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 }