PRO2_Team 1_collected code with ticker_not working yet

Dependencies:   SHTx mbed

Fork of PRO2_samlet_kode by Software hold - Team 1 - PRO2 2017

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?

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