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.
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 abutton
alias,sw1_press
andbutton_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.