Skip to content
Snippets Groups Projects
Select Git revision
  • af5cd85389ce885c83048817277d9acc018d6ddf
  • master default protected
  • v0.10.0
  • v0.10.0-rc2
  • v0.10.0-rc1
  • v0.9.0
  • v0.9.0-rc1
  • v0.8.0
  • v0.8.0-rc2
  • v0.8.0-rc1
  • v0.7.0
  • v0.7.0-rc2
  • v0.7.0-rc1
  • v0.6.1
  • v0.6.0
  • v0.6.0-rc2
  • v0.6.0-rc1
  • v0.5.0
  • v0.5.0-rc2
  • v0.5.0-rc1
  • v0.4.0
  • v0.4.0-rc2
22 results

NEWS-0.2.0

Blame
  • To find the state of this project's repository at the time of any of these versions, check out the tags.
    README.md 4.08 KiB

    Automatakit API

    aka project 'consistent-sandbox'

    img software img hardware

    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.

    img moving

    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?