Firmware Release Notes (ER-102)

Pending Bugs
  • SD card reading could be faster.
Pending Feature Requests
  • Turn encoder while holding ROTATE, rotates more than one step.
  • Human-readable snapshot files.
  • One push ratchet
  • Scala file support.
  • Ability to set root note (rt) for chromatic display.
  • rotate voltage tables or, possibly, offset voltage tables to avoid retuning oscillators
  • operation to extrapolate an entire voltage table from a small set of voltages

Bug Fixes:
- occasionally lost sync (by one clock pulse) when reset  (see original discussion here).

Feature Enhancement:
- new CONFIG.INI setting: gate-mod-cv can be used to enable(default)/disable the gating of the mod CV effect with its corresponding mod GATE input.

Bug Fixes:
- Crash (introduced in v2.10) when loading snapshot under the following conditions: unpaused, EDIT/FOLLOW mode, clock is present.  

Optimized SD card reading so that loading a snapshot doesn't interfere with the sequencer's ability to stay in sync with external clock and reset signals.

Feature Enhancement:
- new CONFIG.INI setting: load-snapshot-on-boot can be used to fine-tune what snapshot your ER-102 loads on boot up.  The default is for the ER-102 to load the last saved or loaded (i.e. accessed) snapshot.  If you want your snapshot load times to be as fast as possible then be sure to use the 'disabled' or 'last-saved' setting.
- new CONFIG.INI settings (experimental): card-read-mode and card-write-mode can be used to tweak how the ER-102 reads or writes to the SD card.  The recommended setting is 'robust'

Feature Enhancement:
- new CONFIG.INI setting: cv-slope-modifier can be used to change the slope modifier to be applied before the voltage lookup instead of after.

Bug Fixes:
- Hi/Lo transforms on GATE and DURATION were accidentally disabled in v2.06 of the firmware.  Reenabled now.

Feature Enhancements:
- Show number of pulses (nP) when focus pressing the PATTERN or TRACK.
Bug Fixes:
CV outputs overflow when clock divider > 1 and SMOOTH is enabled.
- While editing a MATH transform, the focus LED (orange) gets turned off when you push the RESET button or receive a gate on the RESET input.
Cannot browse the indices of an empty track's voltage table.

Feature Enhancements:
- The HIGH/LOW transform screens now use the same UI logic as the other MATH transform screens.
Bug Fixes:
- Math transform gets mistakenly applied when pinning the math screen.
- While editing the HIGH/LOW transforms, the GROUP display does not update when turning the LEFT knob.
- While editing math transform, left focus LED turns off when LOAD button pressed.
- CONFIG.INI parser made more robust against unusual formatting caused by copy-and-paste from PDF files.

Bug Fixes:
- Powering up in EJECT mode left some parts of internal data uninitialized.

Bug Fixes:
- Copying across snapshots in HOLD MODE has bugs.
- In realtime record config screen, decrementing gate quantization updates duration display.
- Bug fixes and improvements in the MIDI importer, particularly MIDI files created in Logic.
- Handle Out-of-memory scenarios more gracefully (particularly MIDI import).
- Ignore hidden files (resource forks) created by MACOSX.
Feature Enhancements:
New 'cents' note display mode. See CONFIG.INI.

Bug Fixes:
- Fixed a problem with writing data to some uSD cards.

Feature Enhancements:
- Use Euclidean patterns as selection masks when assigning steps to groups.
Improved real-time recording experience by recording pass-thru (kind of like auto monitoring).  
ER-101 is unpaused and a track is armed for recording, however we are punched out.  In this case, the ER-101 will play the existing material on the track but as soon as you play a note (i.e. any event from the record section that would create a note), then the ER-101 switches over to passing through your live playing.  The ER-101/102 remains in this pass-through mode until you pause or unarm or reset.  Of course, at any time you can punch in to begin recording and then punch out again to return to the beginning of this paragraph.
- A sequencer RESET also punches out.
- Added all improvements from ER-101 firmware v2.04.
- MIDI import algorithm is greatly improved: better algorithm for automatically determining MIDI clock divider, and, time quantization setting is now provided.
- Now able to load up to 4 MIDI files into one snapshot with arbitrary channel to track mapping.
Add config parameter: no-origin-set = reset-to-step-one | reset-to-loop-start (see CONFIG.INI).
- If the G(mult) parameter of a transform is zero, then the A(dd) parameter changes to the S(et) parameter to emphasize that it will effectively set step parameters rather than add to them.

Bug Fixes:

Do the sensible thing when snapshot directory contains only LATEST.BIN (supposedly because the user has manually deleted all of the revision files).
- Previously, if no LOOP START then use ORIGIN, but it should use the first step instead.
If a CONFIG.INI was not on your SD card, then a default one was created but then not loaded until the next time you power up or come out of eject mode.
Rotating a group, rotated all groups instead of just the focused group.
- Some SD cards needed additional coaxing to end a multi-block write command.


Bug Fixes:

- GATE and DURATION modulation fixed and made more responsive.  It seems GATE (slightly) and DURATION (completely) modulation were broken by the v1.04 update.


Bug Fixes:

- Increased robustness and redundancy in the ER-101 to ER-102 communication system.
- Fixed GATE grid display bug in the real-time configuration screen.


(Warning:  This firmware upgrade will try to convert your v1.02 snapshots to v1.04 snapshots.  However, there is an issue with the conversion process which will corrupt your snapshots.  Please backup your snapshots to your computer and delete the SNAPSHOT directory on your SD card before using the v1.04 firmware.)

Improved Snapshots:

- "Focus press" the SNAPSHOT button to get the snapshot description screen where you can use all of the ER-101/102 displays to write your own description/mnemonic for the snapshot.
- Revision numbers (see the VOLTAGE display when in snapshot description screen).  Snapshots are no longer overwritten when saving.  Instead a new revision is always created and the revision number is incremented.  Recall an earlier version of any snapshot by focusing the revision number, changing it with the RIGHT knob and pressing the LOAD button.
- A small dot in the SNAPSHOT display indicates whether the slot has a snapshot or not.
- When updating your firmware, snapshots on your SD card from the previous firmware are automatically converted to the new version.

User Voltage tables are now Files 

- User Voltage tables now live on the SD card.
- Add as many as you want, just drop a voltage table file into the the ER-102/TABLES directory on  your SD card.
- Voltage table filenames should be 4 characters long.  These names are shown in the VOLTAGE display when browsing.
- File format is a simple binary of 100 16-bit (unsigned) integers. Easily creatable from many different scripting languages.  For example here is a python script that generates a type of just-intonation scale by combining all possible ratios using a small set of prime numbers:

Real-time Recording Options

- Record Focus: In the real-time recording configuration screen, you can set recording to insert after the current step, current pattern, to the end of the track.
- Assign-to-Part: enable this config file option to have newly recorded material assigned automatically to a part.
- Wait-for-first-Note:  enable this config file option to have the ER-102 wait for the first note before inserting a step.

Configuration File

- A file called CONFIG.INI will be created in the ER-102 directory of your SD card on first time loading the new firmware.
- Contains lots of options for customizing the ER-102 to your taste.
- More options can be easily added according to user's requests without affecting other user's experience.
- take a look at the default configuration file for more details: default-config-ini

Simultaneous Clock Divide and Multiply

- Now you can divide the clock as well as multiply the clock.
- Generate clocks that just multiply or just divide cannot achieve, such as 2/3 or 5/7 of the original clock.
- "Focus press" the TRACK button to get to the track configuration screen and adjust the divider and multiplier amounts.
- NOTE! The multiply amount has been moved to the STEP display and the divide amount is shown in the DURATION display (just like a ratio 2:3, 1:2, 13:19 and so on).

Rotate/Invert Tracks, Patterns, and Parts 

- Now only the focused parameter is rotated or inverted over the pattern.
- This means that you can rotate note values but keep the base rhythm (DURATION and GATE) unchanged and vice versa.

Invert MATH transforms

- Hold down the INVERT button while applying a MATH transform to apply its inverse.
- Press and release the INVERT button while in the MATH edit screen to invert the operations of the current transform.
- Only inverts the Add and Multiply operations while ignoring the Random and Jitter operators since they have no inverse. 

Separate external clocks for each track

- Typically, all tracks receive their clock signal from the CLOCK input on the ER-101 (aka global).  However, you can also have any track receive its clock from one of the GATE mod inputs (X, Y, and Z).
- See the config file for instructions on how to setup the clock routing and enable this behavior.

Load MIDI files

- Type 0 and 1 files are supported.
- MIDI channels 1-4 are mapped to tracks 1-4, other channels are ignored.
- Configuration options for transpose and MIDI clock divide are available in the config.ini.

ADMIN mode

- Activated when the STORAGE switch is in ADMIN mode. 
- Press the RESET button on the ER-101 to soft reset the ER-102.
- Otherwise not really useful for users (yet) but I wanted to tell you about it so that you are not confused by it.

Other enhancements:

- Allow edits in FOLLOW mode if paused or active part is the STOP part, or there is no clock.
- JITTER and RANDOM operators for GROUP non-destructive transforms!
- MATH edit screen behavior changes slightly: After PINning the edit screen you can apply the transform by pressing the MATH button (used to exit the edit screen). To exit: press the VOLTAGE button (DONE is flashing in the VOLTAGE display).

Bug Fixes

- Fixed SMOOTH bug when using GROUP modulation
- Fixed TRANSITION bug when in HOLD mode
- Fixed freeze when pasting empty track
- Non-destructive group transforms now applied to duration/gate only once when a step starts
- COMMIT while focusing group or group mod, quantizes to pattern
- COMMIT while focusing part, quantizes to track
- Quantized RESET, quantized COMMIT, focus-type USER TRANSITION all now save the track that was focused when the quantize was activated.  So even if you navigate to a different track while the RESET/COMMIT/TRANSITION is pending, the original track will still be used to quantize.
- Trigger outputs and ratcheting fixed 

Known Issues

- when converting v1.01/v1.02 snapshots to v1.04 snapshots, the clock multiplier and divider are not filled in properly and memory corruption occurs.
- unable to change the quantization granularity for GATE length in the REAL-TIME RECORD configuration screen.