RaspberryPi

TWELITE_Stage インストール (Raspberry Pi)

RasPi

TWELITE Stage アプリは、一部を除く Raspberry Pi でも動作します。

  • マウスとタッチスクリーンに対応します。

  • ビルドツールチェインが付属しており、コンパイルもできます。

  • 実行形式には、X11版のほかにフレームバッファ版(nox)があるほか、半透明エフェクトなどを省略した軽量版があります。

お使いの RaspberryPi の OS 種別、バージョン、インストール状況によっては動作しない場合や、再コンパイル等が必要になる場合があります。

環境

TWELITE STAGE は以下の環境で開発・動作確認しています。

  • ハードウェア

    • Raspberry Pi 3 Model B

    • LCD Screen: Raspberry Pi Touch Display (7")

  • ソフトウェア

    • Raspberry PI OS (32bit) Lite (Version:August 2020)

既知の問題・制限事項

  • 1回目の起動で /dev/serial0 の動作に失敗することがあります。

  • Raspberry Pi 4B では /dev/serial0 の動作は未検証です。

  • Raspberry Pi 4B ではタッチスクリーンの動作は未検証です。

  • TWELITE STAGE への入力文字列が/dev/tty1上で動作してるシェルやgettyへ入力文字列がそのまま渡されます。/dev/tty1から起動することを推奨します。

  • 他のインストールや動作のプログラム(X11など)に影響を受けることがあります。

アーカイブの展開

ダウンロードしたアーカイブファイルは、パス名に空白や日本語などが含まれないフォルダに展開します。

以下ではRaspberry Piのホームフォルダに展開しています。

$ cd /home/pi
$ unzip MWSTAGE2020_XX_YYYY.zip

フォルダ構成

../MWSTAGE
     TWELITE_Stage.run    TWELITE_Stage アプリ
     BIN/                 ファームウェアBINファイル
     MWSDK/               MWSDK ライブラリなど
     TWELITE_Stage/       TWELITE_Stage アプリ関連ファイル

デバイスドライバ

TWELITE STAGE から MONOSTICK や TWELITE-R を認識するためには、ftdi_sioモジュールのアンロードや、USBデバイスに対する読み書き権限の付与が必要です。

USBデバイスのIDを以下に示します。

  • ベンダーID 0x0403

  • プロダクトID 0x6001(MONOSTICK,TWELITE R) または 0x6015 (TWELITE R2)

この設定を自動化するための udev の設定スクリプトを用意しています。/etc/udev/rules.d に定義をコピーして、設定をリロードしています。設定後は USB デバイスを抜き差ししてから TWELITE_Stage.run を実行してください。起動直後の画面で USB デバイスが表示されたなら、設定が反映されています。

$ cd ./MWSTAGE/TWELITE_Stage/INSTALL/ubuntu/
$ sudo ./set_udev_sudo.sh

定義ファイル(読みやすいように改行しています)

ACTION=="add",
   ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
   MODE="0666",
   RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"
ACTION=="add",
   ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
   MODE="0666",
   RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"

シリアルポートの取り扱い

上述の環境では、raspi-config よりシリアルポートの設定をすることで /dev/serial0 が利用できます。

  $ sudo raspi-config

  メニューより
  "3 Interface Options    Configure connections to peripherals"
  →"P6 Serial Port Enable/disable shell messages on the serial connection"

  以下のようにログインシェルとしては利用しない、ハードウェアを有効化するを選択します。
  "Would you like a login shell to be accessible over serial?" -> <No>
  "Would you like the serial port hardware to be enabled?" → <Yes>

配線例

 [TWELITE]               [RaspberryPi]
  GND  ------------------ Gound (#6,#9,#14,#20,#25,#30,#34,#39のいずれか)
  TXD(DIO6,DIP#10) ------ GPIO15/UART0 RXD (#10)
  PRG(SPIMISO,DIP#7) ---- GPIO23 (#16)
  RXD(DIO7,DIP#3) ------- GPIO14/UART0 TXD (#8)
  RST(RESETN,DIP#21) ---- GPIO22 (#15)
  VCC  ------------------ 3V3 (#1,#17のいずれか)
  SET(DIO12,DIP#15) ----- GPIO12 (#32)
  • TWELITE, Raspberry Pi それぞれのマニュアルを参照してください。

  • DIP# は TWELITE DIP のピン番号です。

  • 上記の配線は TWELITEが安定稼働することを保証するものではありません。

TWELITE Stage アプリの起動

  • フレームバッファ版はX11のデスクトップ上では動作しません。X11を終了しておきます。

  • TWELITE_Stage.runを実行します。スクリーン画面上のTWELITE Stageアプリが表示されます。

留意事項

  • マウスとタッチパネルに対応します。

  • TWELITE Stage アプリ中で、入力した文字はコンソール画面にも表示される場合があります。

その他

/dev/dri

TWELITE_Stage.run 起動時に以下のエラーが出る場合がありますが、無視して構いません。

  "The path /dev/dri/ cannot be opened or is not available"

メモリ不足

CPU数が4以上の場合、ビルド時はCPU数を一つ引いた値の並列コンパイルを実行します(4コアなら3並列)。 場合によってはメモリ不足が発生するかもしれません。その場合は並列数を変更してください。

RaspberryPi 4

この情報は十分な検証を行っていません。

以下の設定が必要です。OpenGL関連のドライバが有効にする必要があります。

  • raspi-config の Advanced Settings → A2 GL Driver → G2 GL (Fake KMS) を選択します

  • libgles-dev パッケージを導入しておきます

  • タッチスクリーンの動作は未検証です

最終更新