Skip to content

Communication Contract

Tyler Thomas Hart edited this page Mar 13, 2015 · 2 revisions
  • Defined Interfaces

    1. Daisy-Chain to Daisy-Chain (incl' CPU)
    2. Global Bus to CPU
    3. CPU Daisy-Chain code CPU global bus code
      • Start Command takes 2 unsigned ints x then y.
      • Returns a unsigned int == 1 if there was a block there.
    4. CPU Global Bus Code to Lexer
      • Lexer asks Global bus for function at arbitrary location
        • Lexer responds with either a function or NULL (no block at location) == enum`
        • Currently the CPUs unsigned int implementation.
      • Start Command to propagate, returns the same as point #3's return val
    5. On-Block Daisy-Chain to Global Bus
      • Daisy Chain calls a global bus function that sets comm address.
        • Function returns failure so the daisy knows not to propagate.
      • Timing and orchestration will be decided on separate contract.
    6. Parser to CPU Global Bus Code (For error lights).
    7. Interpreter to CPU Global Bus Code (For program outputs).

Clone this wiki locally