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:
Thu May 11 11:40:27 2017 +0000
Revision:
0:21e9cc38dd31
EDE PRO2 Team 1: "Awareness and Energioptimering. Udluftnings infoinator". Summary of the code.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
OlgaHoeyer 0:21e9cc38dd31 1 /*
OlgaHoeyer 0:21e9cc38dd31 2 ================================================================================
OlgaHoeyer 0:21e9cc38dd31 3 == == ==
OlgaHoeyer 0:21e9cc38dd31 4 == Source File: == main.cpp ==
OlgaHoeyer 0:21e9cc38dd31 5 == File Name: == 7_segment_control.cpp ==
OlgaHoeyer 0:21e9cc38dd31 6 == Author: == Poul Erik Tjørnfelt ==
OlgaHoeyer 0:21e9cc38dd31 7 == Date: == 07/05-2017 ==
OlgaHoeyer 0:21e9cc38dd31 8 == Copyright: == Open to all ==
OlgaHoeyer 0:21e9cc38dd31 9 == Version: == 0.6 - Creation of file. ==
OlgaHoeyer 0:21e9cc38dd31 10 == == ==
OlgaHoeyer 0:21e9cc38dd31 11 == Description: == The .cpp file for a class, that creates instances of ==
OlgaHoeyer 0:21e9cc38dd31 12 == == the setup of 3 seven-segmented displays that is used in ==
OlgaHoeyer 0:21e9cc38dd31 13 == == project. ==
OlgaHoeyer 0:21e9cc38dd31 14 == == ==
OlgaHoeyer 0:21e9cc38dd31 15 ================================================================================
OlgaHoeyer 0:21e9cc38dd31 16 */
OlgaHoeyer 0:21e9cc38dd31 17
OlgaHoeyer 0:21e9cc38dd31 18 #include "mbed.h"
OlgaHoeyer 0:21e9cc38dd31 19 #include "7_segment_control.h"
OlgaHoeyer 0:21e9cc38dd31 20
OlgaHoeyer 0:21e9cc38dd31 21 segment_7::segment_7(PinName seg_A, PinName seg_B, PinName seg_C, PinName seg_D,
OlgaHoeyer 0:21e9cc38dd31 22 PinName seg_E, PinName seg_F, PinName seg_G, PinName DP,
OlgaHoeyer 0:21e9cc38dd31 23 PinName dig_1, PinName dig_2, PinName dig_3)
OlgaHoeyer 0:21e9cc38dd31 24 :Seg_A(seg_A), Seg_B(seg_B), Seg_C(seg_C), Seg_D(seg_D), Seg_E(seg_E),
OlgaHoeyer 0:21e9cc38dd31 25 Seg_F(seg_F), Seg_G(seg_G), _DP(DP), Dig_1(dig_1), Dig_2(dig_2),
OlgaHoeyer 0:21e9cc38dd31 26 Dig_3(dig_3)
OlgaHoeyer 0:21e9cc38dd31 27 /*
OlgaHoeyer 0:21e9cc38dd31 28 At line 7 starts the constructor. It creates instances in the memory,
OlgaHoeyer 0:21e9cc38dd31 29 that gets tied to the physical pins of the class. That is, it creates a
OlgaHoeyer 0:21e9cc38dd31 30 software representation of the pin.
OlgaHoeyer 0:21e9cc38dd31 31 */
OlgaHoeyer 0:21e9cc38dd31 32 {
OlgaHoeyer 0:21e9cc38dd31 33
OlgaHoeyer 0:21e9cc38dd31 34 }
OlgaHoeyer 0:21e9cc38dd31 35
OlgaHoeyer 0:21e9cc38dd31 36 void segment_7::show(int number, int dig)
OlgaHoeyer 0:21e9cc38dd31 37 {
OlgaHoeyer 0:21e9cc38dd31 38 switch(dig) // First switch is for switching the transistor for the
OlgaHoeyer 0:21e9cc38dd31 39 { // actual digit on.
OlgaHoeyer 0:21e9cc38dd31 40 case 1:
OlgaHoeyer 0:21e9cc38dd31 41 Dig_1 = 1;
OlgaHoeyer 0:21e9cc38dd31 42 Dig_2 = 0;
OlgaHoeyer 0:21e9cc38dd31 43 Dig_3 = 0;
OlgaHoeyer 0:21e9cc38dd31 44 switch(number) // Second switch is for opening the output pin
OlgaHoeyer 0:21e9cc38dd31 45 { // for the segments on the actual display to
OlgaHoeyer 0:21e9cc38dd31 46 // showcase a number due to the right combination.
OlgaHoeyer 0:21e9cc38dd31 47 case 0: // 0 is used for 'L' for low.
OlgaHoeyer 0:21e9cc38dd31 48 Seg_A = 0;
OlgaHoeyer 0:21e9cc38dd31 49 Seg_B = 0;
OlgaHoeyer 0:21e9cc38dd31 50 Seg_C = 0;
OlgaHoeyer 0:21e9cc38dd31 51 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 52 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 53 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 54 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 55 break;
OlgaHoeyer 0:21e9cc38dd31 56 case 1: // 1 is used for 'H' for high.
OlgaHoeyer 0:21e9cc38dd31 57 Seg_A = 0;
OlgaHoeyer 0:21e9cc38dd31 58 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 59 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 60 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 61 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 62 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 63 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 64 break;
OlgaHoeyer 0:21e9cc38dd31 65 default: // If the letter to be shown here is neither
OlgaHoeyer 0:21e9cc38dd31 66 Dig_1 = 0; // 'H' nor 'L', then we just turn off the
OlgaHoeyer 0:21e9cc38dd31 67 Dig_2 = 0; // display to prevent odd numbers from being
OlgaHoeyer 0:21e9cc38dd31 68 Dig_3 = 0; // shown at all.
OlgaHoeyer 0:21e9cc38dd31 69 }
OlgaHoeyer 0:21e9cc38dd31 70 break; // This break does not tie to the default case. It instead
OlgaHoeyer 0:21e9cc38dd31 71 case 2: // ends the first level case 1.
OlgaHoeyer 0:21e9cc38dd31 72 Dig_1 = 0;
OlgaHoeyer 0:21e9cc38dd31 73 Dig_2 = 1;
OlgaHoeyer 0:21e9cc38dd31 74 Dig_3 = 0;
OlgaHoeyer 0:21e9cc38dd31 75 switch(number)
OlgaHoeyer 0:21e9cc38dd31 76 {
OlgaHoeyer 0:21e9cc38dd31 77 case 0:
OlgaHoeyer 0:21e9cc38dd31 78 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 79 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 80 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 81 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 82 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 83 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 84 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 85 break;
OlgaHoeyer 0:21e9cc38dd31 86 case 1:
OlgaHoeyer 0:21e9cc38dd31 87 Seg_A = 0;
OlgaHoeyer 0:21e9cc38dd31 88 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 89 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 90 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 91 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 92 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 93 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 94 break;
OlgaHoeyer 0:21e9cc38dd31 95 case 2:
OlgaHoeyer 0:21e9cc38dd31 96 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 97 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 98 Seg_C = 0;
OlgaHoeyer 0:21e9cc38dd31 99 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 100 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 101 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 102 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 103 break;
OlgaHoeyer 0:21e9cc38dd31 104 case 3:
OlgaHoeyer 0:21e9cc38dd31 105 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 106 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 107 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 108 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 109 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 110 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 111 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 112 break;
OlgaHoeyer 0:21e9cc38dd31 113 case 4:
OlgaHoeyer 0:21e9cc38dd31 114 Seg_A = 0;
OlgaHoeyer 0:21e9cc38dd31 115 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 116 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 117 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 118 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 119 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 120 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 121 break;
OlgaHoeyer 0:21e9cc38dd31 122 case 5:
OlgaHoeyer 0:21e9cc38dd31 123 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 124 Seg_B = 0;
OlgaHoeyer 0:21e9cc38dd31 125 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 126 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 127 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 128 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 129 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 130 break;
OlgaHoeyer 0:21e9cc38dd31 131 case 6:
OlgaHoeyer 0:21e9cc38dd31 132 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 133 Seg_B = 0;
OlgaHoeyer 0:21e9cc38dd31 134 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 135 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 136 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 137 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 138 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 139 break;
OlgaHoeyer 0:21e9cc38dd31 140 case 7:
OlgaHoeyer 0:21e9cc38dd31 141 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 142 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 143 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 144 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 145 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 146 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 147 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 148 break;
OlgaHoeyer 0:21e9cc38dd31 149 case 8:
OlgaHoeyer 0:21e9cc38dd31 150 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 151 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 152 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 153 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 154 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 155 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 156 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 157 break;
OlgaHoeyer 0:21e9cc38dd31 158 case 9:
OlgaHoeyer 0:21e9cc38dd31 159 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 160 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 161 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 162 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 163 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 164 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 165 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 166 break;
OlgaHoeyer 0:21e9cc38dd31 167 default: // Erroneous data. So we turn off all the
OlgaHoeyer 0:21e9cc38dd31 168 Dig_1 = 0; // displays.
OlgaHoeyer 0:21e9cc38dd31 169 Dig_2 = 0;
OlgaHoeyer 0:21e9cc38dd31 170 Dig_3 = 0;
OlgaHoeyer 0:21e9cc38dd31 171 }
OlgaHoeyer 0:21e9cc38dd31 172 break;
OlgaHoeyer 0:21e9cc38dd31 173 case 3:
OlgaHoeyer 0:21e9cc38dd31 174 Dig_1 = 0;
OlgaHoeyer 0:21e9cc38dd31 175 Dig_2 = 0;
OlgaHoeyer 0:21e9cc38dd31 176 Dig_3 = 1;
OlgaHoeyer 0:21e9cc38dd31 177 switch(number)
OlgaHoeyer 0:21e9cc38dd31 178 {
OlgaHoeyer 0:21e9cc38dd31 179 case 0:
OlgaHoeyer 0:21e9cc38dd31 180 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 181 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 182 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 183 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 184 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 185 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 186 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 187 break;
OlgaHoeyer 0:21e9cc38dd31 188 case 1:
OlgaHoeyer 0:21e9cc38dd31 189 Seg_A = 0;
OlgaHoeyer 0:21e9cc38dd31 190 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 191 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 192 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 193 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 194 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 195 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 196 break;
OlgaHoeyer 0:21e9cc38dd31 197 case 2:
OlgaHoeyer 0:21e9cc38dd31 198 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 199 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 200 Seg_C = 0;
OlgaHoeyer 0:21e9cc38dd31 201 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 202 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 203 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 204 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 205 break;
OlgaHoeyer 0:21e9cc38dd31 206 case 3:
OlgaHoeyer 0:21e9cc38dd31 207 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 208 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 209 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 210 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 211 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 212 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 213 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 214 break;
OlgaHoeyer 0:21e9cc38dd31 215 case 4:
OlgaHoeyer 0:21e9cc38dd31 216 Seg_A = 0;
OlgaHoeyer 0:21e9cc38dd31 217 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 218 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 219 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 220 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 221 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 222 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 223 break;
OlgaHoeyer 0:21e9cc38dd31 224 case 5:
OlgaHoeyer 0:21e9cc38dd31 225 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 226 Seg_B = 0;
OlgaHoeyer 0:21e9cc38dd31 227 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 228 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 229 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 230 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 231 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 232 break;
OlgaHoeyer 0:21e9cc38dd31 233 case 6:
OlgaHoeyer 0:21e9cc38dd31 234 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 235 Seg_B = 0;
OlgaHoeyer 0:21e9cc38dd31 236 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 237 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 238 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 239 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 240 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 241 break;
OlgaHoeyer 0:21e9cc38dd31 242 case 7:
OlgaHoeyer 0:21e9cc38dd31 243 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 244 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 245 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 246 Seg_D = 0;
OlgaHoeyer 0:21e9cc38dd31 247 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 248 Seg_F = 0;
OlgaHoeyer 0:21e9cc38dd31 249 Seg_G = 0;
OlgaHoeyer 0:21e9cc38dd31 250 break;
OlgaHoeyer 0:21e9cc38dd31 251 case 8:
OlgaHoeyer 0:21e9cc38dd31 252 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 253 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 254 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 255 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 256 Seg_E = 1;
OlgaHoeyer 0:21e9cc38dd31 257 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 258 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 259 break;
OlgaHoeyer 0:21e9cc38dd31 260 case 9:
OlgaHoeyer 0:21e9cc38dd31 261 Seg_A = 1;
OlgaHoeyer 0:21e9cc38dd31 262 Seg_B = 1;
OlgaHoeyer 0:21e9cc38dd31 263 Seg_C = 1;
OlgaHoeyer 0:21e9cc38dd31 264 Seg_D = 1;
OlgaHoeyer 0:21e9cc38dd31 265 Seg_E = 0;
OlgaHoeyer 0:21e9cc38dd31 266 Seg_F = 1;
OlgaHoeyer 0:21e9cc38dd31 267 Seg_G = 1;
OlgaHoeyer 0:21e9cc38dd31 268 break;
OlgaHoeyer 0:21e9cc38dd31 269 default: // Erroneous data. So we turn off all the
OlgaHoeyer 0:21e9cc38dd31 270 Dig_1 = 0; // displays.
OlgaHoeyer 0:21e9cc38dd31 271 Dig_2 = 0;
OlgaHoeyer 0:21e9cc38dd31 272 Dig_3 = 0;
OlgaHoeyer 0:21e9cc38dd31 273 }
OlgaHoeyer 0:21e9cc38dd31 274 break;
OlgaHoeyer 0:21e9cc38dd31 275 }
OlgaHoeyer 0:21e9cc38dd31 276 }