Skip to content

Websocket API for client application

Matthew Matz edited this page Jul 16, 2017 · 4 revisions

The BlocklyProp browser (client-side) javascript contains a websocket listener, normally on port 6009 of localhost, that allows a client application to serve as the intermediary between the browser-based web app and the Propeller hardware, usually via a USB connection.

The API below describes the JSON strings that can be sent or received between the browser and the application.

Here's what the BlocklyProp-Client/BlocklyProp-Launcher (application) will listen for:

  • type: 'load-prop'

  • action: 'RAM' | 'EEPROM' // String specifying action for loader

  • payload: // String base64 encoded Propeller image or ELF file to load (generated by Prop-GCC)

  • debug: 'none' | 'terminal' | 'graph' // Follow up action

  • portPath: // String path for chrome.serial to use

  • success: // unused, may need for callback/error handling

  • type: 'serial-terminal'

  • action: 'open' | 'close'

  • portPath: // String path used by chrome.serial

  • baudrate: // Integer baudrate

  • msg: // String message/text content

  • type: 'port-list-request' // request to send list of available serial ports

  • type: 'hello-browser' // request for hello-client response including version

  • baudrate: // Integer baudrate for serial connections, 115200 if undefined

Here is what the BlocklyProp site (browser) will listen for:

  • type: 'hello-client',

  • version: //String version (semantic versioning)

  • type: 'port-list',

  • ports: // Array of Strings list of ports used by chrome.serial

  • type: 'serial-terminal'

  • msg: // String message/text to be sent to the graph or terminal (whichever is open)

  • type: 'ui-command',

  • action: 'open-terminal' | 'open-graph' | 'close-terminal' | 'close-graph' | 'close-compile' | 'clear-compile' | 'message-compile' | 'alert' | 'console-log'

  • msg: // String message/text content

The 'ui-command' allows the BP-launcher/client to open, close, and message "modal" pop-ups like the compiler dialog and for opening and closing the terminal or graph.

Clone this wiki locally