electro-smith / pd2dsy

Utility for converting Pure Data (Vanilla) patches to Daisy projects.
GNU General Public License v3.0
77 stars 11 forks source link

JSON board support #17

Closed CorvusPrudens closed 2 years ago

CorvusPrudens commented 2 years ago

This PR is built on [my fork of hvcc}(https://github.com/CorvusPrudens/hvcc/tree/feature/daisy_json), which implements board support through JSON.There are a number of improvements that have been made, from static code size (no more parsing messages using strings!) and a bit of execution speed.

Outputs are now supported, and both input and outputs can include a number of variants (for example, _red, _green, and _blue appended to an LED component will write that individual color). Aliases are also supported, as are variants of aliases (so for, say, sw1 which has a button alias, sw1_press and button_press both produce the expected result).

Invalid input and output parameters are caught at compile time and are clearly reported to the user. It should be a bit easier to find routing bugs now.

Custom json for either extending or defining entirely new boards isn't yet supported, but will be very easy to implement.

Right now only the patch and patch_sm have proper json files. I don't have any other boards, so I wouldn't be able to test them well. I should at least throw some together soon though.

This incorporates the bootloader additions, although it doesn't seem to actually execute on the hardware right now. That'll be investigated.

CorvusPrudens commented 2 years ago

Patch SM PD Support

CorvusPrudens commented 2 years ago

I believe there's one regression -- the custom value ranges haven't yet been implemented. Shouldn't be too bad, though.

stephenhensley commented 2 years ago

handled in #20