First Last
/
Minor_Assignment3_4
Assignment 3 and 4. Both in commits.
main.cpp@1:958fbf7ad850, 2015-09-02 (annotated)
- Committer:
- vsluiter
- Date:
- Wed Sep 02 12:57:47 2015 +0000
- Revision:
- 1:958fbf7ad850
- Parent:
- 0:86aaef96170e
- Child:
- 2:ae67659d1fca
Assignment 4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vsluiter | 0:86aaef96170e | 1 | #include "mbed.h" |
vsluiter | 0:86aaef96170e | 2 | #include "MODSERIAL.h" |
vsluiter | 0:86aaef96170e | 3 | |
vsluiter | 1:958fbf7ad850 | 4 | DigitalOut r_led(LED_RED); |
vsluiter | 1:958fbf7ad850 | 5 | DigitalOut g_led(LED_GREEN); |
vsluiter | 1:958fbf7ad850 | 6 | DigitalOut b_led(LED_BLUE); |
vsluiter | 1:958fbf7ad850 | 7 | |
vsluiter | 0:86aaef96170e | 8 | DigitalIn button(PTA4); |
vsluiter | 0:86aaef96170e | 9 | MODSERIAL pc(USBTX, USBRX); |
vsluiter | 0:86aaef96170e | 10 | |
vsluiter | 0:86aaef96170e | 11 | const int baudrate = 115200; |
vsluiter | 1:958fbf7ad850 | 12 | //const int ms_wait = 100; |
vsluiter | 0:86aaef96170e | 13 | |
vsluiter | 1:958fbf7ad850 | 14 | const float period_led = 0.2; |
vsluiter | 0:86aaef96170e | 15 | |
vsluiter | 0:86aaef96170e | 16 | const int led_on = 0; |
vsluiter | 0:86aaef96170e | 17 | const int led_off = 1; |
vsluiter | 0:86aaef96170e | 18 | |
vsluiter | 0:86aaef96170e | 19 | |
vsluiter | 1:958fbf7ad850 | 20 | bool blink_red = false; |
vsluiter | 1:958fbf7ad850 | 21 | bool blink_green = false; |
vsluiter | 1:958fbf7ad850 | 22 | bool blink_blue = false; |
vsluiter | 0:86aaef96170e | 23 | |
vsluiter | 1:958fbf7ad850 | 24 | void flip1led(DigitalOut& led) |
vsluiter | 0:86aaef96170e | 25 | { |
vsluiter | 1:958fbf7ad850 | 26 | led = !led; |
vsluiter | 1:958fbf7ad850 | 27 | } |
vsluiter | 1:958fbf7ad850 | 28 | |
vsluiter | 1:958fbf7ad850 | 29 | void blink3Leds() |
vsluiter | 1:958fbf7ad850 | 30 | { |
vsluiter | 1:958fbf7ad850 | 31 | if(blink_red) |
vsluiter | 1:958fbf7ad850 | 32 | flip1led(r_led); |
vsluiter | 1:958fbf7ad850 | 33 | if(blink_green) |
vsluiter | 1:958fbf7ad850 | 34 | flip1led(g_led); |
vsluiter | 1:958fbf7ad850 | 35 | if(blink_blue) |
vsluiter | 1:958fbf7ad850 | 36 | flip1led(b_led); |
vsluiter | 0:86aaef96170e | 37 | } |
vsluiter | 0:86aaef96170e | 38 | |
vsluiter | 0:86aaef96170e | 39 | int main() |
vsluiter | 0:86aaef96170e | 40 | { |
vsluiter | 1:958fbf7ad850 | 41 | Ticker ledtick; |
vsluiter | 1:958fbf7ad850 | 42 | ledtick.attach(blink3Leds, period_led/2); |
vsluiter | 1:958fbf7ad850 | 43 | |
vsluiter | 1:958fbf7ad850 | 44 | r_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 45 | g_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 46 | b_led.write(led_off); |
vsluiter | 0:86aaef96170e | 47 | pc.baud(baudrate); |
vsluiter | 0:86aaef96170e | 48 | pc.printf("Hello World!\n"); |
vsluiter | 0:86aaef96170e | 49 | |
vsluiter | 0:86aaef96170e | 50 | while (true) { |
vsluiter | 0:86aaef96170e | 51 | if(pc.readable()) //if character available. If expresseion is non-zero, it's true |
vsluiter | 0:86aaef96170e | 52 | { |
vsluiter | 1:958fbf7ad850 | 53 | switch(pc.getc()) //read a character |
vsluiter | 1:958fbf7ad850 | 54 | { |
vsluiter | 1:958fbf7ad850 | 55 | case 'r': |
vsluiter | 1:958fbf7ad850 | 56 | blink_red = true; |
vsluiter | 1:958fbf7ad850 | 57 | blink_green = false; |
vsluiter | 1:958fbf7ad850 | 58 | blink_blue = false; |
vsluiter | 1:958fbf7ad850 | 59 | g_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 60 | b_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 61 | break; |
vsluiter | 1:958fbf7ad850 | 62 | case 'g': |
vsluiter | 1:958fbf7ad850 | 63 | blink_red = false; |
vsluiter | 1:958fbf7ad850 | 64 | blink_green = true; |
vsluiter | 1:958fbf7ad850 | 65 | blink_blue = false; |
vsluiter | 1:958fbf7ad850 | 66 | r_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 67 | b_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 68 | break; |
vsluiter | 1:958fbf7ad850 | 69 | case 'b': |
vsluiter | 1:958fbf7ad850 | 70 | blink_red = false; |
vsluiter | 1:958fbf7ad850 | 71 | blink_green = false; |
vsluiter | 1:958fbf7ad850 | 72 | blink_blue = true; |
vsluiter | 1:958fbf7ad850 | 73 | g_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 74 | r_led.write(led_off); |
vsluiter | 1:958fbf7ad850 | 75 | break; |
vsluiter | 1:958fbf7ad850 | 76 | default: |
vsluiter | 1:958fbf7ad850 | 77 | pc.printf("only r g b allowed.\n"); |
vsluiter | 1:958fbf7ad850 | 78 | } |
vsluiter | 0:86aaef96170e | 79 | } |
vsluiter | 0:86aaef96170e | 80 | } |
vsluiter | 0:86aaef96170e | 81 | } |