-
Notifications
You must be signed in to change notification settings - Fork 25
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.