Team Kryptonite EE300 Keypad Subsystem

Dependencies:   keypad mbed

Fork of mbed_can_bus_test1 by Kryptonite

Committer:
Googlesomething
Date:
Fri Dec 01 14:47:22 2017 +0000
Revision:
1:907c82f7f923
Parent:
0:f4b73d13d381
Child:
2:02021bd6b07e
version 1.01

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Googlesomething 0:f4b73d13d381 1 #include "mbed.h"
Googlesomething 1:907c82f7f923 2 #include "Keypad.h"
Googlesomething 0:f4b73d13d381 3
Googlesomething 0:f4b73d13d381 4 Ticker ticker;
Googlesomething 0:f4b73d13d381 5 DigitalOut led1(LED1);
Googlesomething 0:f4b73d13d381 6 DigitalOut led2(LED2);
Googlesomething 0:f4b73d13d381 7 CAN can1(p9,p10);
Googlesomething 0:f4b73d13d381 8 CAN can2(p30,p29);
Googlesomething 0:f4b73d13d381 9
Googlesomething 0:f4b73d13d381 10 //Declare KeyPad GPIO pins here
Googlesomething 0:f4b73d13d381 11
Googlesomething 1:907c82f7f923 12 char Keytable[] = { '1', '2', '3', //row0, p1, mbedpin21
Googlesomething 1:907c82f7f923 13 '4', '5', '6', //row1, p2, mbedpin22
Googlesomething 1:907c82f7f923 14 '7', '8', '8', //row2, p3, mbedpin23
Googlesomething 1:907c82f7f923 15 '*', '0', '#', //row3, p4, mbedpin24
Googlesomething 1:907c82f7f923 16 };
Googlesomething 1:907c82f7f923 17 //col0, col1, col2
Googlesomething 1:907c82f7f923 18 //p5, p6, p7
Googlesomething 1:907c82f7f923 19 //mbedpin25, mbedpin26, mbedpin27
Googlesomething 1:907c82f7f923 20 const byte ROWS = 4;
Googlesomething 1:907c82f7f923 21 const byte COLS = 3;
Googlesomething 1:907c82f7f923 22 char keys[ROWS][COLS] = {
Googlesomething 1:907c82f7f923 23 {'1','2','3'},
Googlesomething 1:907c82f7f923 24 {'4','5','6'},
Googlesomething 1:907c82f7f923 25 {'7','8','9'},
Googlesomething 1:907c82f7f923 26 {'*','0','#'}
Googlesomething 1:907c82f7f923 27 };
Googlesomething 1:907c82f7f923 28 byte rowPins[ROWS] = {1,2,3,4};
Googlesomething 1:907c82f7f923 29 byte colPins[COLS] = {5,6,7};
Googlesomething 0:f4b73d13d381 30
Googlesomething 1:907c82f7f923 31 Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
Googlesomething 0:f4b73d13d381 32
Googlesomething 0:f4b73d13d381 33 //Universal ID: 1337
Googlesomething 0:f4b73d13d381 34 //CAN Message Info
Googlesomething 0:f4b73d13d381 35 char counter = 0; //keypad system CAN test variable
Googlesomething 0:f4b73d13d381 36 char start = '*'; //Start
Googlesomething 0:f4b73d13d381 37 char stop = '#'; //Stop
Googlesomething 0:f4b73d13d381 38 char amp5 = 5; //Digipot
Googlesomething 0:f4b73d13d381 39 char amp4 = 4; //Digipot
Googlesomething 0:f4b73d13d381 40 char amp3 = 3; //Digipot
Googlesomething 0:f4b73d13d381 41 char amp2 = 2; //Digipot
Googlesomething 0:f4b73d13d381 42 char amp1 = 1; //Digipot
Googlesomething 1:907c82f7f923 43 char sin10Hz = 'q'; //DAC
Googlesomething 1:907c82f7f923 44 char sin1Hz = 'w'; //DAC
Googlesomething 1:907c82f7f923 45 char sqr10Hz = 'o'; //DAC
Googlesomething 1:907c82f7f923 46 char sqr1Hz = 't'; //DAC
Googlesomething 0:f4b73d13d381 47 char saveUSB = 'u'; //ADC
Googlesomething 0:f4b73d13d381 48 char saveLocal = 'l'; //ADC That's an l as in labeorphily
Googlesomething 0:f4b73d13d381 49
Googlesomething 0:f4b73d13d381 50
Googlesomething 0:f4b73d13d381 51
Googlesomething 0:f4b73d13d381 52 //CAN Send (Parameter = message data)
Googlesomething 0:f4b73d13d381 53 void send(char sendMsg) {
Googlesomething 0:f4b73d13d381 54 if(can1.write(CANMessage(1337, &sendMsg, 1))) {
Googlesomething 0:f4b73d13d381 55 printf("Message sent: %d\n", sendMsg);
Googlesomething 0:f4b73d13d381 56 }
Googlesomething 0:f4b73d13d381 57 led1 = !led1;
Googlesomething 1:907c82f7f923 58 }
Googlesomething 0:f4b73d13d381 59
Googlesomething 0:f4b73d13d381 60 /* write Switch statements*/
Googlesomething 0:f4b73d13d381 61 //Setup Choice Switch Statements
Googlesomething 1:907c82f7f923 62
Googlesomething 1:907c82f7f923 63
Googlesomething 1:907c82f7f923 64
Googlesomething 1:907c82f7f923 65
Googlesomething 1:907c82f7f923 66 int setupChoice = NULL;
Googlesomething 1:907c82f7f923 67 int main() {
Googlesomething 1:907c82f7f923 68 printf("Please select the desired function:\n1: DAC Setup\n2: DigiPot Setup\n3: ADC Setup\n");
Googlesomething 1:907c82f7f923 69 setupChoice = Keypad[keys]
Googlesomething 0:f4b73d13d381 70 switch(setupChoice) {
Googlesomething 0:f4b73d13d381 71 case 1 ://DAC Setup
Googlesomething 1:907c82f7f923 72 printf("Please choose waveform:\n1: 1Hz, Square Wave\n2: 1Hz Sine Wave\n3: 10Hz, Square Wave\n4: 10Hz, Sine Wave\n5: Return to previous menu.\n");
Googlesomething 1:907c82f7f923 73 if (/*Keypad Input*/ == 1)
Googlesomething 1:907c82f7f923 74 {
Googlesomething 1:907c82f7f923 75 }
Googlesomething 1:907c82f7f923 76 else if (/*Keypad Input*/ == 2)
Googlesomething 1:907c82f7f923 77 {
Googlesomething 1:907c82f7f923 78 }
Googlesomething 1:907c82f7f923 79 else if (/*Keypad Input*/ == 3)
Googlesomething 1:907c82f7f923 80 {
Googlesomething 1:907c82f7f923 81 }
Googlesomething 1:907c82f7f923 82 else if (/*Keypad Input*/ == 4)
Googlesomething 1:907c82f7f923 83 {
Googlesomething 1:907c82f7f923 84 }
Googlesomething 1:907c82f7f923 85 else if (/*Keypad Input*/ == 5)
Googlesomething 1:907c82f7f923 86 {
Googlesomething 1:907c82f7f923 87 }
Googlesomething 0:f4b73d13d381 88 break; //optional
Googlesomething 0:f4b73d13d381 89
Googlesomething 0:f4b73d13d381 90 case 2 ://DigiPot Setup
Googlesomething 0:f4b73d13d381 91 statement(s);
Googlesomething 0:f4b73d13d381 92 break; //optional
Googlesomething 0:f4b73d13d381 93
Googlesomething 0:f4b73d13d381 94 case 3 ://ADC Setup
Googlesomething 0:f4b73d13d381 95 statement(s);
Googlesomething 0:f4b73d13d381 96 break; //Optional
Googlesomething 0:f4b73d13d381 97
Googlesomething 0:f4b73d13d381 98
Googlesomething 0:f4b73d13d381 99 default : //Optional
Googlesomething 0:f4b73d13d381 100 statement(s);
Googlesomething 1:907c82f7f923 101 };
Googlesomething 0:f4b73d13d381 102 ticker.attach(&send, 1);
Googlesomething 0:f4b73d13d381 103 CANMessage msg;
Googlesomething 0:f4b73d13d381 104 while(1) {
Googlesomething 0:f4b73d13d381 105 if(can2.read(msg)) {
Googlesomething 0:f4b73d13d381 106 printf("Message Recieved: %d\n\n", msg.data[0]);
Googlesomething 0:f4b73d13d381 107 led2 = !led2;
Googlesomething 0:f4b73d13d381 108 }
Googlesomething 0:f4b73d13d381 109 wait(0.2);
Googlesomething 0:f4b73d13d381 110 }
Googlesomething 0:f4b73d13d381 111 }