Brendon Ky / Mbed 2 deprecated cs_335_speedometer

Dependencies:   mbed mbed-rtos

Committer:
bky
Date:
Tue Dec 01 12:27:22 2020 +0000
Revision:
18:ef0569bea7e9
Parent:
17:082d51603f20
Dobby is a free elf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bky 18:ef0569bea7e9 1 # include "mbed.h"
bky 18:ef0569bea7e9 2
bky 18:ef0569bea7e9 3 DigitalOut a(p24);
bky 18:ef0569bea7e9 4 DigitalOut b(p17);
bky 18:ef0569bea7e9 5 DigitalOut c(p16);
bky 18:ef0569bea7e9 6 DigitalOut d(p14);
bky 18:ef0569bea7e9 7 DigitalOut e(p15);
bky 18:ef0569bea7e9 8 DigitalOut f(p25);
bky 18:ef0569bea7e9 9 DigitalOut g(p22);
bky 18:ef0569bea7e9 10 DigitalOut dp(p23);
bky 18:ef0569bea7e9 11
bky 18:ef0569bea7e9 12 DigitalOut cat1(p21);
bky 18:ef0569bea7e9 13 DigitalOut cat2(p20);
manavkoolz 17:082d51603f20 14
manavkoolz 17:082d51603f20 15 DigitalOut cat[] = {cat1, cat2};
manavkoolz 17:082d51603f20 16 DigitalOut display[] = {a, b, c, d, e, f, g};
manavkoolz 17:082d51603f20 17
manavkoolz 17:082d51603f20 18 const int digits[10][7] = {
manavkoolz 17:082d51603f20 19 {1, 1, 1, 1, 1, 1, 0},
manavkoolz 17:082d51603f20 20 {0, 1, 1, 0, 0, 0, 0},
manavkoolz 17:082d51603f20 21 {1, 1, 0, 1, 1, 0, 1},
manavkoolz 17:082d51603f20 22 {1, 1, 1, 1, 0, 0, 1},
manavkoolz 17:082d51603f20 23 {0, 1, 1, 0, 0, 1, 1},
manavkoolz 17:082d51603f20 24 {1, 0, 1, 1, 0, 1, 1},
manavkoolz 17:082d51603f20 25 {1, 0, 1, 1, 1, 1, 1},
manavkoolz 17:082d51603f20 26 {1, 1, 1, 0, 0, 0, 0},
manavkoolz 17:082d51603f20 27 {1, 1, 1, 1, 1, 1, 1},
manavkoolz 17:082d51603f20 28 {1, 1, 1, 1, 0, 1, 1}
manavkoolz 17:082d51603f20 29 };
manavkoolz 17:082d51603f20 30
manavkoolz 17:082d51603f20 31 void display_num(float num) {
manavkoolz 17:082d51603f20 32 int dpi = 1;
manavkoolz 17:082d51603f20 33 int numi = (int)(num);
manavkoolz 17:082d51603f20 34
manavkoolz 17:082d51603f20 35 if (((int)num)/10 == 0) {
manavkoolz 17:082d51603f20 36 dpi = 0;
manavkoolz 17:082d51603f20 37 numi = (int)(num*10);
manavkoolz 17:082d51603f20 38 }
manavkoolz 17:082d51603f20 39
manavkoolz 17:082d51603f20 40 int disp_digits[] = {numi/10, numi%10};
manavkoolz 17:082d51603f20 41
bky 18:ef0569bea7e9 42 for (int d=0; d<2; d++) {
bky 18:ef0569bea7e9 43 cat[d] = 1;
bky 18:ef0569bea7e9 44 cat[(d+1)%2] = 0;
bky 18:ef0569bea7e9 45 for (int seg=0; seg<7; seg++) {
bky 18:ef0569bea7e9 46 display[seg] = digits[disp_digits[d]][seg];
manavkoolz 17:082d51603f20 47 }
bky 18:ef0569bea7e9 48 for (int seg=0; seg<7; seg++) {
bky 18:ef0569bea7e9 49 display[seg] = 0;
bky 18:ef0569bea7e9 50 }
bky 18:ef0569bea7e9 51 if (d == dpi) {
bky 18:ef0569bea7e9 52 dp = 1;
bky 18:ef0569bea7e9 53 dp = 0;
bky 18:ef0569bea7e9 54 }
bky 18:ef0569bea7e9 55 }
manavkoolz 17:082d51603f20 56 }