Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kimushu/canarium

PERIDOT board driver for Chrome/Node.js Applications
https://github.com/kimushu/canarium

canarium peridot

Last synced: 10 days ago
JSON representation

PERIDOT board driver for Chrome/Node.js Applications

Awesome Lists containing this project

README

        

Canarium - PERIDOT board driver
========

CanariumはChrome/Node.jsアプリケーション用の[PERIDOTボード](https://github.com/osafune/peridot)ドライバです。

通信仕様
-------

|通信仕様世代|対応ボードのシリーズ|コンフィグ\*1|Avalon-MM
マスタ\*2|ストリーム
入出力\*3|Canarium
バージョン|プラットフォーム|
|:--:|:--|:--:|:--:|:--:|:--:|:--:|
|**Gen1**|[PERIDOT Classic](https://github.com/osafune/peridot) および
[PERIDOT New Generations](https://github.com/osafune/peridot_newgen)|対応|対応|非対応|^0.9
>=1.0|Chrome (^0.9.x)
Node.js (>=1.0)|
|**Gen2**|[PERIDOT New Generations](https://github.com/osafune/peridot_newgen)|非対応|対応|対応|>=1.0|Node.js

*1) RBF(やRPD)を転送して、FPGAのコンフィグレーションをリアルタイムで行う機能。
*2) CanariumからQsys上のペリフェラル(Avalon-MM Slave)にアクセスする機能。
*3) Avalon-STやNiosII上の疑似ストリームファイルにデータを入出力する機能。

APIリファレンス
-------

対応ボード種別通信仕様クラス名とAPIリファレンスへのリンク
PERIDOT ClassicGen1Canarium または
CanariumGen1 (Canarium の別名として定義)
PERIDOT Piccolo (BOOT側)
PERIDOT Piccolo (USER側)
※Rubic対応ファームの場合Gen2CanariumGen2

使用例 / Examples (Gen1)
-------
```js
const { Canarium } = require('canarium');
const fs = require('fs');

let canarium = new Canarium();
// Connect to PERIDOT Classic (PS mode) on COM3 port
canarium.open('COM3')
.then(() => {
// Program FPGA
return canarium.config(fs.readFileSync('test.rbf'));
})
.then(() => {
// Read memory
return canarium.avm.read(0x10000000, 256);
})
.then((data) => {
// Show memory dump
console.log(data);

// Disconnect
return canarium.close();
});
```

使用例 / Examples (Gen2)
-------
```js
const { CanariumGen2 } = require('canarium');

// Connect to PERIDOT with Gen2 I/F on COM3 port
let canarium = new CanariumGen2('COM3');
canarium.open()
.then(() => {
// Create writable stream on Channel 8
let txStream = canarium.createWriteStream(8);
txStream.write(...);
.then(() => {
// ...
})
.then(() => {
// Disconnect from board
canarium.close();
});
```

インストール方法 / How to install
-------
- `npm install canarium`

変更履歴 / History
-------
See [CHANGELOG.md](https://github.com/kimushu/canarium/blob/master/CHANGELOG.md)

ライセンス / License
-------

This package is distributed under **MIT license**.