https://github.com/tangojs/tangojs-core
Core API for TangoJS.
https://github.com/tangojs/tangojs-core
Last synced: about 1 year ago
JSON representation
Core API for TangoJS.
- Host: GitHub
- URL: https://github.com/tangojs/tangojs-core
- Owner: tangojs
- License: mit
- Created: 2015-09-17T22:26:19.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2018-05-22T07:05:38.000Z (about 8 years ago)
- Last Synced: 2024-04-26T23:02:59.644Z (about 2 years ago)
- Language: JavaScript
- Homepage: https://tangojs.github.io
- Size: 57.6 KB
- Stars: 1
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tangojs


[ 
](https://www.npmjs.com/package/tangojs-core)
TANGO Control System client library for web browsers.
## Examples
```javascript
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:
```bash
npm install --save tangojs-core
```
And include in your project:
```javascript
import tangojs from 'tangojs-core'
```
If you are in browser, load it like:
```html
tangojs-core/lib/tangojs-core.js
```
*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`](https://tangojs.github.io/apidocs) interface in the docs).
Available connectors:
* [`tangojs-connector-local`](https://github.com/tangojs/tangojs-connector-local)
* [`tangojs-connector-mtango`](https://github.com/tangojs/tangojs-connector-mtango)
## Documentation
API docs are available [here](https://tangojs.github.io/apidocs).
## License
MIT