BaseMachine UI Controllerに分離
Dependencies: AverageAnalogIn PinDetect RotaryEncoder Sequence SequencerDisplay mbed-rtos mbed st7567LCD BaseMachineComon
Fork of BaseMachine_Sequencer by
Diff: main.cpp
- Revision:
- 36:50ad7e0a9a95
- Parent:
- 35:0165b610796d
- Child:
- 37:d4e50159baee
--- a/main.cpp Fri Sep 09 02:50:00 2016 +0000 +++ b/main.cpp Fri Sep 09 03:14:16 2016 +0000 @@ -87,6 +87,7 @@ ST7565_SequencerDisplay sequencerDisplay(&gLCD, sequences, SEQUENCE_N); volatile int currentStep = 0; +volatile int playingStep = 0; volatile bool isRunning = false; volatile bool isDirty = true; volatile uint8_t pinFlag = 0x00; @@ -113,8 +114,10 @@ { if (ticks == 0) { envelopeGenerator.init(envelope); - // ToDo: 再生中のLCD表示を検討→SPI1とSPI2の信号のタイミングを調査 - sequencerDisplay.update(SequencerDisplay::run, sequenceSender.getStep()); + // LCDにStepを表示するフラグを立てる + //sequencerDisplay.update(SequencerDisplay::run, sequenceSender.getStep()); + playingStep = sequenceSender.getStep(); + isDirty = true; } if (sequences[sequenceSender.getStep()].isNoteOn()) { @@ -479,7 +482,7 @@ } } else { if (isDirty) { - //sequencerDisplay.update(SequencerDisplay::run, currentStep); + sequencerDisplay.update(SequencerDisplay::run, playingStep); /* static int cnt = 0; char buffer[32]; @@ -494,7 +497,7 @@ //gLCD.fillrect(currentStep * 7, 1, 7, 3, 1); //gLCD.display(); - //isDirty = false; + isDirty = false; } } }