Integrated version
Diff: BaseMachineUIController.h
- Revision:
- 17:5c8c173008cf
- Parent:
- 16:566ddb132ef8
- Child:
- 18:6ba18820777d
--- a/BaseMachineUIController.h Mon Nov 28 00:37:40 2016 +0000 +++ b/BaseMachineUIController.h Fri Jan 06 11:57:49 2017 +0000 @@ -39,14 +39,17 @@ const int UImodeMax = 2; const int EEPROMSlotMax = 16; +const int ExioPinToPattern[] = { + 0, 4, 1, 5, 2, 6, 3, 7 +}; -//flagEepromCancel スイッチを増やして割り当てる typedef enum { - flagSaveToEeprom = 0x01, - flagLoadFromEeprom = 0x02, flagEepromOK = 0x04, - flagCopyToClipBoard = 0x08, - flagPasteFromClipBoard = 0x10 + flagEepromCancel = 0x08, + flagSaveToEeprom = 0x10, + flagLoadFromEeprom = 0x20, + flagCopyToClipBoard = 0x40, + flagPasteFromClipBoard = 0x80 } LoadSaveFlagT; struct OscillatorParam { @@ -140,7 +143,7 @@ Exio->reset(); ExioInBufferA = new ExioInBuffer(Exio, ExioPortA); - for (int i = 0; i < 5; i++) { + for (int i = 2; i < 8; i++) { ExioInA[i] = new ExioBufferedDebounceIn(ExioInBufferA, i); } @@ -149,7 +152,7 @@ ExioIn[i] = new ExioBufferedDebounceIn(ExioInBufferB, i); } - ExioRotEnc1 = new ExioBufferedRotaryEncoder(ExioInBufferA, 6, 7, 0, EEPROMSlotMax - 1, 0); + ExioRotEnc1 = new ExioBufferedRotaryEncoder(ExioInBufferA, 0, 1, 0, EEPROMSlotMax - 1, 0); I2c1 = new I2C(PB_9, PB_8); At24c1024 = new AT24C1024(*I2c1); @@ -202,7 +205,7 @@ PinRunStop->setSampleFrequency(); ExioInBufferA->run(10); - for (int i = 0; i < 5; i++) { + for (int i = 2; i < 8; i++) { ExioInA[i]->set_debounce_us(5000); } @@ -364,7 +367,7 @@ ExioMcp23s17* Exio; ExioInBuffer* ExioInBufferA; ExioInBuffer* ExioInBufferB; - ExioBufferedDebounceIn* ExioInA[5]; + ExioBufferedDebounceIn* ExioInA[8]; ExioBufferedDebounceIn* ExioIn[8]; ExioBufferedRotaryEncoder* ExioRotEnc1; @@ -593,15 +596,15 @@ //isDirty = true; } } - + void pollingExio() { int i; for (i = 0; i < 8; i++) { if (ExioIn[i]->read()) break; } - if (i != 8 && sequencePattern != i) { - sequencePattern = i; + if (i != 8 && sequencePattern != ExioPinToPattern[i]) { + sequencePattern = ExioPinToPattern[i]; // syncronize sequence value & Rotary Encoder's value RotEncPitch->setVal(sequences[sequencePattern][editingStep].getPitch()); @@ -611,7 +614,7 @@ } loadSaveFlag = 0; - for (i = 0; i < 5; i++) { + for (i = 2; i < 8; i++) { loadSaveFlag |= ((ExioInA[i]->read()) << i); } @@ -715,12 +718,12 @@ gLCD->drawstring(90, 0, buff); gLCD->display(); //ToDo: flagEepromCancel スイッチを増やして割り当てる - if (loadSaveFlag & flagLoadFromEeprom) { + if (loadSaveFlag & flagEepromCancel) { gLCD->drawstring(0, 1, " Cancel"); gLCD->display(); return; } - printf("loadSaveFlag: %2d\r\n", loadSaveFlag); + //printf("loadSaveFlag: %2d\r\n", loadSaveFlag); if (loadSaveFlag & flagEepromOK) { break; } @@ -800,7 +803,7 @@ gLCD->drawstring(102, 0, buff); gLCD->display(); //ToDo: flagEepromCancel スイッチを増やして割り当てる - if (loadSaveFlag & flagSaveToEeprom) { + if (loadSaveFlag & flagEepromCancel) { gLCD->drawstring(0, 1, " Cancel"); gLCD->display(); return;