Skip to content
Snippets Groups Projects
Select Git revision
  • 0da7e70fd9bc3e76b5a687a4341dc27e4040668e
  • master default protected
2 results

.gitkeep

Blame
  • README.md 4.49 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

    • rick click on menu bar to delete module

    • delete module ? then we're done ...

    • walk program units and change

    • what program units do we want?

    • try demo machine setup ... want flow control,

    • jogging, etc ... keydown units ?

    • documentation

    • upd8ts to modules:

    • rename inout to jsunit

    • buttons get onClick evt

    • as you test, to track,

    • weird state types solution: arrays, numbers, buttons, etc ?

    • UI desires

    • off-screen divs get pointers-to so that we don't get lost

    • 'h' or something to zoom-to-extents

    • GIFS

    • load a program

    • drag around

    • zoom in and out

    • add a module

    • hook events up

    • rm events

    • rm modules

    • change settings

    • next spiral

    • programs come in chunk-wise and get placed

    • programs are modules are heirarchical

    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

    15 Minute Tasks

    • @ views.js, uiRequestModuleMenu and uiRequestProgramMenu don't properly build trees from folder structure. similarly, reciprical fn's in client.js do the same

    • @ these load / save functions could also reach into the modules' source to retrieve their proper names, as spec'd in description ...

    • 's' for save program uses hack-asf DOM alert to ask for path

    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