suu pen さんのライブラリをフォークしました。 このライブラリは1桁から8桁までのSeven segment Numeric LEDを制御します。 LEDはanode commonとcathode common を使用することができます。 LEDの表示は1秒で表示をスムースに切り替えるモードと、直ぐに切り替えるモードの2つのモードを選択することができます。 This library to control the Seven segment Numeric LED 8 digit of 1. You can use the LED cathode common and anode common. Switch mode LED display and a second displayed a smooth, you can choose two modes to switch modes quickly.

Dependents:   HumidifierController_LPC824

Fork of SevenSegLed by suu pen

Committer:
kyun_kun
Date:
Mon Feb 13 16:56:16 2017 +0000
Revision:
7:74862b3cd837
Parent:
6:a1eb5de4146f
change to GPIO timing

Who changed what in which revision?

UserRevisionLine numberNew 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 6:a1eb5de4146f 30 //@SS131223 timer.attach_us(this, &SevenSegLed::segmentGrayDataKosin, 10000); // led smooth control 10ms timer inttruupt //@SS131223
kyun_kun 7:74862b3cd837 31 timer.attach_us(this, &SevenSegLed::output, 2000); // led output process 1ms timer inttruupt //@SS131223
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
kyun_kun 7:74862b3cd837 116 #define D_H (0x6e) // H 0 1 1 0 1 1 1 0
suupen 0:5410d6e2bce7 117 #define D_NULL (0x00) // NULL 0 0 0 0 0 0 0 0
suupen 0:5410d6e2bce7 118 // (No indication)
suupen 0:5410d6e2bce7 119
suupen 0:5410d6e2bce7 120
kyun_kun 7:74862b3cd837 121 const unsigned char DT_segData[18] = {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_H, D_NULL};
suupen 0:5410d6e2bce7 122 uint8_t work;
suupen 0:5410d6e2bce7 123
suupen 0:5410d6e2bce7 124 for(keta = 0; keta < Z_ketaSuu; keta++){
suupen 0:5410d6e2bce7 125 // number data set
suupen 0:5410d6e2bce7 126 work = D_7seg[keta];
kyun_kun 7:74862b3cd837 127 if(work > 0x11){work = 0x11;} // error data then NULL
suupen 0:5410d6e2bce7 128 segData = DT_segData[work];
suupen 0:5410d6e2bce7 129
suupen 0:5410d6e2bce7 130 // dot data set
suupen 0:5410d6e2bce7 131 if(D_dot[keta] != 0){segData |= 0x01;}
suupen 0:5410d6e2bce7 132
suupen 0:5410d6e2bce7 133 // segment data set
suupen 0:5410d6e2bce7 134 segMask = 0x80;
suupen 0:5410d6e2bce7 135
suupen 0:5410d6e2bce7 136 for(seg = 0; seg < Z_segSuu; seg++){
suupen 0:5410d6e2bce7 137 if(D_smooth == Z_smooth){
suupen 0:5410d6e2bce7 138 // LED display Smooth
suupen 0:5410d6e2bce7 139 if((segData & segMask) != 0){
suupen 0:5410d6e2bce7 140 // segment tento
suupen 0:5410d6e2bce7 141 if(D_7segGray[keta][seg] < Z_grayMax){D_7segGray[keta][seg]++;}
suupen 0:5410d6e2bce7 142 }
suupen 0:5410d6e2bce7 143 else{
suupen 0:5410d6e2bce7 144 // segment syoto
suupen 0:5410d6e2bce7 145 if(D_7segGray[keta][seg] > 0){D_7segGray[keta][seg]--;}
suupen 0:5410d6e2bce7 146 }
suupen 0:5410d6e2bce7 147 segMask = segMask >> 1;
suupen 0:5410d6e2bce7 148 }
suupen 0:5410d6e2bce7 149 else{
suupen 0:5410d6e2bce7 150 // LED display Hard
suupen 0:5410d6e2bce7 151 if((segData & segMask) != 0){
suupen 0:5410d6e2bce7 152 // segment tento
suupen 0:5410d6e2bce7 153 D_7segGray[keta][seg] = Z_pwmGrayMax;
suupen 0:5410d6e2bce7 154 }
suupen 0:5410d6e2bce7 155 else{
suupen 0:5410d6e2bce7 156 // segment syoto
suupen 0:5410d6e2bce7 157 D_7segGray[keta][seg] = 0;
suupen 0:5410d6e2bce7 158 }
suupen 0:5410d6e2bce7 159 segMask = segMask >> 1;
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 /**************************************
suupen 0:5410d6e2bce7 167 * main
suupen 0:5410d6e2bce7 168 **************************************/
suupen 0:5410d6e2bce7 169 void SevenSegLed::SevenSegLed_main(uint8_t* number, uint8_t* dot) {
suupen 0:5410d6e2bce7 170
suupen 0:5410d6e2bce7 171 for(uint8_t i = 0; i < Z_ketaSuu; i++){
suupen 0:5410d6e2bce7 172 D_7seg[i] = number[i];
suupen 0:5410d6e2bce7 173 D_dot[i] = dot[i];
suupen 0:5410d6e2bce7 174 }
suupen 0:5410d6e2bce7 175
suupen 0:5410d6e2bce7 176
suupen 0:5410d6e2bce7 177 // dynamic shuturyoku shori
suupen 5:a7ba72bf10ba 178 //segmentGrayDataKosin();
suupen 6:a1eb5de4146f 179 //@SS131223 output(); //@SS131223
suupen 0:5410d6e2bce7 180 }
suupen 0:5410d6e2bce7 181
suupen 0:5410d6e2bce7 182
suupen 0:5410d6e2bce7 183 /**************************************
suupen 0:5410d6e2bce7 184 * comAllClear
suupen 0:5410d6e2bce7 185 *
suupen 0:5410d6e2bce7 186 * common pin o subete OFF suru
suupen 0:5410d6e2bce7 187 **************************************/
suupen 0:5410d6e2bce7 188 void SevenSegLed::comAllClear(void){
suupen 0:5410d6e2bce7 189
suupen 0:5410d6e2bce7 190 switch (D_comNull){
suupen 4:33e035f6a337 191 #ifndef USECOM4
suupen 1:3429249e30f9 192 case 8: // com_1 - com_8is all connect
suupen 1:3429249e30f9 193 _com_8 = D_commonOff;
suupen 1:3429249e30f9 194 //break;
suupen 1:3429249e30f9 195 case 7: // com_8 Null
suupen 1:3429249e30f9 196 _com_7 = D_commonOff;
suupen 1:3429249e30f9 197 //break;
suupen 1:3429249e30f9 198 case 6: // com_7 Null
suupen 1:3429249e30f9 199 _com_6 = D_commonOff;
suupen 1:3429249e30f9 200 //break;
suupen 1:3429249e30f9 201 case 5: // com_6 Null
suupen 1:3429249e30f9 202 _com_5 = D_commonOff;
suupen 1:3429249e30f9 203 //break;
suupen 4:33e035f6a337 204 #endif // USECOM4
suupen 1:3429249e30f9 205 case 4: // com_5 Null
suupen 0:5410d6e2bce7 206 _com_4 = D_commonOff;
suupen 1:3429249e30f9 207 //break;
suupen 0:5410d6e2bce7 208 case 3: // com_4 Null
suupen 0:5410d6e2bce7 209 _com_3 = D_commonOff;
suupen 0:5410d6e2bce7 210 // break;
suupen 0:5410d6e2bce7 211 case 2: // com_3 Null
suupen 0:5410d6e2bce7 212 _com_2 = D_commonOff;
suupen 0:5410d6e2bce7 213 //break;
suupen 0:5410d6e2bce7 214 case 1: // com_2 Null
suupen 0:5410d6e2bce7 215 _com_1 = D_commonOff;
suupen 0:5410d6e2bce7 216 //break;
suupen 0:5410d6e2bce7 217 case 0: // com_1 Null
suupen 0:5410d6e2bce7 218 // nothing
suupen 0:5410d6e2bce7 219 break;
suupen 0:5410d6e2bce7 220 default:
suupen 0:5410d6e2bce7 221 // nothing
suupen 0:5410d6e2bce7 222 break;
suupen 0:5410d6e2bce7 223 }
suupen 0:5410d6e2bce7 224 }
suupen 0:5410d6e2bce7 225
suupen 0:5410d6e2bce7 226 /**************************************
suupen 0:5410d6e2bce7 227 * segAllClear
suupen 0:5410d6e2bce7 228 *
suupen 0:5410d6e2bce7 229 * segment pin o subete OFF suru
suupen 0:5410d6e2bce7 230 **************************************/
suupen 0:5410d6e2bce7 231 void SevenSegLed::segAllClear(void){
suupen 0:5410d6e2bce7 232 _seg_a = D_segmentOff;
suupen 0:5410d6e2bce7 233 _seg_b = D_segmentOff;
suupen 0:5410d6e2bce7 234 _seg_c = D_segmentOff;
suupen 0:5410d6e2bce7 235 _seg_d = D_segmentOff;
suupen 0:5410d6e2bce7 236 _seg_e = D_segmentOff;
suupen 0:5410d6e2bce7 237 _seg_f = D_segmentOff;
suupen 0:5410d6e2bce7 238 _seg_p = D_segmentOff;
suupen 0:5410d6e2bce7 239 }
suupen 0:5410d6e2bce7 240
suupen 0:5410d6e2bce7 241 /**************************************
suupen 0:5410d6e2bce7 242 * segDataSet
suupen 0:5410d6e2bce7 243 *
suupen 0:5410d6e2bce7 244 * segment pin ni shuturyoku data o settei
suupen 0:5410d6e2bce7 245 **************************************/
suupen 0:5410d6e2bce7 246 void SevenSegLed::segDataSet(uint8_t keta){
suupen 0:5410d6e2bce7 247
suupen 0:5410d6e2bce7 248 for(uint8_t i = 0; i < Z_pwmGrayMax + 1; i++){
suupen 0:5410d6e2bce7 249 if(DT_pwmGray[D_7segGray[keta][0]] <= i){_seg_a = D_segmentOff;}else{_seg_a = D_segmentOn;}
suupen 0:5410d6e2bce7 250 if(DT_pwmGray[D_7segGray[keta][1]] <= i){_seg_b = D_segmentOff;}else{_seg_b = D_segmentOn;}
suupen 0:5410d6e2bce7 251 if(DT_pwmGray[D_7segGray[keta][2]] <= i){_seg_c = D_segmentOff;}else{_seg_c = D_segmentOn;}
suupen 0:5410d6e2bce7 252 if(DT_pwmGray[D_7segGray[keta][3]] <= i){_seg_d = D_segmentOff;}else{_seg_d = D_segmentOn;}
suupen 0:5410d6e2bce7 253 if(DT_pwmGray[D_7segGray[keta][4]] <= i){_seg_e = D_segmentOff;}else{_seg_e = D_segmentOn;}
suupen 0:5410d6e2bce7 254 if(DT_pwmGray[D_7segGray[keta][5]] <= i){_seg_f = D_segmentOff;}else{_seg_f = D_segmentOn;}
suupen 0:5410d6e2bce7 255 if(DT_pwmGray[D_7segGray[keta][6]] <= i){_seg_g = D_segmentOff;}else{_seg_g = D_segmentOn;}
suupen 0:5410d6e2bce7 256 if(DT_pwmGray[D_7segGray[keta][7]] <= i){_seg_p = D_segmentOff;}else{_seg_p = D_segmentOn;}
suupen 0:5410d6e2bce7 257
suupen 0:5410d6e2bce7 258 }
suupen 0:5410d6e2bce7 259 }
suupen 0:5410d6e2bce7 260
suupen 0:5410d6e2bce7 261 /**************************************
suupen 0:5410d6e2bce7 262 * output
suupen 0:5410d6e2bce7 263 *
suupen 6:a1eb5de4146f 264 * This function must be treated with 1ms interval.
suupen 6:a1eb5de4146f 265 * Each time you run this function, to switch the common.
suupen 6:a1eb5de4146f 266 *
suupen 0:5410d6e2bce7 267 **************************************/
suupen 0:5410d6e2bce7 268 void SevenSegLed::output(void){
suupen 0:5410d6e2bce7 269 static uint8_t M_seg = 0;
suupen 6:a1eb5de4146f 270 static uint8_t count = 0; // This counter is used to perform a single smooth processing 10ms
suupen 0:5410d6e2bce7 271
suupen 0:5410d6e2bce7 272 if(M_seg >= D_comNull){M_seg = 0;}
suupen 0:5410d6e2bce7 273
suupen 4:33e035f6a337 274 //com, seg syokika
suupen 0:5410d6e2bce7 275 comAllClear();
suupen 0:5410d6e2bce7 276 segAllClear();
suupen 4:33e035f6a337 277
suupen 0:5410d6e2bce7 278 // common output
suupen 0:5410d6e2bce7 279 if(D_comNull != 0){
suupen 0:5410d6e2bce7 280 // If the terminal output processing
suupen 0:5410d6e2bce7 281 switch(M_seg){
suupen 0:5410d6e2bce7 282 case 0:
suupen 0:5410d6e2bce7 283 _com_1 = D_commonOn;
suupen 0:5410d6e2bce7 284 break;
suupen 0:5410d6e2bce7 285 case 1:
suupen 0:5410d6e2bce7 286 _com_2 = D_commonOn;
suupen 0:5410d6e2bce7 287 break;
suupen 0:5410d6e2bce7 288 case 2:
suupen 0:5410d6e2bce7 289 _com_3 = D_commonOn;
suupen 0:5410d6e2bce7 290 break;
suupen 0:5410d6e2bce7 291 case 3:
suupen 0:5410d6e2bce7 292 _com_4 = D_commonOn;
suupen 1:3429249e30f9 293 break;
suupen 4:33e035f6a337 294 #ifndef USECOM4
suupen 1:3429249e30f9 295 case 4:
suupen 1:3429249e30f9 296 _com_5 = D_commonOn;
suupen 1:3429249e30f9 297 break;
suupen 1:3429249e30f9 298 case 5:
suupen 1:3429249e30f9 299 _com_6 = D_commonOn;
suupen 1:3429249e30f9 300 break;
suupen 1:3429249e30f9 301 case 6:
suupen 1:3429249e30f9 302 _com_7 = D_commonOn;
suupen 1:3429249e30f9 303 break;
suupen 1:3429249e30f9 304 case 7:
suupen 1:3429249e30f9 305 _com_8 = D_commonOn;
suupen 1:3429249e30f9 306 break;
suupen 4:33e035f6a337 307 #endif // USECOM4
suupen 0:5410d6e2bce7 308 default:
suupen 0:5410d6e2bce7 309 break;
suupen 0:5410d6e2bce7 310 }
suupen 0:5410d6e2bce7 311 }
suupen 0:5410d6e2bce7 312
suupen 0:5410d6e2bce7 313 // segmant output
suupen 0:5410d6e2bce7 314 if(M_seg < Z_ketaSuu){
suupen 0:5410d6e2bce7 315 segDataSet(M_seg);
suupen 0:5410d6e2bce7 316 }
suupen 0:5410d6e2bce7 317
suupen 0:5410d6e2bce7 318
suupen 4:33e035f6a337 319 // com, seg syokika
suupen 4:33e035f6a337 320 // comAllClear();
suupen 4:33e035f6a337 321 // segAllClear();
suupen 0:5410d6e2bce7 322 M_seg++;
suupen 4:33e035f6a337 323
suupen 6:a1eb5de4146f 324 // gray data process //@SS131223
suupen 6:a1eb5de4146f 325 // It is performed in 10ms intervals smooth process //@SS131223
suupen 6:a1eb5de4146f 326 count++; //@SS131223
suupen 6:a1eb5de4146f 327 if(count > 9){ //@SS131223
suupen 6:a1eb5de4146f 328 count = 0; //@SS131223
suupen 6:a1eb5de4146f 329 segmentGrayDataKosin(); //@SS131223
suupen 6:a1eb5de4146f 330 } //@SS131223
suupen 0:5410d6e2bce7 331 }
suupen 5:a7ba72bf10ba 332
suupen 5:a7ba72bf10ba 333