######### Cirklon 2 ######### OS Revision history from v1.08 in reverse chronological order - newest fixes/additions at the top, version numbers at point of release ======================================================================== *** ALWAYS BACKUP YOUR DATA BEFORE UPDATING THE OS *** Use the "SAVE Raw SYX dump" option to ensure all data and configuration settings can be restored ======================================================================== 1.22a - 16/1/24 fixed muted-row wiggles appearing on empty rows in CK edit 1.22 - 10/1/24 fixed wrapping of CV output on high note values fixed re-loading of multi-channel CK patterns in JSON format changed USB host enumeration to prioritise MIDI interfaces on composite devices, and ignore device class ID - driver selected based on interface detection added backup battery low voltage warning, vbat display on debug tools 1.21h - 13/12/23 fixed recording of channel AT into CK patterns fixed poly-spread poly AT re-send as channel AT 1.21g - 22/11/23 fixed possible blank track value rows in instrument added recent filename/path validated before sysex card load added scene list SHIFT + for current SCENE re-loads saved version added d-mux firmware finalise only option for test 1.21f - 25/9/23 fixed possible crash at boot on bad fdac chain pointer added CK edit pattern clear also resets row mutes 1.21e - 20/9/23 fixed CVIO slide stuck on in bi-polar mode fixed CK edit not flagging pattern as changed when notes deleted using DELETE + GANG only 1.21d - 18/8/23 increased USB host startup delay, fixes Keystation Mini 32 mk3 MIDI connection 1.21c - 26/7/23 fixed insufficient gap between maximal size CVIO command blocks (causing missing EG values on boot with large config) 1.21b - 16/7/23 fixed possible 303 TAP problem with non-zero d-mux CV on SYNC port in DIN mode fixed possible boot check crash with bad p3 bar ptr 1.21a - 11/6/23 fixed tempo display updating slowly, improved tempo calculation code when following MIDI clock changed ck record buffer to packed words added "Learned CC #" popup in P3 edit to confirm CC received for aux assign added "freewheel after MIDI STOP" user config option - for use with master clock that only sends ticks while running; on MIDI STOP, ck switches back to internal clock source running at incoming tempo, to continue sending clock to following devices 1.21 - 26/5/23 fixed zero vscale values for CVIO after memory wipe fixed cv input number re-config not reliably applied fixed mute trk n aux events take effect after scene change on first step of muted track added USB host support for CDC class with MIDI interface cs descriptors, handled as AUDIO class 1.20k - 25/2/23 fixed USB host handling of USB MIDI v2.0 device without AUDIO CONTROL subclass descriptor fixed knob A/B range for upgraded 2nd run ck1 (#110 - #207) added apply FTS option to ck edit menu 1.20j1 - 9/12/22 fixed possible missing first clock tick on USB hosted output with sync delay set, when external clock master sends start then first tick immediately added ~gate (inverse gate) target value to grab/push/swap aux events 1.20j - 5/12/22 fixes/changes to factory test routines added knob A/B scaling to fix behaviour in upgraded 2nd run ck1's minor tweak of ui bus timing 1.20i - 15/10/22 fixed time-consuming ck event list fix during boot time check added bar edit of channel number for ck pattern recorded in multi-chan mode added multi-channel mode option flag in pattern object 1.20h2 - 29/9/22 fixed auto-backup timestamp compare 1.20h1 - 23/9/22 fixed possible crash during boot check for song with no patterns added Zeno's head 1.20h - 17/9/22 fixed ck label flat symbol fixed some ports not re-sending pgm values after MIDI reset updated FATFS core to 0.14b added auto-backup at boot when last backup older than 1 week - can be foolishly disabled in user config added user config option for "usb host b/w limit" - for testing with problematic devices added micro-rotate in ck edit - SHIFT + hold and rotate BAR encoder 1.20g2 - 23/5/22 fixed ck real-time record inserting events out of order during un-quantised record 1.20g1 - 25/4/22 fixed apparent UI lock-up during ck event list check error report - revised code to recover out of order events, instead of deleting - added option to dump debug info for bad ck pattern to sd-card files fixed handling of extension case in card load/save 1.20f6 - 7/4/22 minor tweaks 1.20f5 - 3/4/22 disabled vsync irq when not using triggered redraw 1.20f4 - 1/4/22 fixed lack of Splitradix's face (debug tools, 15) 1.20f2 - fixed possible invalid ck loop start pointer causing loss of playback after loop fixed tempo value in row view of set tempo aux event changed full manual bar follow to only apply during playback - bar position unlocked for edit while stopped 1.20f1 - added better timeout handling for internal micro-SD initialisation 1.20f - 27/1/22 fixed ripple insert bar in CK edit adding extra step added bootloader update to v0.4 - install prompt will appear when old version is detected 1.20e5 - 3/1/22 fixed possible crash with invalid ck pattern event list pointer 1.20e4 fixed possible SD card access problem with bad path after OS update fixed ck record auto-start events missed (?) 1.20e3 - 15/12/21 fixed USB keyboard key roll-over handling fixed ck bar pos redraw with mid-bar loop end 1.20e2 - 13/12/21 fixed port level delay on USB device ports fixed ck edit sculpted note recorded after auto-start fixed replay of manual program changes on start after boot added h/w MIDI bandwidth limiting for test added "no un-mute new pattern" as user config option, disables automatic un-mute of track when new pattern is created added separate port level delay setting for MIDI clock output on serial and USB ports encoder 8 edits sync delay in MIDI port options menu when applicable port is selected 1.20e1 - 22/11/21 fixed possible events missed after record mode start by note-on without click/count-in fixed incorrect scene state changed SAVE LED when changing scene during playback fixed loss of ck pattern playback when edited pattern saved, or edits lost during scene saved added pop-up for record count-in (active when click enabled) 1.20e - 16/11/21 fixed updating of CV values during micro-tuning table edit with order value set fixed boot-time lockup if internal uSD card not detected fixed track fill status remained active after re-start during fill-in fixed incorrect capture of events during count-in to CK record fixed knob A movement triggering repeated re-draw in CK edit fixed CK pattern real-time record errors when recording quantised notes simultaneously with un-quantised control events (causing event list errors reported at next boot) fixed reported free list loop error after status:0 event cleaned from ck event list fixed occasional output buffer replay on serial MIDI output when manually sending CC track values from A/B knobs added CK event list structure check after real-time record, expanded check also run at boot added channel aftertouch and pitchbend alongside CC view in CK edit added more green to text colour for improved contrast added negative/too high offset warnings to vscale calibration page, improved auto vscale calibration operation for tuning dongle 1.20d - 7/9/21 fixed handling of cc purge during record (2 step timeout, user adjustability tbi) fixed record of note quantised to end of ck loop, start-time set to zero, should be loop start time deprecated chase_events flag with new seek method moved loop start event pointer from track state to pattern object fixed boot-time data check not clearing possible event list loop warning fixed CC record being blocked with ck row view enabled fixed fill flags cleared on stop added current bar and bar length values to CK pattern graphic on SCENE and TRACK pages added "start from loop" option for CK pattern - SHIFT + FILL/X to toggle option added note row mutes to CK pattern - hold SOLO/SKIP and press ROW to toggle row mute status, SHIFT + SOLO/SKIP to clear all mutes added LAST + SCULPT shortcut to set bar length to bar with last event in CK pattern added '+' to text entry mode 1.20c3 - 22/7/21 fixed move scene crash 1.20c2 - 27/06/21 fixed scene then song track value save lock-up 1.20c1 - 20/6/21 fixed previous scene pointer handling for moved scenes fixed accumulator wrap/clip behaviour for some events changed accumulator defeat knob mask events to act directly, instead of masking previous accumulator defeat event added DELETE + (press)ROW shortcut in P3 edit, clears all values an flags on current row added SHIFT + (press)ROW in P3 edit, for swap aux row function 1.20c - 9/6/21 fixed tempo timebase error, tempo was ~0.015% low fixed display of "set length", "rep*n by length" aux values fixed negative range of "set delay" and "rndmz delay" events added SHIFT + NEXT + SCENE, previous scene combo 1.20b7 - 30/5/21 fixed CV EG value sync issue 1.20b6 - 29/5/21 fixed incorrect 'edit' status of CV envelope values after first recall of song with stored values after power cycle fixed no refresh of current CV EG parameters when changing law fixed rsyn behaviour for CV port added "no NEXT + SONG" user config option to disable key combo added note stack for test track gang - held notes cleared when track removed 1.20b5 - 12/5/21 added "new songs use #'s" user config option, for default accidentals added test for tempo based swing, over-rides standard swing by using SHIFT + to select swing percentage; swing affects odd and even steps, and mclk/din output (excessive setting may upset following devices due to instantaneous high tempo) 1.20b4 - 8/5/21 fixed spurious "no songs" warning and workscene clear after loading instrument def fixed scene select view reset at boot added dmux tools for firmware update/bootloader install with adaptor added dmux low end curve compensation 1.20b3 - 11/3/21 added class ID to USB host info 1.20b2 - 4/3/21 fixed excess filename length highlight in file picker fixed SMF type 1 import for > 53 tracks added USB host device info debug dump 1.20b1 - 13/1/21 fixed clock output to CVIO fixed encoder LEDs for ck event edit only lit for active encoders fixed excessive bar follow cancel in p3 edit 1.20b - 6/1/21 fixed SYNC output now responds to rsyn and no clock when stopped settings for CV port fixed DMA/cache issues with USB host MSC driver fixed MTC QF transmit via USB fixed missing velo value in ck edit fixed tbase tcv reset on bar advance added warning when trying to load firmware image as data sysex added MIDI tuning bulk dump receive added tuning table root note offset, order for linked edit added tuning table send bulk/128*single 1.20a3 - 5/12/2020 fixed USB stick selectable with other device attached added basic CC edit operations to ck edit CC view v1.20a2 - 14/11/2020 fixed USB device transmit blocked after sending while disconnected v1.20a1 - 13/11/2020 fixed RIPPLE insert at start of pattern weirdness fixed mask..dAcc events with incorrect maximum values fixed missing MIDI STOP not sent for rsyn fixed line wraps/blank lines for long len: values in CK edit event list view v1.20a fixed click config in record menu for extended port numbers fixed pulsed accent entry in d-mux config json added "ck edit, RIPPLE bar length" user config option - adjust bar length by whole bars when ripple inserting copied notes (clip length rounded to nearest bar) added sync soft-thru pgm with track value v1.20 fixed MTC slave mode timing fixed scene initial_mutes save to .CKS fixed occasional corruption of mute status in saved scene fixed json number format errors and track value limits fixed d-mux pulsed accent settings missing from .CKC file fixed re-init of poly spread group after instrument MIDI channel change fixed ck record filter popup window not cleared on record exit fixed ck DELETE-only not including notes with non-zero delay added USB host MIDI class support, maximum 16 ports appear as hst1 - hst16 added allow spaces in filenames, longer names, mixed case added latency matching delay values for USB ports * new settings require data format change, sysex from this build not loadable in older versions added internal RAM copy of NV-RAM configuration settings to reduce external reads added knobs assigned to track values with limited range follow range settings added sync pgm track values with soft-thru pgm message to track output v1.19