Skip to content
Snippets Groups Projects
Select Git revision
  • 8b3bae437f573b24d2a2fb6db8b89d97e4e08558
  • master default protected
  • at_palomagr
3 results

rndmc

  • Clone with SSH
  • Clone with HTTPS
  • Jake's avatar
    Jake Read authored
    8b3bae43
    History

    Automatakit API

    aka project consistent-sandbox

    oy

    • cooler demo

    • jog option

    • port flushing ?

    • want a test / reset set

    • really, should be built into bridge (or hardware default objs)

    • read file ? default lines ? run it

    • then you have this multiline gcode / start / stop sequencing issue

    • and with it, scrolling around your messy program

    • and this change ui / return double bounce ?

    • want jog keys & speed commands w/ those buttons

    • really want those LIGHTS

    • really want to watch accelerometer

    • want to measure network speed

    • want to show motor torques coming back, set motor torques

    Majors to Address

    • 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 ?

    UI bugs /

    • reverse event lines ? .isLinked etc. ..

    Features we Want

    • UI classes
    • buttons, w/ colors & reasonable std. events
    • multiline input w/ current-line highlighting, terminal-write-in ?
    • 3js
    • prettier hw/sw representation
    • callbacks / duplex links ? handing over an object, basically
    • reload-in-place
    • title context menu
    • w/ proper event classes, context clicks for inputs / outputs / state elements ?
    • for crashes etc, how can we re-start / kick serverside from the browser? some other daemon program ?
    • write in logger functions
    • i.e. module.log('whatever') is wrapped at load into console.log() and sends serverside log message as well, with ID and name
    • this means writing module class that is extended

    remember

    you have friends

    • bro
    • sean
    • nathan

    links to things

    http://designmodo.github.io/Flat-UI/

    http://workshop.chromeexperiments.com/examples/gui/#1--Basic-Usage

    bootstrap, numeric.js ...

    http://backbonejs.org/#Events

    Desires

    • load / keep state
    • run headless with view into
    • collaborative program editing would be cool
    • program save / load / edit ?

    Model Consistency

    In Memory: array of modules

    Saved / interfaced with: json of this - so to load from this, we need paths and ids attached to each module on load time.

    To wrap / add heirarchy: this json object can be loaded the same as a program, given top level inputs and outputs, and made into another require()d module.

    Modules are tiny programs, specifics (inputs, outputs, state) are read by system and wrapped into UI. UI has access to write into state, and connect events together.

    To wrap, we write a representation in api-type rep, with one connection. We output the 'text line' of a Terminal into the 'text input' input of a gcode parser, and see the output / state bubble through the UI.

    • to test, cleanup and write gcode obj
    • confirm state change comes down to server
    • confirm event bubbles through in server
    • push event back to server ui ? dat.updatedisplay() ?

    For extra points, we read in the connection also with an SVG layer - iterating through connections of the represented program.

    The RPI