-
Antonio Borneo authored
Remove useless space/tab at end of lines. Remove spaces in indentation and replace with tab. Signed-off-by:
Antonio Borneo <borneo.antonio@gmail.com> Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
Antonio Borneo authoredRemove useless space/tab at end of lines. Remove spaces in indentation and replace with tab. Signed-off-by:
Antonio Borneo <borneo.antonio@gmail.com> Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
Automatakit API
aka project 'consistent-sandbox'
Automatakit is a system architecture for robotics where machine controllers are extensible, and organized around the principle of event propagation: things happen because of other things that have happened beforehand.
We aim to take an event graph architecture down through multiple layers of computing, routing event propagation also through a message passing network between multiple cpus each operating modular hardware endpoints.
This project serves the developement environment / api we use to write and represent programs that are event graphs.
For MW
-
don't forget
-
when hooking back to server, server.emitChange(key) ... from writeStateObject
-
does state copy over successfully from loaded mod?
-
fundament
-
the basic unit is a .js file having inputs, outputs, and state objects
-
we can compose programs of these modules, being collections of them with connections
-
we can represent these programs heirarchically, or in a flat manner ... heirarchy just requires an extra wrap, we do it later
-
load / save programs (req. prgmem representation)
-
rewrite ui & transfers to use this rep.
-
UI
-
title bar descr. how to operate
-
'L' for load, 'M' for new module, type for module search ?
-
right-click delete / copy etc
-
evt line highlight on hover
-
hover display type
WRT Representations
OK
Module have Inputs Outputs State (initial states are settings)
Also Names, IDs Paths-to-source
Modules-that-represent-remote-computing also have Ports that connect to a Link
To assemble a representation of these, we want to have a kind of 'netlist' that, for convenience, we'll treat like a JSON object. We want heirarchy, so consider the representation having 'top-level' outputs / inputs / state as well ?
Programming Notes
title bar L for load prgmem M for add module
- once we can plan gcode sequence, work towards more
- better hardware abstraction, i.e. stepper.port = bridge.port('0,1') stepper.port.onPacket = function(){ ... } callbacks ?
- UI elements, i.e. demonstrating slider for individual axis movements, or just an arrow / keypad capture on mouseover thing
Deeply Missing
- delete modules / module context menu
- load / save program
- decent page nav
- title bar / instructions
- heirarchy zoom
- states / uis / etc - one off / one-at-a-time for updates
- i.e. all f'n update calls are to single module-global state update
- !
- states / getters / setters not applicable to sub-elements in an object within state
- i.e. array access
- consistent dereferencing, type checking implementation?