PRO2_Team 1_collected code with ticker and headers_not working yet

Dependencies:   SHTx mbed

Fork of PRO2_samlet_kode by Olga Høyer

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?

UserRevisionLine numberNew 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 }