an jian
/
LPC812MAXdemoTest_revPA1
LPC812MAXdemoTest_revPA1
Fork of LPC812MAXdemoTest_revPA1 by
Diff: main.cpp
- Revision:
- 1:f7158ed0d3ae
- Parent:
- 0:c2c6f009e2d1
--- a/main.cpp Sun Oct 13 03:42:55 2013 +0000 +++ b/main.cpp Tue Sep 25 09:14:09 2018 +0000 @@ -18,22 +18,16 @@ unsigned char i2c_wait(int ms) { - for(int n=0; n<ms; n+=50) - { + for(int n=0; n<ms; n+=50) { //read PCA9672PW - if (m_i2c.read(I2C_ADDR_PCA9672PW, response, 1) == 0) - { + if (m_i2c.read(I2C_ADDR_PCA9672PW, response, 1) == 0) { //check if push-button pressed (bit #7 = 0) if ((keyPressed == false) && ((response[0] & 0x80) == 0)) return 1; - } - else - { + } else { //error reading from I2C device - while(1) - { - for(int i=0; i<10; i++) - { + while(1) { + for(int i=0; i<10; i++) { ledBlue = LED_ON; wait(0.05); ledBlue = LED_OFF; @@ -47,7 +41,8 @@ return 0; } -int main() { +int main() +{ //init RGB-LED to be off ledRed = LED_OFF; ledGreen = LED_OFF; @@ -55,12 +50,9 @@ //test i2C connection with PCF8591T (1.0.0.1.1.1.1.rw) const char command1[] = {0x00}; - if (m_i2c.write(I2C_ADDR_PCF8591T, command1, 1) != 0) - { - while(1) - { - for(int i=0; i<10; i++) - { + if (m_i2c.write(I2C_ADDR_PCF8591T, command1, 1) != 0) { + while(1) { + for(int i=0; i<10; i++) { ledRed = LED_ON; wait(0.05); ledRed = LED_OFF; @@ -72,12 +64,9 @@ //test i2C connection with PCA9672PW (0.1.0.0.0.1.1.rw) const char command2[] = {0xff}; - if (m_i2c.write(I2C_ADDR_PCA9672PW, command2, 1) != 0) - { - while(1) - { - for(int i=0; i<10; i++) - { + if (m_i2c.write(I2C_ADDR_PCA9672PW, command2, 1) != 0) { + while(1) { + for(int i=0; i<10; i++) { ledBlue = LED_ON; wait(0.05); ledBlue = LED_OFF; @@ -86,10 +75,9 @@ wait(1.0); } } - + //startup flash behaviour - for(int i=0; i<10; i++) - { + for(int i=0; i<10; i++) { ledGreen = LED_ON; wait(0.05); ledGreen = LED_OFF; @@ -100,14 +88,12 @@ //enter forever loop, change RGB flash patterns with user push-button keyPressed = false; i2c_wait(1); - while(1) - { + while(1) { //read user push-button #if 1 i2c_wait(1); //check if push-button pressed (bit #7 = 0) - if ((keyPressed == false) && ((response[0] & 0x80) == 0)) - { + if ((keyPressed == false) && ((response[0] & 0x80) == 0)) { keyPressed = true; flashPattern++; } @@ -116,11 +102,9 @@ else if ((keyPressed == true) && ((response[0] & 0x80) != 0)) keyPressed = false; #else - if (m_i2c.read(I2C_ADDR_PCA9672PW, response, 1) == 0) - { + if (m_i2c.read(I2C_ADDR_PCA9672PW, response, 1) == 0) { //check if push-button pressed (bit #7 = 0) - if ((keyPressed == false) && ((response[0] & 0x80) == 0)) - { + if ((keyPressed == false) && ((response[0] & 0x80) == 0)) { keyPressed = true; flashPattern++; ledRed = LED_OFF; @@ -133,12 +117,9 @@ keyPressed = false; } //error reading from I2C device - else - { - while(1) - { - for(int i=0; i<10; i++) - { + else { + while(1) { + for(int i=0; i<10; i++) { ledBlue = LED_ON; wait(0.05); ledBlue = LED_OFF; @@ -147,163 +128,156 @@ wait(1.0); } } -#endif +#endif //flash RGB-LED according to pattern - switch(flashPattern) - { - case 0: - ledRed = LED_ON; - if (i2c_wait(80) != 0) break; - ledRed = LED_OFF; - if (i2c_wait(500) != 0) break; + switch(flashPattern) { + case 0: + ledRed = LED_ON; + if (i2c_wait(80) != 0) break; + ledRed = LED_OFF; + if (i2c_wait(500) != 0) break; - ledGreen = LED_ON; - if (i2c_wait(15) != 0) break; - ledGreen = LED_OFF; - if (i2c_wait(550) != 0) break; - - ledBlue = LED_ON; - if (i2c_wait(80) != 0) break; - ledBlue = LED_OFF; - if (i2c_wait(500) != 0) break; - break; - case 1: - for(float a=0; a<0.01; a+=0.0004) - { ledGreen = LED_ON; - wait(a/2); - ledGreen = LED_OFF; - wait(0.01-a); - } - ledGreen = LED_ON; - if (i2c_wait(1) != 0) break; - for(float a=0.01; a>0.0; a-=0.0002) - { - ledGreen = LED_ON; - wait(a/2); + if (i2c_wait(15) != 0) break; ledGreen = LED_OFF; - wait(0.01-a); - } - if (i2c_wait(400) != 0) break; - break; - case 2: - ledRed = LED_ON; - if (i2c_wait(150) != 0) break; - ledRed = LED_OFF; - if (i2c_wait(150) != 0) break; + if (i2c_wait(550) != 0) break; - ledGreen = LED_ON; - if (i2c_wait(100) != 0) break; - ledGreen = LED_OFF; + ledBlue = LED_ON; + if (i2c_wait(80) != 0) break; + ledBlue = LED_OFF; + if (i2c_wait(500) != 0) break; + break; + case 1: + for(float a=0; a<0.01; a+=0.0004) { + ledGreen = LED_ON; + wait(a/2); + ledGreen = LED_OFF; + wait(0.01-a); + } + ledGreen = LED_ON; + if (i2c_wait(1) != 0) break; + for(float a=0.01; a>0.0; a-=0.0002) { + ledGreen = LED_ON; + wait(a/2); + ledGreen = LED_OFF; + wait(0.01-a); + } + if (i2c_wait(400) != 0) break; + break; + case 2: + ledRed = LED_ON; + if (i2c_wait(150) != 0) break; + ledRed = LED_OFF; + if (i2c_wait(150) != 0) break; + + ledGreen = LED_ON; + if (i2c_wait(100) != 0) break; + ledGreen = LED_OFF; - ledBlue = LED_ON; - if (i2c_wait(150) != 0) break; - ledBlue = LED_OFF; - break; - case 3: - ledRed = LED_ON; - ledGreen = LED_ON; - ledBlue = LED_ON; - if (i2c_wait(10) != 0) break; + ledBlue = LED_ON; + if (i2c_wait(150) != 0) break; + ledBlue = LED_OFF; + break; + case 3: + ledRed = LED_ON; + ledGreen = LED_ON; + ledBlue = LED_ON; + if (i2c_wait(10) != 0) break; - ledGreen = LED_OFF; - ledBlue = LED_OFF; - ledRed = LED_OFF; - if (i2c_wait(500) != 0) break; - break; - case 4: - for(float a=0; a<0.01; a+=0.0008) - { - ledRed = LED_ON; - wait(a); + ledGreen = LED_OFF; + ledBlue = LED_OFF; ledRed = LED_OFF; - wait(0.01-a); - } - ledRed = LED_ON; - if (i2c_wait(1) != 0) break; - for(float a=0; a<0.01; a+=0.0008) - { - ledBlue = LED_ON; - wait(a); - ledBlue = LED_OFF; - wait(0.01-a); - } - ledBlue = LED_ON; - if (i2c_wait(1) != 0) break; - for(float a=0.01; a>0.0; a-=0.0008) - { + if (i2c_wait(500) != 0) break; + break; + case 4: + for(float a=0; a<0.01; a+=0.0008) { + ledRed = LED_ON; + wait(a); + ledRed = LED_OFF; + wait(0.01-a); + } ledRed = LED_ON; - wait(a); - ledRed = LED_OFF; - wait(0.01-a); - } - if (i2c_wait(1) != 0) break; - for(float a=0.01; a>0.0; a-=0.0008) - { + if (i2c_wait(1) != 0) break; + for(float a=0; a<0.01; a+=0.0008) { + ledBlue = LED_ON; + wait(a); + ledBlue = LED_OFF; + wait(0.01-a); + } ledBlue = LED_ON; - wait(a); - ledBlue = LED_OFF; - wait(0.01-a); - } - if (i2c_wait(200) != 0) break; - break; - default: - flashPattern = 0; - break; + if (i2c_wait(1) != 0) break; + for(float a=0.01; a>0.0; a-=0.0008) { + ledRed = LED_ON; + wait(a); + ledRed = LED_OFF; + wait(0.01-a); + } + if (i2c_wait(1) != 0) break; + for(float a=0.01; a>0.0; a-=0.0008) { + ledBlue = LED_ON; + wait(a); + ledBlue = LED_OFF; + wait(0.01-a); + } + if (i2c_wait(200) != 0) break; + break; + default: + flashPattern = 0; + break; } } } #if 0 //https://github.com/mbedmicro/mbed/tree/master/libraries/mbed/vendor/NXP/capi/LPC812 - P0_0 = 0, - P0_1 = 1, - P0_2 = 2, - P0_3 = 3, - P0_4 = 4, - P0_5 = 5, - P0_6 = 6, - P0_7 = 7, - P0_8 = 8, - P0_9 = 9, - P0_10 = 10, //SDA - P0_11 = 11, //SCL - P0_12 = 12, - P0_13 = 13, - P0_14 = 14, - P0_15 = 15, - P0_16 = 16, - P0_17 = 17, - - D0 = P0_0, - D1 = P0_4, - D2 = P0_6, - D3 = P0_8, - D4 = P0_9, - - D7 = P0_7, - D8 = P0_17, - D9 = P0_16, - D10 = P0_13, - D11 = P0_14, - D12 = P0_15, - D13 = P0_12, - - A4 = P0_10, - A5 = P0_11, - - // LPC800-MAX board - LED_RED = P0_7, - LED_GREEN = P0_17, - LED_BLUE = P0_16, - - // mbed original LED naming - LED1 = LED_BLUE, - LED2 = LED_GREEN, - LED3 = LED_RED, - LED4 = LED_RED, - - // Serial to USB pins - USBTX = P0_6, - USBRX = P0_1, +P0_0 = 0, +P0_1 = 1, +P0_2 = 2, +P0_3 = 3, +P0_4 = 4, +P0_5 = 5, +P0_6 = 6, +P0_7 = 7, +P0_8 = 8, +P0_9 = 9, +P0_10 = 10, //SDA +P0_11 = 11, //SCL +P0_12 = 12, +P0_13 = 13, +P0_14 = 14, +P0_15 = 15, +P0_16 = 16, +P0_17 = 17, + +D0 = P0_0, +D1 = P0_4, +D2 = P0_6, +D3 = P0_8, +D4 = P0_9, + +D7 = P0_7, +D8 = P0_17, +D9 = P0_16, +D10 = P0_13, +D11 = P0_14, +D12 = P0_15, +D13 = P0_12, + +A4 = P0_10, +A5 = P0_11, + +// LPC800-MAX board +LED_RED = P0_7, +LED_GREEN = P0_17, +LED_BLUE = P0_16, + +// mbed original LED naming +LED1 = LED_BLUE, +LED2 = LED_GREEN, +LED3 = LED_RED, +LED4 = LED_RED, + +// Serial to USB pins +USBTX = P0_6, +USBRX = P0_1, #endif