hoge
Fork of SevenSegLed by
SevenSegLed.cpp@5:a7ba72bf10ba, 2013-11-30 (annotated)
- Committer:
- suupen
- Date:
- Sat Nov 30 23:59:26 2013 +0000
- Revision:
- 5:a7ba72bf10ba
- Parent:
- 4:33e035f6a337
- Child:
- 6:a1eb5de4146f
I Fixed a bug that was setting display method function of the display was missing.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
suupen | 0:5410d6e2bce7 | 1 | /********************************************************** |
suupen | 0:5410d6e2bce7 | 2 | |
suupen | 0:5410d6e2bce7 | 3 | * SevenSegLed.cpp |
suupen | 0:5410d6e2bce7 | 4 | * dynamic control of seven segment led |
suupen | 0:5410d6e2bce7 | 5 | * |
suupen | 0:5410d6e2bce7 | 6 | **********************************************************/ |
suupen | 0:5410d6e2bce7 | 7 | #define _SEVENSEGLED_C |
suupen | 0:5410d6e2bce7 | 8 | |
suupen | 0:5410d6e2bce7 | 9 | #include "types.h" |
suupen | 0:5410d6e2bce7 | 10 | #include "mbed.h" |
suupen | 0:5410d6e2bce7 | 11 | #include "SevenSegLed.h" |
suupen | 0:5410d6e2bce7 | 12 | |
suupen | 0:5410d6e2bce7 | 13 | |
suupen | 0:5410d6e2bce7 | 14 | |
suupen | 0:5410d6e2bce7 | 15 | |
suupen | 0:5410d6e2bce7 | 16 | /** Create a seven segment led object connected to the specified DigtalOutput pin |
suupen | 0:5410d6e2bce7 | 17 | */ |
suupen | 4:33e035f6a337 | 18 | #ifdef USECOM4 |
suupen | 4:33e035f6a337 | 19 | SevenSegLed::SevenSegLed(uint8_t commonPole, uint8_t smooth, PinName seg_a, PinName seg_b, PinName seg_c, PinName seg_d, PinName seg_e, PinName seg_f, PinName seg_g, PinName seg_p, |
suupen | 4:33e035f6a337 | 20 | PinName com_1, PinName com_2, PinName com_3, PinName com_4): |
suupen | 4:33e035f6a337 | 21 | _seg_a(seg_a), _seg_b(seg_b), _seg_c(seg_c), _seg_d(seg_d), _seg_e(seg_e), _seg_f(seg_f), _seg_g(seg_g), _seg_p(seg_p), |
suupen | 4:33e035f6a337 | 22 | _com_1(com_1), _com_2(com_2), _com_3(com_3), _com_4(com_4){ |
suupen | 4:33e035f6a337 | 23 | #else // ~USECOM4 |
suupen | 1:3429249e30f9 | 24 | SevenSegLed::SevenSegLed(uint8_t commonPole, uint8_t smooth, PinName seg_a, PinName seg_b, PinName seg_c, PinName seg_d, PinName seg_e, PinName seg_f, PinName seg_g, PinName seg_p, |
suupen | 1:3429249e30f9 | 25 | PinName com_1, PinName com_2, PinName com_3, PinName com_4, PinName com_5, PinName com_6, PinName com_7, PinName com_8): |
suupen | 0:5410d6e2bce7 | 26 | _seg_a(seg_a), _seg_b(seg_b), _seg_c(seg_c), _seg_d(seg_d), _seg_e(seg_e), _seg_f(seg_f), _seg_g(seg_g), _seg_p(seg_p), |
suupen | 1:3429249e30f9 | 27 | _com_1(com_1), _com_2(com_2), _com_3(com_3), _com_4(com_4), _com_5(com_5), _com_6(com_6), _com_7(com_7), _com_8(com_8){ |
suupen | 4:33e035f6a337 | 28 | #endif // USECOM4 |
suupen | 0:5410d6e2bce7 | 29 | |
suupen | 5:a7ba72bf10ba | 30 | timer.attach_us(this, &SevenSegLed::segmentGrayDataKosin, 10000); // led smooth control 10ms timer inttruupt |
suupen | 0:5410d6e2bce7 | 31 | |
suupen | 0:5410d6e2bce7 | 32 | // data table set of Brightness |
suupen | 0:5410d6e2bce7 | 33 | // DT_pwmGray[] = i ^ 2 |
suupen | 0:5410d6e2bce7 | 34 | for(uint32_t i = 0; i < Z_grayMax + 1; i++){ |
suupen | 0:5410d6e2bce7 | 35 | DT_pwmGray[i] = (uint8_t)(((i * i) * Z_pwmGrayMax ) / (Z_grayMax * Z_grayMax)); |
suupen | 0:5410d6e2bce7 | 36 | } |
suupen | 0:5410d6e2bce7 | 37 | |
suupen | 0:5410d6e2bce7 | 38 | // check connect com_x |
suupen | 0:5410d6e2bce7 | 39 | D_comNull = Z_ketaSuu; |
suupen | 4:33e035f6a337 | 40 | #ifndef USECOM4 |
suupen | 1:3429249e30f9 | 41 | if(com_8 == NC){D_comNull--;} |
suupen | 1:3429249e30f9 | 42 | if(com_7 == NC){D_comNull--;} |
suupen | 1:3429249e30f9 | 43 | if(com_6 == NC){D_comNull--;} |
suupen | 1:3429249e30f9 | 44 | if(com_5 == NC){D_comNull--;} |
suupen | 4:33e035f6a337 | 45 | #endif //USECOM4 |
suupen | 0:5410d6e2bce7 | 46 | if(com_4 == NC){D_comNull--;} |
suupen | 0:5410d6e2bce7 | 47 | if(com_3 == NC){D_comNull--;} |
suupen | 0:5410d6e2bce7 | 48 | if(com_2 == NC){D_comNull--;} |
suupen | 0:5410d6e2bce7 | 49 | if(com_1 == NC){D_comNull--;} |
suupen | 0:5410d6e2bce7 | 50 | |
suupen | 0:5410d6e2bce7 | 51 | // Those who will be reading the LED display |
suupen | 0:5410d6e2bce7 | 52 | D_smooth = smooth; |
suupen | 0:5410d6e2bce7 | 53 | |
suupen | 0:5410d6e2bce7 | 54 | // common and segment pin display data set |
suupen | 0:5410d6e2bce7 | 55 | if(commonPole == 0){ |
suupen | 0:5410d6e2bce7 | 56 | // Anode common |
suupen | 0:5410d6e2bce7 | 57 | D_commonOn = 1; |
suupen | 0:5410d6e2bce7 | 58 | D_commonOff = 0; |
suupen | 0:5410d6e2bce7 | 59 | D_segmentOn = 0; |
suupen | 0:5410d6e2bce7 | 60 | D_segmentOff = 1; |
suupen | 0:5410d6e2bce7 | 61 | } |
suupen | 0:5410d6e2bce7 | 62 | else{ |
suupen | 0:5410d6e2bce7 | 63 | // Cathod common |
suupen | 0:5410d6e2bce7 | 64 | D_commonOn = 0; |
suupen | 0:5410d6e2bce7 | 65 | D_commonOff = 1; |
suupen | 0:5410d6e2bce7 | 66 | D_segmentOn = 1; |
suupen | 0:5410d6e2bce7 | 67 | D_segmentOff = 0; |
suupen | 0:5410d6e2bce7 | 68 | } |
suupen | 0:5410d6e2bce7 | 69 | |
suupen | 0:5410d6e2bce7 | 70 | } |
suupen | 0:5410d6e2bce7 | 71 | |
suupen | 5:a7ba72bf10ba | 72 | /************************************** |
suupen | 5:a7ba72bf10ba | 73 | * display henka set |
suupen | 5:a7ba72bf10ba | 74 | * 0:smooth 1:hard |
suupen | 5:a7ba72bf10ba | 75 | * @SS131130 |
suupen | 5:a7ba72bf10ba | 76 | **************************************/ |
suupen | 5:a7ba72bf10ba | 77 | void SevenSegLed::smoothSet(uint8_t smooth){ |
suupen | 5:a7ba72bf10ba | 78 | D_smooth = smooth; |
suupen | 5:a7ba72bf10ba | 79 | } |
suupen | 0:5410d6e2bce7 | 80 | |
suupen | 0:5410d6e2bce7 | 81 | |
suupen | 0:5410d6e2bce7 | 82 | /************************************** |
suupen | 0:5410d6e2bce7 | 83 | * 7segment no gray data kosin |
suupen | 0:5410d6e2bce7 | 84 | * 100ms goto no syori |
suupen | 0:5410d6e2bce7 | 85 | **************************************/ |
suupen | 0:5410d6e2bce7 | 86 | void SevenSegLed::segmentGrayDataKosin(void){ |
suupen | 0:5410d6e2bce7 | 87 | uint8_t keta; |
suupen | 0:5410d6e2bce7 | 88 | uint8_t seg; |
suupen | 0:5410d6e2bce7 | 89 | |
suupen | 0:5410d6e2bce7 | 90 | uint8_t segMask; |
suupen | 0:5410d6e2bce7 | 91 | uint8_t segData; |
suupen | 0:5410d6e2bce7 | 92 | |
suupen | 0:5410d6e2bce7 | 93 | |
suupen | 0:5410d6e2bce7 | 94 | //********************************************************* |
suupen | 0:5410d6e2bce7 | 95 | // 7segment no shuturyoku pattern |
suupen | 0:5410d6e2bce7 | 96 | //********************************************************* |
suupen | 0:5410d6e2bce7 | 97 | // seg: a b c d e f g p |
suupen | 0:5410d6e2bce7 | 98 | // bit: 7 6 5 4 3 2 1 0 |
suupen | 0:5410d6e2bce7 | 99 | // --------------------- |
suupen | 0:5410d6e2bce7 | 100 | #define D_0 (0xfc) // 0 1 1 1 1 1 1 0 0 |
suupen | 0:5410d6e2bce7 | 101 | #define D_1 (0x60) // 1 0 1 1 0 0 0 0 0 |
suupen | 0:5410d6e2bce7 | 102 | #define D_2 (0xda) // 2 1 1 0 1 1 0 1 0 |
suupen | 0:5410d6e2bce7 | 103 | #define D_3 (0xf2) // 3 1 1 1 1 0 0 1 0 |
suupen | 0:5410d6e2bce7 | 104 | #define D_4 (0x66) // 4 0 1 1 0 0 1 1 0 |
suupen | 0:5410d6e2bce7 | 105 | #define D_5 (0xb6) // 5 1 0 1 1 0 1 1 0 |
suupen | 0:5410d6e2bce7 | 106 | #define D_6 (0xbe) // 6 1 0 1 1 1 1 1 0 |
suupen | 0:5410d6e2bce7 | 107 | #define D_7 (0xe4) // 7 1 1 1 0 0 1 0 0 |
suupen | 0:5410d6e2bce7 | 108 | #define D_8 (0xfe) // 8 1 1 1 1 1 1 1 0 |
suupen | 0:5410d6e2bce7 | 109 | #define D_9 (0xf6) // 9 1 1 1 1 0 1 1 0 |
suupen | 0:5410d6e2bce7 | 110 | #define D_A (0xee) // A 1 1 1 0 1 1 1 0 |
suupen | 0:5410d6e2bce7 | 111 | #define D_b (0x3e) // b 0 0 1 1 1 1 1 0 |
suupen | 0:5410d6e2bce7 | 112 | #define D_C (0x9c) // C 1 0 0 1 1 1 0 0 |
suupen | 0:5410d6e2bce7 | 113 | #define D_d (0x7a) // d 0 1 1 1 1 0 1 0 |
suupen | 0:5410d6e2bce7 | 114 | #define D_E (0x9e) // E 1 0 0 1 1 1 1 0 |
suupen | 0:5410d6e2bce7 | 115 | #define D_F (0x8e) // F 1 0 0 0 1 1 1 0 |
suupen | 0:5410d6e2bce7 | 116 | #define D_NULL (0x00) // NULL 0 0 0 0 0 0 0 0 |
suupen | 0:5410d6e2bce7 | 117 | // (No indication) |
suupen | 0:5410d6e2bce7 | 118 | |
suupen | 0:5410d6e2bce7 | 119 | |
suupen | 0:5410d6e2bce7 | 120 | const unsigned char DT_segData[17] = {D_0, D_1, D_2, D_3, D_4, D_5, D_6, D_7, D_8, D_9, D_A, D_b, D_C, D_d, D_E, D_F, D_NULL}; |
suupen | 0:5410d6e2bce7 | 121 | uint8_t work; |
suupen | 0:5410d6e2bce7 | 122 | |
suupen | 0:5410d6e2bce7 | 123 | for(keta = 0; keta < Z_ketaSuu; keta++){ |
suupen | 0:5410d6e2bce7 | 124 | // number data set |
suupen | 0:5410d6e2bce7 | 125 | work = D_7seg[keta]; |
suupen | 0:5410d6e2bce7 | 126 | if(work > 0x10){work = 0x10;} // error data then NULL |
suupen | 0:5410d6e2bce7 | 127 | segData = DT_segData[work]; |
suupen | 0:5410d6e2bce7 | 128 | |
suupen | 0:5410d6e2bce7 | 129 | // dot data set |
suupen | 0:5410d6e2bce7 | 130 | if(D_dot[keta] != 0){segData |= 0x01;} |
suupen | 0:5410d6e2bce7 | 131 | |
suupen | 0:5410d6e2bce7 | 132 | // segment data set |
suupen | 0:5410d6e2bce7 | 133 | segMask = 0x80; |
suupen | 0:5410d6e2bce7 | 134 | |
suupen | 0:5410d6e2bce7 | 135 | for(seg = 0; seg < Z_segSuu; seg++){ |
suupen | 0:5410d6e2bce7 | 136 | if(D_smooth == Z_smooth){ |
suupen | 0:5410d6e2bce7 | 137 | // LED display Smooth |
suupen | 0:5410d6e2bce7 | 138 | if((segData & segMask) != 0){ |
suupen | 0:5410d6e2bce7 | 139 | // segment tento |
suupen | 0:5410d6e2bce7 | 140 | if(D_7segGray[keta][seg] < Z_grayMax){D_7segGray[keta][seg]++;} |
suupen | 0:5410d6e2bce7 | 141 | } |
suupen | 0:5410d6e2bce7 | 142 | else{ |
suupen | 0:5410d6e2bce7 | 143 | // segment syoto |
suupen | 0:5410d6e2bce7 | 144 | if(D_7segGray[keta][seg] > 0){D_7segGray[keta][seg]--;} |
suupen | 0:5410d6e2bce7 | 145 | } |
suupen | 0:5410d6e2bce7 | 146 | segMask = segMask >> 1; |
suupen | 0:5410d6e2bce7 | 147 | } |
suupen | 0:5410d6e2bce7 | 148 | else{ |
suupen | 0:5410d6e2bce7 | 149 | // LED display Hard |
suupen | 0:5410d6e2bce7 | 150 | if((segData & segMask) != 0){ |
suupen | 0:5410d6e2bce7 | 151 | // segment tento |
suupen | 0:5410d6e2bce7 | 152 | D_7segGray[keta][seg] = Z_pwmGrayMax; |
suupen | 0:5410d6e2bce7 | 153 | } |
suupen | 0:5410d6e2bce7 | 154 | else{ |
suupen | 0:5410d6e2bce7 | 155 | // segment syoto |
suupen | 0:5410d6e2bce7 | 156 | D_7segGray[keta][seg] = 0; |
suupen | 0:5410d6e2bce7 | 157 | } |
suupen | 0:5410d6e2bce7 | 158 | segMask = segMask >> 1; |
suupen | 0:5410d6e2bce7 | 159 | } |
suupen | 0:5410d6e2bce7 | 160 | } |
suupen | 0:5410d6e2bce7 | 161 | } |
suupen | 0:5410d6e2bce7 | 162 | } |
suupen | 0:5410d6e2bce7 | 163 | |
suupen | 0:5410d6e2bce7 | 164 | |
suupen | 0:5410d6e2bce7 | 165 | /************************************** |
suupen | 0:5410d6e2bce7 | 166 | * main |
suupen | 0:5410d6e2bce7 | 167 | **************************************/ |
suupen | 0:5410d6e2bce7 | 168 | void SevenSegLed::SevenSegLed_main(uint8_t* number, uint8_t* dot) { |
suupen | 0:5410d6e2bce7 | 169 | |
suupen | 0:5410d6e2bce7 | 170 | for(uint8_t i = 0; i < Z_ketaSuu; i++){ |
suupen | 0:5410d6e2bce7 | 171 | D_7seg[i] = number[i]; |
suupen | 0:5410d6e2bce7 | 172 | D_dot[i] = dot[i]; |
suupen | 0:5410d6e2bce7 | 173 | } |
suupen | 0:5410d6e2bce7 | 174 | |
suupen | 0:5410d6e2bce7 | 175 | |
suupen | 0:5410d6e2bce7 | 176 | // dynamic shuturyoku shori |
suupen | 5:a7ba72bf10ba | 177 | //segmentGrayDataKosin(); |
suupen | 0:5410d6e2bce7 | 178 | output(); |
suupen | 0:5410d6e2bce7 | 179 | } |
suupen | 0:5410d6e2bce7 | 180 | |
suupen | 0:5410d6e2bce7 | 181 | |
suupen | 0:5410d6e2bce7 | 182 | /************************************** |
suupen | 0:5410d6e2bce7 | 183 | * comAllClear |
suupen | 0:5410d6e2bce7 | 184 | * |
suupen | 0:5410d6e2bce7 | 185 | * common pin o subete OFF suru |
suupen | 0:5410d6e2bce7 | 186 | **************************************/ |
suupen | 0:5410d6e2bce7 | 187 | void SevenSegLed::comAllClear(void){ |
suupen | 0:5410d6e2bce7 | 188 | |
suupen | 0:5410d6e2bce7 | 189 | switch (D_comNull){ |
suupen | 4:33e035f6a337 | 190 | #ifndef USECOM4 |
suupen | 1:3429249e30f9 | 191 | case 8: // com_1 - com_8is all connect |
suupen | 1:3429249e30f9 | 192 | _com_8 = D_commonOff; |
suupen | 1:3429249e30f9 | 193 | //break; |
suupen | 1:3429249e30f9 | 194 | case 7: // com_8 Null |
suupen | 1:3429249e30f9 | 195 | _com_7 = D_commonOff; |
suupen | 1:3429249e30f9 | 196 | //break; |
suupen | 1:3429249e30f9 | 197 | case 6: // com_7 Null |
suupen | 1:3429249e30f9 | 198 | _com_6 = D_commonOff; |
suupen | 1:3429249e30f9 | 199 | //break; |
suupen | 1:3429249e30f9 | 200 | case 5: // com_6 Null |
suupen | 1:3429249e30f9 | 201 | _com_5 = D_commonOff; |
suupen | 1:3429249e30f9 | 202 | //break; |
suupen | 4:33e035f6a337 | 203 | #endif // USECOM4 |
suupen | 1:3429249e30f9 | 204 | case 4: // com_5 Null |
suupen | 0:5410d6e2bce7 | 205 | _com_4 = D_commonOff; |
suupen | 1:3429249e30f9 | 206 | //break; |
suupen | 0:5410d6e2bce7 | 207 | case 3: // com_4 Null |
suupen | 0:5410d6e2bce7 | 208 | _com_3 = D_commonOff; |
suupen | 0:5410d6e2bce7 | 209 | // break; |
suupen | 0:5410d6e2bce7 | 210 | case 2: // com_3 Null |
suupen | 0:5410d6e2bce7 | 211 | _com_2 = D_commonOff; |
suupen | 0:5410d6e2bce7 | 212 | //break; |
suupen | 0:5410d6e2bce7 | 213 | case 1: // com_2 Null |
suupen | 0:5410d6e2bce7 | 214 | _com_1 = D_commonOff; |
suupen | 0:5410d6e2bce7 | 215 | //break; |
suupen | 0:5410d6e2bce7 | 216 | case 0: // com_1 Null |
suupen | 0:5410d6e2bce7 | 217 | // nothing |
suupen | 0:5410d6e2bce7 | 218 | break; |
suupen | 0:5410d6e2bce7 | 219 | default: |
suupen | 0:5410d6e2bce7 | 220 | // nothing |
suupen | 0:5410d6e2bce7 | 221 | break; |
suupen | 0:5410d6e2bce7 | 222 | } |
suupen | 0:5410d6e2bce7 | 223 | } |
suupen | 0:5410d6e2bce7 | 224 | |
suupen | 0:5410d6e2bce7 | 225 | /************************************** |
suupen | 0:5410d6e2bce7 | 226 | * segAllClear |
suupen | 0:5410d6e2bce7 | 227 | * |
suupen | 0:5410d6e2bce7 | 228 | * segment pin o subete OFF suru |
suupen | 0:5410d6e2bce7 | 229 | **************************************/ |
suupen | 0:5410d6e2bce7 | 230 | void SevenSegLed::segAllClear(void){ |
suupen | 0:5410d6e2bce7 | 231 | _seg_a = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 232 | _seg_b = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 233 | _seg_c = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 234 | _seg_d = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 235 | _seg_e = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 236 | _seg_f = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 237 | _seg_p = D_segmentOff; |
suupen | 0:5410d6e2bce7 | 238 | } |
suupen | 0:5410d6e2bce7 | 239 | |
suupen | 0:5410d6e2bce7 | 240 | /************************************** |
suupen | 0:5410d6e2bce7 | 241 | * segDataSet |
suupen | 0:5410d6e2bce7 | 242 | * |
suupen | 0:5410d6e2bce7 | 243 | * segment pin ni shuturyoku data o settei |
suupen | 0:5410d6e2bce7 | 244 | **************************************/ |
suupen | 0:5410d6e2bce7 | 245 | void SevenSegLed::segDataSet(uint8_t keta){ |
suupen | 0:5410d6e2bce7 | 246 | |
suupen | 0:5410d6e2bce7 | 247 | for(uint8_t i = 0; i < Z_pwmGrayMax + 1; i++){ |
suupen | 0:5410d6e2bce7 | 248 | if(DT_pwmGray[D_7segGray[keta][0]] <= i){_seg_a = D_segmentOff;}else{_seg_a = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 249 | if(DT_pwmGray[D_7segGray[keta][1]] <= i){_seg_b = D_segmentOff;}else{_seg_b = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 250 | if(DT_pwmGray[D_7segGray[keta][2]] <= i){_seg_c = D_segmentOff;}else{_seg_c = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 251 | if(DT_pwmGray[D_7segGray[keta][3]] <= i){_seg_d = D_segmentOff;}else{_seg_d = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 252 | if(DT_pwmGray[D_7segGray[keta][4]] <= i){_seg_e = D_segmentOff;}else{_seg_e = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 253 | if(DT_pwmGray[D_7segGray[keta][5]] <= i){_seg_f = D_segmentOff;}else{_seg_f = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 254 | if(DT_pwmGray[D_7segGray[keta][6]] <= i){_seg_g = D_segmentOff;}else{_seg_g = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 255 | if(DT_pwmGray[D_7segGray[keta][7]] <= i){_seg_p = D_segmentOff;}else{_seg_p = D_segmentOn;} |
suupen | 0:5410d6e2bce7 | 256 | |
suupen | 0:5410d6e2bce7 | 257 | } |
suupen | 0:5410d6e2bce7 | 258 | } |
suupen | 0:5410d6e2bce7 | 259 | |
suupen | 0:5410d6e2bce7 | 260 | /************************************** |
suupen | 0:5410d6e2bce7 | 261 | * output |
suupen | 0:5410d6e2bce7 | 262 | * |
suupen | 0:5410d6e2bce7 | 263 | * dynamic dosa saseru. |
suupen | 0:5410d6e2bce7 | 264 | * kono kansu wo jiikou suru tabi ni common pin o kirikaeru |
suupen | 0:5410d6e2bce7 | 265 | **************************************/ |
suupen | 0:5410d6e2bce7 | 266 | void SevenSegLed::output(void){ |
suupen | 0:5410d6e2bce7 | 267 | static uint8_t M_seg = 0; |
suupen | 0:5410d6e2bce7 | 268 | |
suupen | 0:5410d6e2bce7 | 269 | if(M_seg >= D_comNull){M_seg = 0;} |
suupen | 0:5410d6e2bce7 | 270 | |
suupen | 4:33e035f6a337 | 271 | //com, seg syokika |
suupen | 0:5410d6e2bce7 | 272 | comAllClear(); |
suupen | 0:5410d6e2bce7 | 273 | segAllClear(); |
suupen | 4:33e035f6a337 | 274 | |
suupen | 0:5410d6e2bce7 | 275 | // common output |
suupen | 0:5410d6e2bce7 | 276 | if(D_comNull != 0){ |
suupen | 0:5410d6e2bce7 | 277 | // If the terminal output processing |
suupen | 0:5410d6e2bce7 | 278 | switch(M_seg){ |
suupen | 0:5410d6e2bce7 | 279 | case 0: |
suupen | 0:5410d6e2bce7 | 280 | _com_1 = D_commonOn; |
suupen | 0:5410d6e2bce7 | 281 | break; |
suupen | 0:5410d6e2bce7 | 282 | case 1: |
suupen | 0:5410d6e2bce7 | 283 | _com_2 = D_commonOn; |
suupen | 0:5410d6e2bce7 | 284 | break; |
suupen | 0:5410d6e2bce7 | 285 | case 2: |
suupen | 0:5410d6e2bce7 | 286 | _com_3 = D_commonOn; |
suupen | 0:5410d6e2bce7 | 287 | break; |
suupen | 0:5410d6e2bce7 | 288 | case 3: |
suupen | 0:5410d6e2bce7 | 289 | _com_4 = D_commonOn; |
suupen | 1:3429249e30f9 | 290 | break; |
suupen | 4:33e035f6a337 | 291 | #ifndef USECOM4 |
suupen | 1:3429249e30f9 | 292 | case 4: |
suupen | 1:3429249e30f9 | 293 | _com_5 = D_commonOn; |
suupen | 1:3429249e30f9 | 294 | break; |
suupen | 1:3429249e30f9 | 295 | case 5: |
suupen | 1:3429249e30f9 | 296 | _com_6 = D_commonOn; |
suupen | 1:3429249e30f9 | 297 | break; |
suupen | 1:3429249e30f9 | 298 | case 6: |
suupen | 1:3429249e30f9 | 299 | _com_7 = D_commonOn; |
suupen | 1:3429249e30f9 | 300 | break; |
suupen | 1:3429249e30f9 | 301 | case 7: |
suupen | 1:3429249e30f9 | 302 | _com_8 = D_commonOn; |
suupen | 1:3429249e30f9 | 303 | break; |
suupen | 4:33e035f6a337 | 304 | #endif // USECOM4 |
suupen | 0:5410d6e2bce7 | 305 | default: |
suupen | 0:5410d6e2bce7 | 306 | break; |
suupen | 0:5410d6e2bce7 | 307 | } |
suupen | 0:5410d6e2bce7 | 308 | } |
suupen | 0:5410d6e2bce7 | 309 | |
suupen | 0:5410d6e2bce7 | 310 | // segmant output |
suupen | 0:5410d6e2bce7 | 311 | if(M_seg < Z_ketaSuu){ |
suupen | 0:5410d6e2bce7 | 312 | segDataSet(M_seg); |
suupen | 0:5410d6e2bce7 | 313 | } |
suupen | 0:5410d6e2bce7 | 314 | |
suupen | 0:5410d6e2bce7 | 315 | |
suupen | 4:33e035f6a337 | 316 | // com, seg syokika |
suupen | 4:33e035f6a337 | 317 | // comAllClear(); |
suupen | 4:33e035f6a337 | 318 | // segAllClear(); |
suupen | 0:5410d6e2bce7 | 319 | M_seg++; |
suupen | 4:33e035f6a337 | 320 | |
suupen | 0:5410d6e2bce7 | 321 | } |
suupen | 5:a7ba72bf10ba | 322 | |
suupen | 5:a7ba72bf10ba | 323 |