tangojs
TANGO Control System client library for web browsers.
Examples
import tangojs from 'tangojs-core'
import { MyConnectorImpl } from 'my-tangojs-connector'
let conn = new MyConnectorImpl(...)
tangojs.setConnector(conn)
let devProxy = new tangojs.api.DeviceProxy('tangojs/test/1')
devProxy.get_attribute_list().then(attributes =>
console.log(`Attributes: ${attributes}`)
)
let attProxy = new tangojs.api.AttributeProxy(
'tangojs/test/1/number_scalar')
let in = new tangojs.api.AttributeValue({
value: 32
})
attProxy.write(in)
attProxt.read().then(outVal =>
console.log(`Value: ${outVal.value}`)
)
let cmdProxy = new tangojs.api.CommandProxy('tangojs/test/1/double')
let argin = new tangojs.api.DeviceData(10)
cmdProxy.inout(argin).then(result =>
console.log(`Command: 2*10 = ${result.value}`)
)
Installation
Install it via npm:
npm install --save tangojs-core
And include in your project:
import tangojs from 'tangojs-core'
If you are in browser, load it like:
<script type="text/javascript">tangojs-core/lib/tangojs-core.js</script>
note: this attaches tangojs.core
object to the window
.
Connectors
TangoJS is designed to support multiple connectors (backends).
A connector is basically a low-level proxy between the TangoJS frontend stack
and the server-side implementation. You can use one of existing connectors or
implement your own (refer to the
Connector
interface in the docs).
Available connectors:
Documentation
API docs are available here.
License
MIT