kekw

Dependencies:   mbed C12832_lcd MMA7660

Committer:
gri
Date:
Sun Jan 19 14:57:41 2020 +0000
Revision:
2:b07d155d316c
Parent:
1:876f52a697c1
KEKw

Who changed what in which revision?

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