kohacraft Lab
/
kc_matrixclock
dot Matrix Led Clock with TLC5940
Diff: main.cpp
- Revision:
- 3:25540a08a8d8
- Parent:
- 2:6edd801ae662
--- a/main.cpp Tue Jul 28 01:53:27 2015 +0000 +++ b/main.cpp Wed Jul 29 06:37:55 2015 +0000 @@ -91,6 +91,7 @@ col8 = ( temp & mask ); } +//カウントアップ void minUp() { for( int bright = brightMax ; bright > 0; bright-=brightCangeValue ) @@ -99,9 +100,17 @@ { brightCangeValue = brightChange; if( fastSw == 1 ) + { brightCangeValue = fastCount; + secTick.detach(); + secTick.attach(&minUp, 60.0); //スイッチが押されている間は自動で進まないようにTickをリセット + } if( slowSw == 1 ) + { brightCangeValue = slowCount; + secTick.detach(); + secTick.attach(&minUp, 60.0); + } for( int h=0; h<16 ; h++ ) LEDS[h] = 0; @@ -153,38 +162,30 @@ setup (driver, vprg, xlat, blank, gsclk, num_ics ); brightCangeValue = brightChange; - secTick.attach(&minUp, 60.0); + secTick.attach(&minUp, 60.0); //1分でカウントアップ処理を行う while(1) { -/* for( hour =1 ; hour<13 ; hour++ ) + //スイッチが押された時の処理 + if( fastSw == 1 ) + minUp(); + if( slowSw == 1 ) + minUp(); + + //16行分ダイナミック点灯させる + for( int colmn=0 ; colmn<16 ; colmn++ ) { - for( min = 1 ; min<60 ; min ) - { - while(1) - {*/ - if( fastSw == 1 ) - minUp(); - if( slowSw == 1 ) - minUp(); - for( int colmn=0 ; colmn<16 ; colmn++ ) - { - - for( int h=0; h<16 ; h++ ) - LEDS[h] = 0; - LEDS[colmn] = (unsigned short)brightMax; - offDisp(blank, gsclk); - if( colmn<8 ) - fontOut( decfont( min , colmn ) ); - else - fontOut( hourDecfont( hour , colmn-8 ) ); - update_led (driver, xlat, blank, gsclk , LEDS); - wait_us(dispTime); - } - /* } - } - - - }*/ + + for( int h=0; h<16 ; h++ ) + LEDS[h] = 0; + LEDS[colmn] = (unsigned short)brightMax; + offDisp(blank, gsclk); + if( colmn<8 ) + fontOut( decfont( min , colmn ) ); + else + fontOut( hourDecfont( hour , colmn-8 ) ); + update_led (driver, xlat, blank, gsclk , LEDS); + wait_us(dispTime); + } } }