Releases: shanteacontrols/OpenDeck
Releases · shanteacontrols/OpenDeck
v7.4.0
New features
- Added support for
muxonmux
analog type in YAML configuration: this connection scheme enables the use of multiple 4067 16-channel analog multiplexers through just one analog input on MCU since multiplexers are controlled by a single "controller" multiplexer - Implemented LED indication of factory reset procedure (in/out indicators will now blink individually every 250ms)
- Board will now be rebooted after restore procedure
Fixes
- Fixed firmware update procedure on RP2040
- Various fixes for serial communication (MIDI/touchscreen) on RP2040
- Fixed potential factory reset on reboot if backup procedure has been performed
- Fixed LED indexing on OpenDeck v3 boards
Improvements
- USB connection is now disconnected immediately on factory reset to avoid potential USB lockups
- Restore procedure is now a lot faster than before
- Increased the database size for parameters on RP2040, allowing for more presets on larger boards
Other
- Removed support for DMX
- Removed support for bootloader on Arduino Mega (not enough flash)
- Moved low-level UART implementation from OpenDeck project to core submodule
- Added support for OpenDeck v3.1 boards and schematic / board design files
- Improved the speed of hardware tests
v7.3.3
v7.3.2
v7.3.1
New features
- Added support for Raspberry Pi Pico
Improvements
- Better UART performance on nRF52 boards
- Improved ADC stability on STM32 boards
Other
- Added support for flashing via pyocd
- Moved generic I2C/ADC handling to core module
- Dropped hex files from release (not needed anymore)
- Misc build tweaks
v7.3.0
New features
- Added the new concept of internal program change offset (see #157 for more details)
Fixes
- Fixed broken
flash.sh
script for flashing AVR boards
Other
- Disabled DMX support on Teensy++ 2.0 by default (lack of RAM)
- Disabled touchscreen support on Arduino Mega2560 by default (lack of RAM)
- Added the ability to analyze the code with Infer
- Logging format is now consistent between glog library and internal firmware logging
- Refactored database access in various modules (implemented admin/user model)
v7.2.0
New features
- Added support for multiple shift registers for rows in button matrices (16x8/24x8/32x8 etc. matrices are now possible)
- Added support for MAX7219 LED driver
- Integrated board LEDs now blink during firmware update
- Added support for OpenDeck v3 boards (A and B variants)
- Added DMX support on nRF52 boards
- Added firmware update support on nRF52 boards
- When BLE MIDI is used, the advertised name now contains BLE acronym for clarity (e.g. OpenDeck BLE | nrf52840dk)
- Added support for Arduino Nano 33 BLE
Improvements
- Improved error reporting during custom board builds when multiplexer pins are omitted
- Improved analog readouts from nRF52 boards
Fixes
- Fixed some incorrectly defined pins for Adafruit ItsyBitsy nRF52840 board
Other
- Moved most of the generic board code to core module
- Reworked I2C support - supported I2C components can now use dedicated I2C channels instead of all components being on the same one
- Moved integrated LED flashing on startup to application from bootloader
- Misc refactoring of build scripts and board directory
v7.1.0
New features
- Added support for Bluetooth MIDI on nRF52 boards
- Added support for Adafruit ItsyBitsy nRF52840 Express board
Fixes
- Fixed DFU flashing via make
- Fixed broken MIDI thruing (regression from previous release)
Other
- Misc internal cleanups/improvements/reorganisation
v7.0.0
New features
- Added initial support for Nordic nRF52840 MCUs (no Bluetooth yet - support will be added in future releases)
- Added the ability to specify global MIDI channel for all components
- Added the ability to specify "omni" MIDI chanel 17
- For outgoing data, channel 17 will send MIDI messages on all MIDI channels
- For incoming data, setting the channel to 17 will ignore the channel (eg. for LEDs this will make them listen to all MIDI channels)
- Added "Only note off" and "Only CC 0" message modes for buttons: combined with omni MIDI channel setting this makes it possible to configure the buttons as "kill" switches to mute all channels if supported by the controlling software / gear
- Reworked MIDI thru options (DIN to DIN, DIN to USB, USB to DIN, USB to USB)
- Implemented double-buffering for DMX to avoid tearing
- Added the ability to control DMX channels via SysEx
- Added the ability to control DMX channels via connected components - DMX message mode can now be assigned to buttons, encoders and analog components
Fixes
- Fixed broken indication of current preset
Other
- Switched to tinyusb USB stack for ARM targets
- Switched to GoogleTest framework for all tests for easier mocking
- Simplified adding support for various flashing tools
- Refactoring of build system, database, scripts and many other internal details
- Reworked MIDI library to make it easier to add different transport mechanism and to simplify thruing across different transports
- Added initial logging mechanism
- Added clang-tidy infrastructure for code linting and to improve code styling consistency
- Removed support for analog components on touchscreen