Closed DrVulpinus closed 9 years ago
yeah, i havent had a good idea how to do that. It would basically be just the challel map + scale factor and Max params (which sort of mapps) Any idea how to make it more generic?
I was thinking about this actually in a lot of detail, because as we want to add new kinematics and other capabilities, wouldn't it be best to have different namespaces for setups/components? For instance, if we wanted to have a namespaces for end effector, axis, hotend, extruder. Then you could have sub namespaces as well. If you have EndEffector.Delta, for instance, that would require one set of configs, versus EndEffector.LinearBox. That way we can arbitrarily change the namespaces on the device, and then NRConsole can basically create a simple list from the defined namespaces. As long as we can maintain some sort of pattern for that, it seems that would be a much better way to do things than to write specific code/classes that expect a certain set of configs to be on the device. If we can expand the namespace architecture you already have implemented, we can better keep to the core idea of keeping all configs on the device, and the user interface is "self-tailoring" to the device that gets plugged into it.
Thats a neat idea! In the same way the device can swap out what function pointers its using for the kinematics, it could also change which namespaces get loaded in and made availible on the reflection side.
I would like to get started working on the implementation of this, but I think I still need some help with how to create/edit the namespaces on the device. Are namespaces only able to be edited with a bootloader re-upload, or can they be changed on the fly, and where/how do I go about doing that?
I was thinking of creating a "DeviceProperties" namespace which could then have the sub-namespaces to store all of the information about the device.
Its a firmware edit, so we should meet to work this out together. I can get you up to speed on making edits to the firmware if your interested. Send me a google calendar invite to set a meeting?
I am trying to create the configuration panels for the different kinematics models (Delta, FrogLegScara, and LinearBox). I looked through the settings in the StateBasedConfigurationController, and it seems that there are only configs for Delta's (and maybe FrogLegScara), but I do not see settings that would apply to LinearBox devices (X size, Y size, etc...).