Joao Vieira
/
Dashboard
Dashboard for TLMOTO TLM02E, missing can network comms implementation
main.cpp@0:2b0515fe1854, 2017-03-02 (annotated)
- Committer:
- ser1516
- Date:
- Thu Mar 02 10:58:50 2017 +0000
- Revision:
- 0:2b0515fe1854
Dashboard for TLM02E, missing can network comms implementation;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ser1516 | 0:2b0515fe1854 | 1 | #include "mbed.h" |
ser1516 | 0:2b0515fe1854 | 2 | |
ser1516 | 0:2b0515fe1854 | 3 | DigitalOut USER_LED(PA_9); |
ser1516 | 0:2b0515fe1854 | 4 | |
ser1516 | 0:2b0515fe1854 | 5 | DigitalOut RTR_LED(PC_10); |
ser1516 | 0:2b0515fe1854 | 6 | |
ser1516 | 0:2b0515fe1854 | 7 | DigitalOut CELL_TEMP_LED(PA_15); |
ser1516 | 0:2b0515fe1854 | 8 | DigitalOut HVS_LED(PA_10); |
ser1516 | 0:2b0515fe1854 | 9 | |
ser1516 | 0:2b0515fe1854 | 10 | |
ser1516 | 0:2b0515fe1854 | 11 | |
ser1516 | 0:2b0515fe1854 | 12 | /* |
ser1516 | 0:2b0515fe1854 | 13 | __A__ |
ser1516 | 0:2b0515fe1854 | 14 | | | |
ser1516 | 0:2b0515fe1854 | 15 | F B |
ser1516 | 0:2b0515fe1854 | 16 | |__G__| |
ser1516 | 0:2b0515fe1854 | 17 | | | |
ser1516 | 0:2b0515fe1854 | 18 | E C |
ser1516 | 0:2b0515fe1854 | 19 | |__D__| .DP |
ser1516 | 0:2b0515fe1854 | 20 | |
ser1516 | 0:2b0515fe1854 | 21 | */ |
ser1516 | 0:2b0515fe1854 | 22 | DigitalOut segs_enable_1(PB_14); |
ser1516 | 0:2b0515fe1854 | 23 | DigitalOut segs_enable_2(PB_13); |
ser1516 | 0:2b0515fe1854 | 24 | DigitalOut segs_enable_3(PB_12); |
ser1516 | 0:2b0515fe1854 | 25 | DigitalOut A(PB_10); |
ser1516 | 0:2b0515fe1854 | 26 | DigitalOut B(PB_1); |
ser1516 | 0:2b0515fe1854 | 27 | DigitalOut C(PC_5); |
ser1516 | 0:2b0515fe1854 | 28 | DigitalOut D(PA_7); |
ser1516 | 0:2b0515fe1854 | 29 | DigitalOut E(PA_6); |
ser1516 | 0:2b0515fe1854 | 30 | DigitalOut F(PB_2); |
ser1516 | 0:2b0515fe1854 | 31 | DigitalOut G(PB_0); |
ser1516 | 0:2b0515fe1854 | 32 | DigitalOut DP(PC_4); |
ser1516 | 0:2b0515fe1854 | 33 | void seg_number(int number) |
ser1516 | 0:2b0515fe1854 | 34 | { |
ser1516 | 0:2b0515fe1854 | 35 | switch (number) { |
ser1516 | 0:2b0515fe1854 | 36 | case 0: |
ser1516 | 0:2b0515fe1854 | 37 | A = 0; |
ser1516 | 0:2b0515fe1854 | 38 | B = 0; |
ser1516 | 0:2b0515fe1854 | 39 | C= 0; |
ser1516 | 0:2b0515fe1854 | 40 | D=0; |
ser1516 | 0:2b0515fe1854 | 41 | E=0; |
ser1516 | 0:2b0515fe1854 | 42 | F=0; |
ser1516 | 0:2b0515fe1854 | 43 | G=1; |
ser1516 | 0:2b0515fe1854 | 44 | DP=1; |
ser1516 | 0:2b0515fe1854 | 45 | break; |
ser1516 | 0:2b0515fe1854 | 46 | case 1: |
ser1516 | 0:2b0515fe1854 | 47 | A=1; |
ser1516 | 0:2b0515fe1854 | 48 | B=0; |
ser1516 | 0:2b0515fe1854 | 49 | C=0; |
ser1516 | 0:2b0515fe1854 | 50 | D=1; |
ser1516 | 0:2b0515fe1854 | 51 | E=1; |
ser1516 | 0:2b0515fe1854 | 52 | F=1; |
ser1516 | 0:2b0515fe1854 | 53 | G=1; |
ser1516 | 0:2b0515fe1854 | 54 | DP=1; |
ser1516 | 0:2b0515fe1854 | 55 | break; |
ser1516 | 0:2b0515fe1854 | 56 | case 2: |
ser1516 | 0:2b0515fe1854 | 57 | A=0; |
ser1516 | 0:2b0515fe1854 | 58 | B=0; |
ser1516 | 0:2b0515fe1854 | 59 | C=1; |
ser1516 | 0:2b0515fe1854 | 60 | D=0; |
ser1516 | 0:2b0515fe1854 | 61 | E=0; |
ser1516 | 0:2b0515fe1854 | 62 | F=1; |
ser1516 | 0:2b0515fe1854 | 63 | G=0; |
ser1516 | 0:2b0515fe1854 | 64 | DP=1; |
ser1516 | 0:2b0515fe1854 | 65 | break; |
ser1516 | 0:2b0515fe1854 | 66 | case 3: |
ser1516 | 0:2b0515fe1854 | 67 | A=0; |
ser1516 | 0:2b0515fe1854 | 68 | B=0; |
ser1516 | 0:2b0515fe1854 | 69 | C=0; |
ser1516 | 0:2b0515fe1854 | 70 | D=0; |
ser1516 | 0:2b0515fe1854 | 71 | E=1; |
ser1516 | 0:2b0515fe1854 | 72 | F=1; |
ser1516 | 0:2b0515fe1854 | 73 | G=0; |
ser1516 | 0:2b0515fe1854 | 74 | DP=1; |
ser1516 | 0:2b0515fe1854 | 75 | break; |
ser1516 | 0:2b0515fe1854 | 76 | case 4: |
ser1516 | 0:2b0515fe1854 | 77 | A=1; |
ser1516 | 0:2b0515fe1854 | 78 | B=0; |
ser1516 | 0:2b0515fe1854 | 79 | C=0; |
ser1516 | 0:2b0515fe1854 | 80 | D=1; |
ser1516 | 0:2b0515fe1854 | 81 | E=1; |
ser1516 | 0:2b0515fe1854 | 82 | F=0; |
ser1516 | 0:2b0515fe1854 | 83 | G=0; |
ser1516 | 0:2b0515fe1854 | 84 | DP=1; |
ser1516 | 0:2b0515fe1854 | 85 | break; |
ser1516 | 0:2b0515fe1854 | 86 | case 5: |
ser1516 | 0:2b0515fe1854 | 87 | A=0; |
ser1516 | 0:2b0515fe1854 | 88 | B=1; |
ser1516 | 0:2b0515fe1854 | 89 | C=0; |
ser1516 | 0:2b0515fe1854 | 90 | D=0; |
ser1516 | 0:2b0515fe1854 | 91 | E=1; |
ser1516 | 0:2b0515fe1854 | 92 | F=0; |
ser1516 | 0:2b0515fe1854 | 93 | G=0; |
ser1516 | 0:2b0515fe1854 | 94 | DP=1; |
ser1516 | 0:2b0515fe1854 | 95 | break; |
ser1516 | 0:2b0515fe1854 | 96 | case 6: |
ser1516 | 0:2b0515fe1854 | 97 | A=0; |
ser1516 | 0:2b0515fe1854 | 98 | B=1; |
ser1516 | 0:2b0515fe1854 | 99 | C=0; |
ser1516 | 0:2b0515fe1854 | 100 | D=0; |
ser1516 | 0:2b0515fe1854 | 101 | E=0; |
ser1516 | 0:2b0515fe1854 | 102 | F=0; |
ser1516 | 0:2b0515fe1854 | 103 | G=0; |
ser1516 | 0:2b0515fe1854 | 104 | DP=1; |
ser1516 | 0:2b0515fe1854 | 105 | break; |
ser1516 | 0:2b0515fe1854 | 106 | case 7: |
ser1516 | 0:2b0515fe1854 | 107 | A=0; |
ser1516 | 0:2b0515fe1854 | 108 | B=0; |
ser1516 | 0:2b0515fe1854 | 109 | C=0; |
ser1516 | 0:2b0515fe1854 | 110 | D=1; |
ser1516 | 0:2b0515fe1854 | 111 | E=1; |
ser1516 | 0:2b0515fe1854 | 112 | F=1; |
ser1516 | 0:2b0515fe1854 | 113 | G=1; |
ser1516 | 0:2b0515fe1854 | 114 | DP=1; |
ser1516 | 0:2b0515fe1854 | 115 | break; |
ser1516 | 0:2b0515fe1854 | 116 | case 8: |
ser1516 | 0:2b0515fe1854 | 117 | A=0; |
ser1516 | 0:2b0515fe1854 | 118 | B=0; |
ser1516 | 0:2b0515fe1854 | 119 | C=0; |
ser1516 | 0:2b0515fe1854 | 120 | D=0; |
ser1516 | 0:2b0515fe1854 | 121 | E=0; |
ser1516 | 0:2b0515fe1854 | 122 | F=0; |
ser1516 | 0:2b0515fe1854 | 123 | G=0; |
ser1516 | 0:2b0515fe1854 | 124 | DP=1; |
ser1516 | 0:2b0515fe1854 | 125 | break; |
ser1516 | 0:2b0515fe1854 | 126 | case 9: |
ser1516 | 0:2b0515fe1854 | 127 | A=0; |
ser1516 | 0:2b0515fe1854 | 128 | B=0; |
ser1516 | 0:2b0515fe1854 | 129 | C=0; |
ser1516 | 0:2b0515fe1854 | 130 | D=1; |
ser1516 | 0:2b0515fe1854 | 131 | E=1; |
ser1516 | 0:2b0515fe1854 | 132 | F=0; |
ser1516 | 0:2b0515fe1854 | 133 | G=0; |
ser1516 | 0:2b0515fe1854 | 134 | DP=1; |
ser1516 | 0:2b0515fe1854 | 135 | break; |
ser1516 | 0:2b0515fe1854 | 136 | default: |
ser1516 | 0:2b0515fe1854 | 137 | A=1; |
ser1516 | 0:2b0515fe1854 | 138 | B=1; |
ser1516 | 0:2b0515fe1854 | 139 | C=1; |
ser1516 | 0:2b0515fe1854 | 140 | D=1; |
ser1516 | 0:2b0515fe1854 | 141 | E=1; |
ser1516 | 0:2b0515fe1854 | 142 | F=1; |
ser1516 | 0:2b0515fe1854 | 143 | G=1; |
ser1516 | 0:2b0515fe1854 | 144 | DP=1; |
ser1516 | 0:2b0515fe1854 | 145 | } |
ser1516 | 0:2b0515fe1854 | 146 | } |
ser1516 | 0:2b0515fe1854 | 147 | |
ser1516 | 0:2b0515fe1854 | 148 | Ticker printer; |
ser1516 | 0:2b0515fe1854 | 149 | char position=0; |
ser1516 | 0:2b0515fe1854 | 150 | float number = 0; |
ser1516 | 0:2b0515fe1854 | 151 | int hundreds=0; |
ser1516 | 0:2b0515fe1854 | 152 | int decs = 0; |
ser1516 | 0:2b0515fe1854 | 153 | int units = 0; |
ser1516 | 0:2b0515fe1854 | 154 | void print() |
ser1516 | 0:2b0515fe1854 | 155 | { |
ser1516 | 0:2b0515fe1854 | 156 | |
ser1516 | 0:2b0515fe1854 | 157 | switch (position) { |
ser1516 | 0:2b0515fe1854 | 158 | case 0: |
ser1516 | 0:2b0515fe1854 | 159 | segs_enable_1 = 0; |
ser1516 | 0:2b0515fe1854 | 160 | segs_enable_2=1; |
ser1516 | 0:2b0515fe1854 | 161 | segs_enable_3 = 1; |
ser1516 | 0:2b0515fe1854 | 162 | hundreds = number/100; |
ser1516 | 0:2b0515fe1854 | 163 | seg_number(hundreds); |
ser1516 | 0:2b0515fe1854 | 164 | position++; |
ser1516 | 0:2b0515fe1854 | 165 | break; |
ser1516 | 0:2b0515fe1854 | 166 | case 1: |
ser1516 | 0:2b0515fe1854 | 167 | segs_enable_1 = 1; |
ser1516 | 0:2b0515fe1854 | 168 | segs_enable_2 = 0; |
ser1516 | 0:2b0515fe1854 | 169 | segs_enable_3 = 1; |
ser1516 | 0:2b0515fe1854 | 170 | decs = number/10; |
ser1516 | 0:2b0515fe1854 | 171 | decs = decs%10; |
ser1516 | 0:2b0515fe1854 | 172 | seg_number(decs); |
ser1516 | 0:2b0515fe1854 | 173 | position++; |
ser1516 | 0:2b0515fe1854 | 174 | break; |
ser1516 | 0:2b0515fe1854 | 175 | case 2: |
ser1516 | 0:2b0515fe1854 | 176 | segs_enable_1 = 1; |
ser1516 | 0:2b0515fe1854 | 177 | segs_enable_2 = 1; |
ser1516 | 0:2b0515fe1854 | 178 | segs_enable_3 = 0; |
ser1516 | 0:2b0515fe1854 | 179 | units = (int)number%10; |
ser1516 | 0:2b0515fe1854 | 180 | seg_number(units); |
ser1516 | 0:2b0515fe1854 | 181 | position = 0; |
ser1516 | 0:2b0515fe1854 | 182 | break; |
ser1516 | 0:2b0515fe1854 | 183 | } |
ser1516 | 0:2b0515fe1854 | 184 | } |
ser1516 | 0:2b0515fe1854 | 185 | |
ser1516 | 0:2b0515fe1854 | 186 | |
ser1516 | 0:2b0515fe1854 | 187 | Ticker incrementer; |
ser1516 | 0:2b0515fe1854 | 188 | void inc() |
ser1516 | 0:2b0515fe1854 | 189 | { |
ser1516 | 0:2b0515fe1854 | 190 | number++; |
ser1516 | 0:2b0515fe1854 | 191 | USER_LED = !USER_LED; |
ser1516 | 0:2b0515fe1854 | 192 | |
ser1516 | 0:2b0515fe1854 | 193 | } |
ser1516 | 0:2b0515fe1854 | 194 | |
ser1516 | 0:2b0515fe1854 | 195 | int main() |
ser1516 | 0:2b0515fe1854 | 196 | { |
ser1516 | 0:2b0515fe1854 | 197 | USER_LED = 1;// LED is ON |
ser1516 | 0:2b0515fe1854 | 198 | RTR_LED = 0; |
ser1516 | 0:2b0515fe1854 | 199 | CELL_TEMP_LED = 0; |
ser1516 | 0:2b0515fe1854 | 200 | HVS_LED = 1; |
ser1516 | 0:2b0515fe1854 | 201 | printf("badjoras\r\n"); |
ser1516 | 0:2b0515fe1854 | 202 | incrementer.attach(&inc,1); |
ser1516 | 0:2b0515fe1854 | 203 | printer.attach(&print,0.01); |
ser1516 | 0:2b0515fe1854 | 204 | |
ser1516 | 0:2b0515fe1854 | 205 | |
ser1516 | 0:2b0515fe1854 | 206 | while(1) { |
ser1516 | 0:2b0515fe1854 | 207 | |
ser1516 | 0:2b0515fe1854 | 208 | |
ser1516 | 0:2b0515fe1854 | 209 | } |
ser1516 | 0:2b0515fe1854 | 210 | } |