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