OPEnSLab-OSU / Spool

GNU General Public License v3.0
2 stars 1 forks source link

Generate Loom Config and maybe sketch #20

Open eliwinkelman opened 4 years ago

eliwinkelman commented 4 years ago

Is your feature request related to a problem? Please describe. This request is related to a few problems:

  1. A user creating a loom config has to go through the often tedious (and sometimes bug inducing) process of finding modules they need, the constructor parameters for each module, and what format the loom config wants them in. A user also needs to make sure that they enable the right functionality in the sketch file which requires knowing either what module type a module (LoomV2) or the class name of the module (LoomV3).
  2. When Spool receives data from a device, it has no knowledge of what that data should look like, e.g. what modules a device has and what information these modules return. This means that there is no way to check the data against a schema and make sure it is valid. It also means that Spool is confined to very simple and general methods for parsing and displaying device data. Analytics cannot be engineered for specific modules because Spool has no consistent knowledge/interface for the Loom modules.

Describe the solution you'd like Add a UI in Spool that allows users to input the information necessary to generate a config.h file and maybe a started sketch file. The UI would let users select which modules they want to include and provide a user-friendly input interface to configure each module. Ideally, the UI would be generated by parsing the Doxygen comments of the current version of Loom to find every module and its config parameters. Once a user has filled out the modules they want, Spool turns their input into a config.h file and (maybe) sketch file the user can download and use with no modifications.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.