ability to define new firmware (for e.g. smoothieware)
- define which G-codes are supported and which ones are not
- define how certain actions are implemented trough G-code and M-code
- define how to connect to firmware
- define how to upgrade firmware
- define how to send g-codes directly (live printing)
- define how to store g-codes on printer
- define how to fetch list of "printable objects stored on printer" and how to start printing one of them
- define pause procedure, extrude / retract (to change filament during pause)
- anything else s3d needs to know about firmware..