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