Muneer Abdella
/
MbedDrinkMixer
Code to run drink mixer using Windows GUI.
main.cpp@0:2f094535a070, 2018-12-03 (annotated)
- Committer:
- mabdella3
- Date:
- Mon Dec 03 16:09:04 2018 +0000
- Revision:
- 0:2f094535a070
Manual only with timing;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mabdella3 | 0:2f094535a070 | 1 | #include "mbed.h" |
mabdella3 | 0:2f094535a070 | 2 | #include "PinDetect.h" |
mabdella3 | 0:2f094535a070 | 3 | |
mabdella3 | 0:2f094535a070 | 4 | DigitalOut sprite(p17); |
mabdella3 | 0:2f094535a070 | 5 | DigitalOut vodka(p15); |
mabdella3 | 0:2f094535a070 | 6 | DigitalOut rum(p28); |
mabdella3 | 0:2f094535a070 | 7 | DigitalOut coke(p29); |
mabdella3 | 0:2f094535a070 | 8 | PinDetect VSbutton(p7); |
mabdella3 | 0:2f094535a070 | 9 | PinDetect RCbutton(p5); |
mabdella3 | 0:2f094535a070 | 10 | |
mabdella3 | 0:2f094535a070 | 11 | Serial pc(USBTX,USBRX); |
mabdella3 | 0:2f094535a070 | 12 | |
mabdella3 | 0:2f094535a070 | 13 | int alcTime = 2.5; |
mabdella3 | 0:2f094535a070 | 14 | |
mabdella3 | 0:2f094535a070 | 15 | void VSbutton_hit_callback (void) |
mabdella3 | 0:2f094535a070 | 16 | { |
mabdella3 | 0:2f094535a070 | 17 | if (VSbutton == 0 && alcTime!= 0) |
mabdella3 | 0:2f094535a070 | 18 | {vodka = 0; |
mabdella3 | 0:2f094535a070 | 19 | wait(alcTime); |
mabdella3 | 0:2f094535a070 | 20 | vodka = 1;} |
mabdella3 | 0:2f094535a070 | 21 | while(VSbutton == 0) |
mabdella3 | 0:2f094535a070 | 22 | { |
mabdella3 | 0:2f094535a070 | 23 | sprite = 0; |
mabdella3 | 0:2f094535a070 | 24 | } |
mabdella3 | 0:2f094535a070 | 25 | sprite = 1; |
mabdella3 | 0:2f094535a070 | 26 | } |
mabdella3 | 0:2f094535a070 | 27 | |
mabdella3 | 0:2f094535a070 | 28 | void RCbutton_hit_callback (void) |
mabdella3 | 0:2f094535a070 | 29 | { |
mabdella3 | 0:2f094535a070 | 30 | if (RCbutton == 0 && alcTime!= 0) |
mabdella3 | 0:2f094535a070 | 31 | {rum = 0; |
mabdella3 | 0:2f094535a070 | 32 | wait(alcTime); |
mabdella3 | 0:2f094535a070 | 33 | rum = 1;} |
mabdella3 | 0:2f094535a070 | 34 | while(RCbutton == 0) |
mabdella3 | 0:2f094535a070 | 35 | { |
mabdella3 | 0:2f094535a070 | 36 | coke = 0; |
mabdella3 | 0:2f094535a070 | 37 | } |
mabdella3 | 0:2f094535a070 | 38 | coke = 1; |
mabdella3 | 0:2f094535a070 | 39 | } |
mabdella3 | 0:2f094535a070 | 40 | |
mabdella3 | 0:2f094535a070 | 41 | int main() { |
mabdella3 | 0:2f094535a070 | 42 | sprite = 1; |
mabdella3 | 0:2f094535a070 | 43 | vodka = 1; |
mabdella3 | 0:2f094535a070 | 44 | rum = 1; |
mabdella3 | 0:2f094535a070 | 45 | coke = 1; |
mabdella3 | 0:2f094535a070 | 46 | VSbutton.mode(PullUp); |
mabdella3 | 0:2f094535a070 | 47 | RCbutton.mode(PullUp); |
mabdella3 | 0:2f094535a070 | 48 | wait(0.1); |
mabdella3 | 0:2f094535a070 | 49 | VSbutton.attach_deasserted(&VSbutton_hit_callback); |
mabdella3 | 0:2f094535a070 | 50 | RCbutton.attach_deasserted(&RCbutton_hit_callback); |
mabdella3 | 0:2f094535a070 | 51 | VSbutton.setSampleFrequency(); |
mabdella3 | 0:2f094535a070 | 52 | RCbutton.setSampleFrequency(); |
mabdella3 | 0:2f094535a070 | 53 | |
mabdella3 | 0:2f094535a070 | 54 | while(1) |
mabdella3 | 0:2f094535a070 | 55 | { |
mabdella3 | 0:2f094535a070 | 56 | int choice = pc.getc(); |
mabdella3 | 0:2f094535a070 | 57 | if(choice == 49) |
mabdella3 | 0:2f094535a070 | 58 | alcTime = 0; |
mabdella3 | 0:2f094535a070 | 59 | if(choice == 50) |
mabdella3 | 0:2f094535a070 | 60 | alcTime = 1.5; |
mabdella3 | 0:2f094535a070 | 61 | if(choice == 51) |
mabdella3 | 0:2f094535a070 | 62 | alcTime = 2.5; |
mabdella3 | 0:2f094535a070 | 63 | if (choice == 52) |
mabdella3 | 0:2f094535a070 | 64 | alcTime = 3.5; |
mabdella3 | 0:2f094535a070 | 65 | |
mabdella3 | 0:2f094535a070 | 66 | }; |
mabdella3 | 0:2f094535a070 | 67 | } |