Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 3.97 KB

README.md

File metadata and controls

86 lines (55 loc) · 3.97 KB

Polyend Preset Sandbox

Introduction

Welcome to the alternative open source firmware for the Polyend Preset module for Eurorack system.

This project is a sandbox for developers willing to build their own functionality for the Preset hardware, be it sequencing, preset management or whatever else imagination brings.

It contains:

Below you will find instructions and how to compile the examples and build your own functionality. If you prefer to jumpstart to playing with one of the examples first, you can download a prebuilt binary of the Euclidean generator in the Releases section and then read Flash the device below.

Setup

  • Download/clone the project from github
  • Install tools to build the firmware, two options are available:
    • GNU Arm toolchain for command-line use.
      • Specifics of the installation depend on your operating system.
    • MCUXpresso IDE if you prefer GUI.
      • You need both the IDE and the SDK for MK20DX256 board. You can install the latter manually or from within the IDE.
  • You will also need the Polyend Tool to flash new firmware to your Preset device.
  • (Optional) For easier flashing and to be able to debug on target get a debug probe, for instance the LPC-Link2

Build firmware using command line

In your shell just run:

make

the build should finish shortly and end with (section sizes may differ):

copy from `build/preset.axf' [elf32-littlearm] to `build/preset.hex' [ihex]
   text	   data	    bss	    dec	    hex	filename
  36568	      0	   7428	  43996	   abdc	build/preset.axf
copy from `build/preset.axf' [elf32-littlearm] to `build/preset.bin' [binary]

As you can see, the final hex file is now available at build/preset.hex.

Build firmware in MCUXpresso IDE

  • Create a new workspace and add this project to it - .cproject with all settings is included in the repository.
  • Right-click on the project root node and choose Build from the context menu.
  • Console window should open and after a few seconds end with (section sizes may differ):
copy from `Preset.axf' [elf32-littlearm] to `Preset_1.1.16_20201215_1645.hex' [ihex]
   text	   data	    bss	    dec	    hex	filename
  54412	      0	   7424	  61836	   f18c	Preset.axf
 

15:27:36 Build Finished. 0 errors, 0 warnings. (took 1s.570ms)
  • Final hex file is now available in either the Release or Debug folder (depending on active configuration)

(Refer to MCUXpresso manual if you are new to the IDE)

Flash the device

Use the hex file to flash the firmware to your device using the Polyend Tool - check included !instructions.txt.

You can always revert back to the original Preset firmware - just download it and flash it the same way.

Modify

There are two examples of what can be done with this sandbox, see helloApp and euclApp in the app folder.

By default euclApp is enabled.

To enable another application just edit APP_CLASS in main.cpp.

You can create your own class inheriting from presetApp or just modify one of the examples.

All the API you need is available in presetApp - study the comments there as well as the examples. If anything is not clear you can ask in the Issues section of the project.

Have fun!