From e0ac00767d2874ce82e0c0d64cf31764c2794c07 Mon Sep 17 00:00:00 2001 From: Nero Date: Mon, 24 Aug 2020 23:38:46 -0400 Subject: [PATCH] v0.0.17 updated Typer --- library.properties | 2 +- src/BMC-Version.h | 2 +- src/BMC.editor.cpp | 8 ++------ src/BMC.hardware.buttons.cpp | 16 ++++++++-------- src/utility/BMC-Settings.h | 15 ++++++++------- src/utility/BMC-Typer.h | 14 ++++++-------- 6 files changed, 26 insertions(+), 31 deletions(-) diff --git a/library.properties b/library.properties index 00cda83..e334af4 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=BMC -version=0.0.16 +version=0.0.17 author=Nero Rox maintainer=Nero Rox sentence=Badass MIDI Controller (BMC), a fully featured MIDI Controller with a Desktop Editor App. For 32-bit Teensy Only diff --git a/src/BMC-Version.h b/src/BMC-Version.h index 00779c8..e8c9063 100644 --- a/src/BMC-Version.h +++ b/src/BMC-Version.h @@ -23,7 +23,7 @@ // BMC Version stored in EEPROM (for editor usage) #define BMC_VERSION_MAJ 0 #define BMC_VERSION_MIN 0 -#define BMC_VERSION_PATCH 16 +#define BMC_VERSION_PATCH 17 //16 bits unsigned, LSB byte is minor, MSB byte is major #define BMC_VERSION ((BMC_VERSION_MAJ<<8) | BMC_VERSION_MIN) diff --git a/src/BMC.editor.cpp b/src/BMC.editor.cpp index 583769d..ad71a53 100644 --- a/src/BMC.editor.cpp +++ b/src/BMC.editor.cpp @@ -81,9 +81,8 @@ void BMC::assignStoreData(){ } } void BMC::assignSettings(){ - /* - Set the global settings - */ + // Set the global settings + valueTyper.setOffset(settings.getTyperOffSet()); midiClock.setMaster(settings.getMasterClock()); midiActiveSense.setOutputPorts(settings.getListenerPorts()); midi.setListenerEnable(settings.getIncomingListenerEnabled()); @@ -92,10 +91,7 @@ void BMC::assignSettings(){ midi.setClockListenerPort(settings.getClockInputPortBit()); editor.setChainingPort(settings.getChainingPort()); - valueTyper.setOffset(settings.getTyperOffSet()); - midi.setRouting(BMC_USB, settings.getUsbRouting()); - #ifdef BMC_MIDI_SERIAL_A_ENABLED midi.setRouting(BMC_SERIAL_A, settings.getSerialARouting()); #endif diff --git a/src/BMC.hardware.buttons.cpp b/src/BMC.hardware.buttons.cpp index 8f8b628..49d4566 100644 --- a/src/BMC.hardware.buttons.cpp +++ b/src/BMC.hardware.buttons.cpp @@ -724,21 +724,21 @@ void BMC::handleGlobalButton(uint8_t index, uint8_t t_trigger){ if(cmd==12){// page setPage(valueTyper.getRawOutput()); } else if(cmd==13){// preset - #if BMC_MAX_PRESETS > 0 +#if BMC_MAX_PRESETS > 0 presets.set(valueTyper.getRawOutput()); - #endif +#endif } else if(cmd==14){// fas preset - #if defined(BMC_USE_FAS) +#if defined(BMC_USE_FAS) fas.setPreset(valueTyper.getRawOutput()); - #endif +#endif } else if(cmd==15){// fas scene - #if defined(BMC_USE_FAS) +#if defined(BMC_USE_FAS) fas.setSceneNumber(valueTyper.getRawOutput(), false); - #endif +#endif } else if(cmd==16){// fas scene revert - #if defined(BMC_USE_FAS) +#if defined(BMC_USE_FAS) fas.setSceneNumber(valueTyper.getRawOutput(), true); - #endif +#endif } } } diff --git a/src/utility/BMC-Settings.h b/src/utility/BMC-Settings.h index f1802f1..6abae0f 100644 --- a/src/utility/BMC-Settings.h +++ b/src/utility/BMC-Settings.h @@ -28,6 +28,7 @@ bit 5 getActiveSenseAtStartup - Active Sensing Master Enabled bit 6 getMidiRealTimeBlockInput bit 7 getMidiRealTimeBlockOutput + bit 8 getTyperOffSet @@ -146,6 +147,13 @@ class BMCSettings { void setMidiRealTimeBlockOutput(bool value){ writeFlag(7,value); } + // typer offset to 0 + uint8_t getTyperOffSet(){ + return readFlag(8); + } + void setTyperOffSet(bool value){ + writeFlag(8, value); + } @@ -187,13 +195,6 @@ class BMCSettings { void setPwmDimWhenOff(uint8_t value){ bitWrite(settings.data[0],18,value); } - // typer offset to 0 - uint8_t getTyperOffSet(){ - return (settings.data[0]>>19) & 0x01; - } - void setTyperOffSet(uint8_t value){ - bitWrite(settings.data[0], 19, value); - } // store address uint8_t getStoreAddress(){ return (settings.data[0]>>20) & 0x03; diff --git a/src/utility/BMC-Typer.h b/src/utility/BMC-Typer.h index 10085dc..3e45d5e 100644 --- a/src/utility/BMC-Typer.h +++ b/src/utility/BMC-Typer.h @@ -41,18 +41,16 @@ class BMCTyper { } // return the raw value used by the output uint16_t getRawOutput(){ - if(flags.read(BMC_TYPER_FLAG_DISPLAY_ZERO_OFFSET)){ + if(!flags.read(BMC_TYPER_FLAG_DISPLAY_ZERO_OFFSET)){ return (output==0) ? 0 : (output-1); } return output; } - void setOffset(bool value){ - if(flags.read(BMC_TYPER_FLAG_DISPLAY_ZERO_OFFSET) != value){ - vtValue = 0; - vtCount = 0; - output = 0; - } - flags.write(BMC_TYPER_FLAG_DISPLAY_ZERO_OFFSET, value); + void setOffset(bool t_value){ + vtValue = 0; + vtCount = 0; + output = 0; + flags.write(BMC_TYPER_FLAG_DISPLAY_ZERO_OFFSET, t_value); } uint8_t cmd(uint8_t value, uint8_t autoTrigger=0){ if(value >= 10){