Skip to content
Snippets Groups Projects
Select Git revision
  • 91d8f616fb463a3568a103b24f3cf1684e139939
  • master default protected
  • develop
  • pset7
  • pset6
  • pset3
6 results

notes.html

Blame
  • link.js 10.78 KiB
    /*
    
    hookup,
    
    */
    
    // HEADER
    import {
      Hunkify,
      Input,
      Output,
      State
    } from './hunks.js'
    // END HEADER
    
    import {
      TSET,
      LK,
      MSGS,
      findPhy
    } from '../typeset.js'
    
    function Link() {
      Hunkify(this)
    
      let debug = false
    
      let dtin = new Input('byteArray', 'data', this)
      this.inputs.push(dtin)
    
      let dtout = new Output('byteArray', 'data', this)
      this.outputs.push(dtout)
    
      // needs 2 trak status
      let isActive = new State('boolean', 'isActive', false)
      let otherLink = new State('uint16', 'otherLink', 0)
      this.states.push(isActive, otherLink)
      // default messages -> manager, besides also data link
      let inputList = new State('string', 'inputList', "mgrMsgs (byteArray)")
      let outputList = new State('string', 'outputList', "mgrMsgs (byteArray)")
      this.states.push(inputList, outputList)
    
      /* ---------------------------    ---------------------------- */
      /* ------------------ OP ON KEYS FROM STATE ------------------ */
      /* ---------------------------    ---------------------------- */
    
      let getTypeAndNameKeys = (str) => {
        let keys = str.split(',')
        // console.log('keys', keys)
        let ks = new Array()
        for (let i in keys) {
          let tk = keys[i].substring(keys[i].indexOf('(') + 1, keys[i].indexOf(')'))
          let nk = keys[i].substring(0, keys[i].indexOf(' ('))
          if (nk[0] == ' ') nk = nk.substring(1)
          if (tk.length < 2 || nk.length < 2) {
            this.log('bad key pair on inputs / outputs at link')
          } else {
            ks.push({
              typeKey: tk,
              nameKey: nk
            })
          }
        }
        return ks
      }
    
      let swapLists = (newList, input) => {
        // list,
        let nks = getTypeAndNameKeys(newList)
        // old list,