# GR-PEACH IoT.js モジュールAPI仕様

これらは GR-PEACH 向け IoT.js 環境で使用可能なモジュール群です。

IoT.js の既存のモジュールの API 仕様については、以下をご参照ください。
https://github.com/pando-project/iotjs/blob/acae9c8b2d40e7598b8d39b630b79113ce880a7e/docs/api/IoT.js-API-reference.md

# モジュール一覧と主な機能

- aligned_bufferモジュール - アライメント指定可能なバッファ
- displayモジュール - LCDシールド基板に搭載された液晶の操作
- fixupモジュール - IoT.jsの既存のモジュールの修理
- graphicsモジュール - フレームバッファへのグラフィックスの描画
- jpegモジュール - マイコン内蔵のJPEGコーデックを利用したJPEGのエンコード・デコード
- nicモジュール - ネットワーク環境の制御
- videoモジュール - カメラシールド基板に搭載されたカメラからの画像の取得

# 対象プラットフォーム

- ハードウェア
  - GR-PEACH (株式会社コア)
    - https://www.core.co.jp/product/m2m/gr-peach/index.html
- ソフトウェア
  - JerryScript
    - https://github.com/pando-project/jerryscript
  - IoT.js
    - https://github.com/pando-project/iotjs

# 対象シールド基板

- GR-PEACH WIRELESS CAMERA Shield (株式会社コア)

  - https://www.core.co.jp/product/m2m/gr-peach/audio-camera.html

- GR-PEACH 4.3inch LCD Shield (株式会社コア)

  - http://www.core.co.jp/product/m2m/gr-peach/gr-lcd.html

# 使用例

    /* カメラで撮影したフレームをLCDに表示する例 */
    /* (エラー処理は割愛) */
    var video = require('video');
    var display = require('display');
    var AlignedBuffer = require('aligned_buffer').AlignedBuffer;

    var width = 480;
    var height = 272;
    var format = 'rgb565';
    var buf = new AlignedBuffer(width * height * 2, 32);
    var layer = 0;

    var lcd = display.openLCDSync({
      type: '4.3inch'
    });
    var camera = video.openCMOSCameraSync({
      width: width, height: height, format: format, type: 'ov7725'
    });

    camera.startSync(buf);
    lcd.startSync(layer, buf, format);