Commit graph

10 commits

Author SHA1 Message Date
John Stäck
671dfe9b2c Define constant for "dipswitch" positions 2019-07-25 08:47:58 +02:00
John Stäck
7b179d4343 Add settings for fast boot, bcas mode, 3rd trill, dac out 2019-07-25 08:47:58 +02:00
John Stäck
34a3dd0613
Merge pull request #17 from Trasselfrisyr/numenu
Full Menu Refactoring
2019-06-25 13:06:02 +02:00
John Stäck
b0ad504761 Fake some useful compiler flags 2019-06-24 15:39:36 +02:00
Mikael Degerfält
699546df8c Handle sub menus in a generic way and moved adjust menu logic to separate file
This is a big one where I can finally reap what I sown. Sub menu entries now provide two functions, one to get the text for the current value and one to apply changes aka save to EEPROM. With this I can replace so much code in the menu() function that handles input, but was _almost_ identical. The process of converting the old menus are not completed, and I can probably remove about 200 lines more code.

The question is still what to do with less general menus like the rotator and fast patch menu.

One problem with the current implementation is that it is RAM heavy. It seems the const MenuEntry structs are placed in ram, because there is a pointer to RAM that I assume is allocated during execution and therefore the address cannot be stored in ROM.

My plan has been to put all the configuration fields (that are stored in EEPROM) into a struct or an array. When that is implemented, I can instead store the offset into the array in the const struct, which should be available at compile time and therefore can reside completely in ROM.
2019-06-23 17:14:17 +02:00
John Stäck
2332f37eca Advanced unusage of parameters 2019-06-23 14:51:31 +02:00
John Stäck
3d38f50d98 Add deeper simulation of USB midi 2019-06-23 14:30:32 +02:00
Mikael Degerfält
09a35aa1d9 Added flag to build for release, also set rpath for app bundle 2019-06-22 23:08:39 +02:00
Mikael Degerfält
0871b2582d Simulator now uses ImGui for stuff 2019-06-21 18:08:24 +02:00
Mikael Degerfält
266b3334cb Simple simulation code
Builds a native program on MacOS that runs the NuEVI firmware compiled for x86_64.
Only input is arrow keys for menu buttons for now. Only output is console and display.

Copied some more library files into the simulation folder, and renamed the modified *.cpp files from the libraries to *_sim.cpp.
2019-06-13 20:51:45 +02:00