PRO2_Team 1_collected code with ticker_not working yet
Fork of PRO2_samlet_kode by
data_out.cpp@5:b366110c0d59, 2017-05-24 (annotated)
- Committer:
- OlgaHoeyer
- Date:
- Wed May 24 09:34:54 2017 +0000
- Revision:
- 5:b366110c0d59
- Parent:
- 1:135bd458e39e
included settings og logging, rettet tickers syntax, not working yet.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
OlgaHoeyer | 1:135bd458e39e | 1 | /* |
OlgaHoeyer | 1:135bd458e39e | 2 | ================================================================================ |
OlgaHoeyer | 1:135bd458e39e | 3 | == == == |
OlgaHoeyer | 1:135bd458e39e | 4 | == Source File: == main.cpp == |
OlgaHoeyer | 1:135bd458e39e | 5 | == Author: == Poul Erik Tjørnfelt == |
OlgaHoeyer | 1:135bd458e39e | 6 | == Date: == 07/05-2017 == |
OlgaHoeyer | 1:135bd458e39e | 7 | == Copyright: == Open to all == |
OlgaHoeyer | 1:135bd458e39e | 8 | == Version: == 0.6 - Creation of file. == |
OlgaHoeyer | 1:135bd458e39e | 9 | == == 0.7 - Added a 5th choice for colour. Red_Blink. == |
OlgaHoeyer | 1:135bd458e39e | 10 | == == == |
OlgaHoeyer | 1:135bd458e39e | 11 | == Description: == A program (for a school project) that needs to collect == |
OlgaHoeyer | 1:135bd458e39e | 12 | == == data from sensors, and show an output to 3 seven-segmented== |
OlgaHoeyer | 1:135bd458e39e | 13 | == == displays and to a RGB-LED. == |
OlgaHoeyer | 1:135bd458e39e | 14 | == == == |
OlgaHoeyer | 1:135bd458e39e | 15 | ================================================================================ |
OlgaHoeyer | 1:135bd458e39e | 16 | */ |
OlgaHoeyer | 1:135bd458e39e | 17 | |
OlgaHoeyer | 1:135bd458e39e | 18 | #include "mbed.h" |
OlgaHoeyer | 1:135bd458e39e | 19 | #include "rgb_led.h" |
OlgaHoeyer | 1:135bd458e39e | 20 | #include "7_segment_control.h" |
OlgaHoeyer | 1:135bd458e39e | 21 | #include "data_out.h" |
OlgaHoeyer | 1:135bd458e39e | 22 | |
OlgaHoeyer | 1:135bd458e39e | 23 | void rgb_outp(int status) |
OlgaHoeyer | 1:135bd458e39e | 24 | { |
OlgaHoeyer | 1:135bd458e39e | 25 | RGB_LED lamp(PC_8,PC_6,PB_9); // Creates an object out of the class RGB_LED. |
OlgaHoeyer | 1:135bd458e39e | 26 | // Connect pins on the Nucleo, to the pins the |
OlgaHoeyer | 1:135bd458e39e | 27 | // class. |
OlgaHoeyer | 1:135bd458e39e | 28 | // Following is a object of the class segment_7. It is the actual analogy |
OlgaHoeyer | 1:135bd458e39e | 29 | // to our 7 segmented displays. There needs to go 11 pins into the parenteses. |
OlgaHoeyer | 1:135bd458e39e | 30 | //segment_7 seg_num(11 pins); |
OlgaHoeyer | 1:135bd458e39e | 31 | |
OlgaHoeyer | 1:135bd458e39e | 32 | enum colour { // Enumeration is used only for making the program more |
OlgaHoeyer | 1:135bd458e39e | 33 | // easily readable. |
OlgaHoeyer | 1:135bd458e39e | 34 | green, // Is alike an int, starts at green = 1, |
OlgaHoeyer | 1:135bd458e39e | 35 | orange, // orange = 2 etc. |
OlgaHoeyer | 1:135bd458e39e | 36 | red, |
OlgaHoeyer | 1:135bd458e39e | 37 | red_blink, |
OlgaHoeyer | 1:135bd458e39e | 38 | blue |
OlgaHoeyer | 1:135bd458e39e | 39 | }; |
OlgaHoeyer | 1:135bd458e39e | 40 | |
OlgaHoeyer | 1:135bd458e39e | 41 | colour RGB_out = static_cast<colour>(status); |
OlgaHoeyer | 1:135bd458e39e | 42 | // Taking the value from the sensors and change them the enum type. |
OlgaHoeyer | 1:135bd458e39e | 43 | // Enum is somewhat akin to an int already, but RGB_out != status.. |
OlgaHoeyer | 1:135bd458e39e | 44 | |
OlgaHoeyer | 1:135bd458e39e | 45 | switch(RGB_out) { |
OlgaHoeyer | 1:135bd458e39e | 46 | case green: |
OlgaHoeyer | 1:135bd458e39e | 47 | lamp.set(0.0f, 1.0f, 0.0f); |
OlgaHoeyer | 1:135bd458e39e | 48 | lamp.flash(1.0f, 1.0f); // On constantly. |
OlgaHoeyer | 1:135bd458e39e | 49 | break; |
OlgaHoeyer | 1:135bd458e39e | 50 | case orange: |
OlgaHoeyer | 1:135bd458e39e | 51 | lamp.set(1.0f, 0.6f, 0.0f); |
OlgaHoeyer | 1:135bd458e39e | 52 | lamp.flash(1.0f, 1.0f); // On constantly. |
OlgaHoeyer | 1:135bd458e39e | 53 | break; |
OlgaHoeyer | 1:135bd458e39e | 54 | case red: |
OlgaHoeyer | 1:135bd458e39e | 55 | lamp.set(1.0f, 0.0f, 0.0f); |
OlgaHoeyer | 1:135bd458e39e | 56 | lamp.flash(1.0f, 1.0f); // On constantly. |
OlgaHoeyer | 1:135bd458e39e | 57 | break; |
OlgaHoeyer | 1:135bd458e39e | 58 | case red_blink: |
OlgaHoeyer | 1:135bd458e39e | 59 | lamp.set(1.0f, 0.0f, 0.0f); |
OlgaHoeyer | 1:135bd458e39e | 60 | lamp.flash(2.0f, 0.5f); // On for 50% of every 2 seconds. |
OlgaHoeyer | 1:135bd458e39e | 61 | break; |
OlgaHoeyer | 1:135bd458e39e | 62 | case blue: |
OlgaHoeyer | 1:135bd458e39e | 63 | lamp.set(0.0f, 0.0f, 1.0f); |
OlgaHoeyer | 1:135bd458e39e | 64 | lamp.flash(2.0f, 0.5f); // On for 50% of every 2 seconds. |
OlgaHoeyer | 1:135bd458e39e | 65 | break; |
OlgaHoeyer | 1:135bd458e39e | 66 | default: // Error has occured, blue. Could just have defaulted instead |
OlgaHoeyer | 1:135bd458e39e | 67 | lamp.set(0.0f, 0.0f, 1.0f); // of case blue, however I think |
OlgaHoeyer | 1:135bd458e39e | 68 | lamp.flash(2.0f, 0.5f); // this is more understandable. |
OlgaHoeyer | 1:135bd458e39e | 69 | } |
OlgaHoeyer | 1:135bd458e39e | 70 | |
OlgaHoeyer | 1:135bd458e39e | 71 | return; |
OlgaHoeyer | 1:135bd458e39e | 72 | } |