kekw
Dependencies: mbed C12832_lcd MMA7660
main.cpp@2:b07d155d316c, 2020-01-19 (annotated)
- Committer:
- gri
- Date:
- Sun Jan 19 14:57:41 2020 +0000
- Revision:
- 2:b07d155d316c
- Parent:
- 1:876f52a697c1
KEKw
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
4180_1 | 1:876f52a697c1 | 1 | //Uses x & y acceleration to simulate a bubble level |
4180_1 | 1:876f52a697c1 | 2 | //on the application board LCD display |
Sissors | 0:bd0546063b0a | 3 | #include "mbed.h" |
Sissors | 0:bd0546063b0a | 4 | #include "MMA7660.h" |
4180_1 | 1:876f52a697c1 | 5 | #include "C12832_lcd.h" |
gri | 2:b07d155d316c | 6 | #include "USBMouse.h" |
gri | 2:b07d155d316c | 7 | #include "controller.h" |
Sissors | 0:bd0546063b0a | 8 | |
gri | 2:b07d155d316c | 9 | USBMouse mouse; |
gri | 2:b07d155d316c | 10 | //On board LCD display |
4180_1 | 1:876f52a697c1 | 11 | MMA7660 MMA(p28, p27); //I2C Accelerometer |
4180_1 | 1:876f52a697c1 | 12 | DigitalOut connectionLed(LED1);//Accel OK LED |
gri | 2:b07d155d316c | 13 | DigitalIn center(p14); |
gri | 2:b07d155d316c | 14 | |
gri | 2:b07d155d316c | 15 | int16_t a_inx; |
gri | 2:b07d155d316c | 16 | int16_t a_iny; |
Sissors | 0:bd0546063b0a | 17 | |
4180_1 | 1:876f52a697c1 | 18 | int main() |
4180_1 | 1:876f52a697c1 | 19 | { |
gri | 2:b07d155d316c | 20 | int menuOption = 1; |
gri | 2:b07d155d316c | 21 | int quit = 1; |
gri | 2:b07d155d316c | 22 | int flag = 1; |
4180_1 | 1:876f52a697c1 | 23 | lcd.cls(); //clear LCD screen |
Sissors | 0:bd0546063b0a | 24 | if (MMA.testConnection()) |
4180_1 | 1:876f52a697c1 | 25 | connectionLed = 1; //Accelerometer init OK |
gri | 2:b07d155d316c | 26 | while(quit){ |
gri | 2:b07d155d316c | 27 | if(menuOption == 1 && flag == 1){ |
gri | 2:b07d155d316c | 28 | lcd.printf("Jotstick <- \n\r"); |
gri | 2:b07d155d316c | 29 | lcd.printf("Pot Use Joystick\n\r"); |
gri | 2:b07d155d316c | 30 | lcd.printf("Accelometer \n\r"); |
gri | 2:b07d155d316c | 31 | flag = 0; |
gri | 2:b07d155d316c | 32 | } |
gri | 2:b07d155d316c | 33 | if(menuOption == 2 && flag == 1){ |
gri | 2:b07d155d316c | 34 | lcd.printf("Jotstick \n\r"); |
gri | 2:b07d155d316c | 35 | lcd.printf("Pot <- Use Joystick\n\r"); |
gri | 2:b07d155d316c | 36 | lcd.printf("Accelometer \n\r"); |
gri | 2:b07d155d316c | 37 | flag = 0; |
gri | 2:b07d155d316c | 38 | } |
gri | 2:b07d155d316c | 39 | if(menuOption == 3 && flag == 1){ |
gri | 2:b07d155d316c | 40 | lcd.printf("Jotstick \n\r"); |
gri | 2:b07d155d316c | 41 | lcd.printf("Pot Use Joystick\n\r"); |
gri | 2:b07d155d316c | 42 | lcd.printf("Accelometer <- \n\r"); |
gri | 2:b07d155d316c | 43 | flag = 0; |
gri | 2:b07d155d316c | 44 | } |
gri | 2:b07d155d316c | 45 | |
gri | 2:b07d155d316c | 46 | if(up == 1 && menuOption != 1){ menuOption--;flag = 1; wait(.3);} |
gri | 2:b07d155d316c | 47 | else if(down == 1 && menuOption != 3){ menuOption++;flag = 1; wait(.3); } |
gri | 2:b07d155d316c | 48 | if(center == 1){quit = 0;}; |
gri | 2:b07d155d316c | 49 | } |
gri | 2:b07d155d316c | 50 | controller *control; |
gri | 2:b07d155d316c | 51 | lcd.cls(); |
gri | 2:b07d155d316c | 52 | if(menuOption == 1){ |
gri | 2:b07d155d316c | 53 | control = new joystickController(); |
gri | 2:b07d155d316c | 54 | lcd.printf("Controlling With Joystick"); |
gri | 2:b07d155d316c | 55 | }else if(menuOption == 2){ |
gri | 2:b07d155d316c | 56 | control = new potController(); |
gri | 2:b07d155d316c | 57 | lcd.printf("Controlling With Pots"); |
gri | 2:b07d155d316c | 58 | } |
gri | 2:b07d155d316c | 59 | else if(menuOption == 3){ |
gri | 2:b07d155d316c | 60 | control = new accelController(); |
gri | 2:b07d155d316c | 61 | lcd.printf("Controlling With Accelerometer"); |
gri | 2:b07d155d316c | 62 | } |
Sissors | 0:bd0546063b0a | 63 | while(1) { |
gri | 2:b07d155d316c | 64 | control->moveCursor(); |
Sissors | 0:bd0546063b0a | 65 | } |
Sissors | 0:bd0546063b0a | 66 | |
Sissors | 0:bd0546063b0a | 67 | } |