Created
May 24, 2012 10:26
-
-
Save triffid/2780735 to your computer and use it in GitHub Desktop.
netrap object model
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Object Model for a netrap server, exposed via AJAX | |
server-server protocol may substitute a server object for TOP so tree-walk can be performed. | |
listPrintersWithCapabilities() is the major function to be implemented, this should also cause a broadcast amongst any server-server networks where all other functions are server-local | |
TOP | |
+- Printers[] | |
| +- Printer | |
| +- capabilities | |
| | +- PLA/ABS | |
| | +- color | |
| | +- size | |
| | +- fine or fast | |
| | +- other arbitrary name/value pairs | |
| +- listCapabilities() => string_pair capability_pair_list[] | |
| +- getCapability(string capability_name) => string capability_value | |
| +- setCapability(string capability_name, string new_value) | |
| | | |
| +- properties | |
| | +- temperature | |
| | | +- nozzle | |
| | | +- bed | |
| | +- position | |
| | | +- X | |
| | | +- Y | |
| | | +- Z | |
| | | +- E | |
| | +- fan speed | |
| +- listProperties() => string property_name[] | |
| +- getProperty(string property_name) => string property_value | |
| +- setProperty(string property_name, string property_value) | |
| | |
+- listPrinters() => string printer_names[] | |
| | |
+- getCurrentPrinter() => string printer_name | |
+- setCurrentPrinter(string printer_name) | |
| | |
+- listPrinterCapabilities() => string capability_names[] | |
+- listPrintersWithCapabilities(string_pair capability_pair_list[]) |
Author
triffid
commented
May 29, 2012
via email
On Tue, May 29, 2012 at 2:25 PM, Duane Johnson < ***@***.*** > wrote:
I think there's a difference between discrete capabilities and continuous
capabilities. The "all colors" I was referring to is supposed to indicate
that the printer is capable of printing colored voxels--continuous
variations of any color at any location in space. On the other hand, we
will have "dual extruders" in our near-term printers that will have two
(discrete) colors to choose from. How do you tell the difference between a
printer that can print continuous variations and blends of any color
(CMYKW) and one that prints five discrete colors, Cyan, Magenta, Yellow,
Black and White (CMYKW)?
ah I get your point now, this would have to be a separate capability-
colour mixing, or perhaps something even more specific
Do you have any ideas for a system that's better than a list of arbitrary
capabilities that we could sensibly implement on smoothie or maybe even
integrate into sprinter or marlin?
What if we integrate sqlite into netrap? I.e. store the capabilities of any
connected printer in a table. Then let sockets send SQL as queries?
On Mon, May 28, 2012 at 11:33 PM, triffid <
[email protected]
… wrote:
On Tue, May 29, 2012 at 2:25 PM, Duane Johnson <
***@***.***
> wrote:
>
> I think there's a difference between discrete capabilities and continuous
> capabilities. The "all colors" I was referring to is supposed to indicate
> that the printer is capable of printing colored voxels--continuous
> variations of any color at any location in space. On the other hand, we
> will have "dual extruders" in our near-term printers that will have two
> (discrete) colors to choose from. How do you tell the difference between
> a
> printer that can print continuous variations and blends of any color
> (CMYKW) and one that prints five discrete colors, Cyan, Magenta, Yellow,
> Black and White (CMYKW)?
ah I get your point now, this would have to be a separate capability-
colour mixing, or perhaps something even more specific
Do you have any ideas for a system that's better than a list of arbitrary
capabilities that we could sensibly implement on smoothie or maybe even
integrate into sprinter or marlin?
---
Reply to this email directly or view it on GitHub:
https://gist.github.com/2780735
On Wed, May 30, 2012 at 12:44 AM, Duane Johnson < ***@***.*** > wrote:
What if we integrate sqlite into netrap? I.e. store the capabilities of any
connected printer in a table. Then let sockets send SQL as queries?
remember that we want smoothie to act as a netrap server, don't want to
make it too complex!
smoothie already has code set up for it to access a flat file database (its
config) and that's all we need at this level I think
we can do SQL queries as a protocol upgrade which smoothie won't support,
so let's get the low tech method working before replacing it with amazing
high level stuff :)
Agreed
On Tue, May 29, 2012 at 10:38 AM, triffid <
[email protected]
… wrote:
On Wed, May 30, 2012 at 12:44 AM, Duane Johnson <
***@***.***
> wrote:
>
> What if we integrate sqlite into netrap? I.e. store the capabilities of
> any
> connected printer in a table. Then let sockets send SQL as queries?
remember that we want smoothie to act as a netrap server, don't want to
make it too complex!
smoothie already has code set up for it to access a flat file database (its
config) and that's all we need at this level I think
we can do SQL queries as a protocol upgrade which smoothie won't support,
so let's get the low tech method working before replacing it with amazing
high level stuff :)
---
Reply to this email directly or view it on GitHub:
https://gist.github.com/2780735
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment