Firmware 2.1.4

The firmware 2.1.4 is available for the download.

The firmware is available on the Downloads page .

This release brings number of fixes and improvements of Lua extension. The memory management of Lua Extension has been improved and functions to switch pages and control sets has been added.

Changelog :

  • Trim the label if the width of the label is bigger than the width of the pad. (reported by @RobinC)
  • Fix the issue of the pitchbend range. The value is now bipolar (-8192 … 8191). (reported by @petruccigp)
  • Add Lua functions for switching pages and control sets (Pages functions)
  • Call Lua functions only when pad’s on or off value is defined (requested by @oldgearguy)
  • Improve Lua script garbage collection. Memory is now freed automatically. (reported by @Flyweight and @oldgearguy)
  • Lower memory requirements of Lua function storage.
  • Fix issue of backlight going completely dark on hw 2.4. The range of the slider is still not 100% accurate on 2.4 but it does not allow the screen to go completely dark. (@jan)

An example preset of page switching with Lua is available at Page switching demo.


I’m still seeing 2.1.3 on the Download Page. Am I missing something?

hmm, just checked that, it looks ok on my side:

Maybe you have the page cached or something?

Sorry. My browser wasn’t updating the page. Reloaded and I see it now. Thanks.

1 Like

BUTTON_1 to BUTTON_6 are no longer defined constants?
No big deal since I was mainly concerned with the Patch Request button and that is still identifiable as PATCH_REQUEST

just checked that, I can see the constants are present and I can use them. Well, I verified that with

print("button: " .. BUTTON_1)
print("button: " .. BUTTON_6)

giving me …

What error do you get and when? Thx!

I was using a conditional in the patch.onRequest() method to see if it was because BUTTON_4 was pressed and that test was always failing.

if (buttonId == BUTTON_4) then

And do you get an error message in the log or something like that?

oh, you want me to actually do serious development and check log files??? lol

I didn’t look. I’ll have time later today to plug that code back in and see what is in the log file.
From the execution path, it appeared that the check was never succeeding.

1 Like

well yeah, I guess it’s a(nother) misunderstanding on my part.
Based on the docs, I assumed onButtonDown() was a built in function that was invoked every time a button was pressed.

Apparently it is not. Therefore the variable was never being set therefore it never matched BUTTON_4.

Are there built-in callbacks for buttons/pots/screen touches?