summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMaking Sound Machines <roland@makingsoundmachines.com>2024-07-05 14:46:11 +0200
committerMaking Sound Machines <roland@makingsoundmachines.com>2024-07-05 14:46:11 +0200
commit3f9e6ddbab0f8fe770f2ad41f7ae79ee9c4fac6c (patch)
treedf82ab4a0790903637f055ecc1b13d2c6e8e2865 /sw
parent2276f86b1b19d9e07fe84c23517b7d4d3fe0ffad (diff)
downloadplinky-3f9e6ddbab0f8fe770f2ad41f7ae79ee9c4fac6c.tar.gz
Disables Merge Playback, adds Disable Autosave flag (off by default)
Cleaned up build files to adhere to this naming convention - plink0A3.bin plink0A3.uf2 so one can match the versions. Deleted some extra build files to the root - deleted CURRENT.uf2 (which could be any version) deleted plinkyblack.bin (which can't be flashed on its own) Plinky V0.A3.zip (different naming convention) -> took CURRENT.UF2 from the zip and renamed it plink0A3.uf2 Disabled MERGE_PLAYBACK in touch.h Added a define DISABLE_AUTOSAVE. It's commented out by default. It enables Superbooth Demo Mode: changes are not written to flash, a reboot restores the device completely. Disables ProgramPage() in params.h. Added version descriptions in config.h
Diffstat (limited to 'sw')
-rwxr-xr-xsw/.settings/language.settings.xml4
-rwxr-xr-xsw/Core/Src/config.h7
-rwxr-xr-xsw/Core/Src/params.h2
-rwxr-xr-xsw/Core/Src/touch.h2
4 files changed, 11 insertions, 4 deletions
diff --git a/sw/.settings/language.settings.xml b/sw/.settings/language.settings.xml
index 883b49a..05a91a8 100755
--- a/sw/.settings/language.settings.xml
+++ b/sw/.settings/language.settings.xml
@@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="886229989412699615" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1716914187473399352" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="886229989412699615" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1716914187473399352" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
diff --git a/sw/Core/Src/config.h b/sw/Core/Src/config.h
index 0314cb7..682230e 100755
--- a/sw/Core/Src/config.h
+++ b/sw/Core/Src/config.h
@@ -16,6 +16,8 @@
// THIS SHOULD NOT BE DEFINED FOR REAL BOARDS:
//#define HALF_FLASH // pcbway fitted the wrong CPU, with only half the flash ram! this disables all use of the upper 512k, to enable testing
+//#define DISABLE_AUTOSAVE // enables Demo Mode - changes are not written to flash. Disables ProgramPage() in params.h
+
// 0.7 - flashed onto first units
// 0.8 - fix stereo pan when changing waveshape, and the broken wipe pattern
// 0.9 - click encoder to zero value
@@ -49,4 +51,7 @@
// 0.9z - fix shimmer click? thanks hippo!
// 0.A - USB MIDI Sync
// 0.A1 - HW SERIAL MIDI SYNC & More CCs
-#define VERSION2 "v0.A3"
+// 0.A2 - Allows for playing notes from the touch surface over a recorded sequence. Still buggy. In touch.h #define MERGE_PLAYBACK 1
+// 0.A3 - Fixes a USB bug in which some hosts wouldn't recognize Plinky. New startup sequence is plinky_init(), then midiinit().
+// 0.A4 - Disabled MERGE_PLAYBACK in touch.h. DISABLE_AUTOSAVE flag enables Demo Mode - changes are not written to flash. Disables ProgramPage() in params.h
+#define VERSION2 "v0.A4"
diff --git a/sw/Core/Src/params.h b/sw/Core/Src/params.h
index c3cb507..532eac7 100755
--- a/sw/Core/Src/params.h
+++ b/sw/Core/Src/params.h
@@ -754,6 +754,7 @@ u8 AllocAndEraseFlashPage(void) {
void ProgramPage(void* datasrc, u32 datasize, u8 index) {
+#ifndef DISABLE_AUTOSAVE
#ifndef HALF_FLASH
updating_bank2 = 1;
@@ -772,6 +773,7 @@ void ProgramPage(void* datasrc, u32 datasize, u8 index) {
latestpagesidx[index] = page;
updating_bank2 = 0;
#endif
+#endif
}
void SetPreset(u8 preset, bool force) {
diff --git a/sw/Core/Src/touch.h b/sw/Core/Src/touch.h
index 6df81d7..b62313c 100755
--- a/sw/Core/Src/touch.h
+++ b/sw/Core/Src/touch.h
@@ -745,7 +745,7 @@ void finger_synth_update(int fi) {
if (!want_recording_on)
last_rec_step = 255;
}
-#define MERGE_PLAYBACK 1
+#define MERGE_PLAYBACK 0
if (MERGE_PLAYBACK) {
// read from pattern
FingerRecord *fr = readpattern(fi);