Firmware v4.1.2 for mk2

Firmware version 4.1.2 has just been released.

The app.electra.one web application now provides a direct link to download the firmware and instructions on how to update the controller. Two ways to update are provided:

  • using the Bootloader disk mode - proven and safe

  • using an online update - a single click update but still may have some quirks. A Bootloader version 1.1 is required for that. This version is installed on your controller if you purchased the controller with firmware 4.0.0 installed on it or if you updated the Bootloader manually by yourself in the past.

List of changes:

Version 4.1.2 is a release of several bug fixes and minor improvements:

  • Removed incorrect artifacts from certain font characters. @Mint-Gecko

  • Reduced the start-up time.

  • Resolved issues with changing the visibility of controls and groups @michaelhaefliger

  • Fixed loading of device overrides after re-uploading the same preset @NewIgnis

  • Fixed a freeze that occurred when using DrivenByMoss on Windows @v.rtx_void @ElVicente @moss

  • Fixed an issue where patch.onResponse() was called for all incoming SysEx messages.

  • Improved detection of USB devices connected to the controller’s USB Host port during start-up. @frekvencia @davidpower @attacksustain

  • Prevented red stripe glitch when holding animated on-screen buttons. @Electrolove

  • Optimized low-level communication between the main and display boards to prevent random glitches and freezes and improve rendering performance. @attacksustain

  • Report and remove bytes > 0x7F from when sending sysex with Lua midi.sendSysex() function. @Hardingmal

  • Added an option to take a screenshot of the controller’s screen.

  • Fixed an issue with concurrent onPotTouchChange() calls @Abbes

Thank you to everyone who helped with the testing. Special thanks to @davidpower for his professional and thorough approach. It really helped!

6 Likes

Could be user error, but even after clearing my browser cache it only shows firmware-v4.1.1.srec as the firmware file to download if updating the old fashioned way.

looks ok here:

you can also download it directly from the app:

Thanks. The top-right link worked. All updated.

1 Like

FYI. For me, the page Firmware update Electra One mkII | Electra One Documentation shows the firmware v4.1.1 for download, but the page Electra One firmware | Electra One Documentation shows v4.1.2.

1 Like

Fixed

2 Likes

wow, you’re not kidding about improved start-up time! :high_voltage:

2 Likes

Hi @martin , I have updated my E1 to v4.1.2, and testing it on my VCVRack preset.

Looks like there could be a regression with use of the executeLua Sysex command, which is causing the E1 to crash / hang.

With trace log enabled I see this printed in the log:

18:21:29.845 SysexApi::process: sysex received: command=8, object=13
18:21:29.846 executeLua: port=2, trnId=0, chunk="changeE1Module("Sapphire Gravy", 39140, 31545, 9)"

But E1 appears to be crashing before it calls this lua function in my preset code .. the first log statement is not printed out in the log.

function changeE1Module(moduleName, moduleY, moduleX, maxId)
  log("changeE1Module " .. moduleName)
  windowStopCountdown = START_WINDOW_STOP_COUNTDOWN
  window.stop() -- resumed in the endChangeE1Module function call
  resetControls(true)
  changePageModuleLabels(moduleName)
  if (moduleY ~= 0 and moduleX ~= 0) then
    -- not changing to a rack mapping
    info.setText(findModuleGridRowColPositions(moduleY, moduleX))
  end  
  maxControllerId = maxId;
end

I tried three times after resetting, and the same thing happened each time.

It also possible that usage of the Sysex updateControl command is also intermittently failing, it might be a timing issue when a bunch of executeLua commands are being received at same time. Difficult to troubleshoot this with the issue of the executeLua / freeze issue above.

I’ll do a bit more troubleshooting see if I can pin it down further.

Hi @Phommed, what are the steps to reproduce the issue in the VCV Rack?

Hi @martin ,

I’ve attached a simple vcv patch that reproduces the problem on my E1 running v4.1.2

E1v4.1.2crash.vcv.zip (5.6 KB)

  1. Select an audio device in the Audio2 module to activate the vcv patch
  2. Set up the E1 MIDI channels in the OrestesOne module and the VCVRack 2 v2.1.5 preset on E1. The E1 preset should auto-connect to OrestesOne module after a few seconds.
  3. On the E1, go to preset page 12 “Select Module” - you should see the rack modules shown on the select grid.
  4. Select one of them
  5. It will either immediately freeze the E1 unit, or show page 1 of the mapped controls for the selected rack module. If the latter, go back to page 12 and select another module from the grid, until it hangs.
1 Like