Skip to content

SSL-Roots/FrootsPiDriver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FrootsPiDriver

FrootsPiのデバイスドライバ

Installation

Raspberry Pi のセットアップ

Raspberry PiをFrootsPi基板に取り付ける前に/boot/firmware/usercfg.txtに次の行を追加してください。

$ sudo vim /boot/firmware/usercfg.txt`
   enable_uart=0
   dtoverlay=spi1-3cs
   dtoverlay=pi3-disable-bt
   dtparam=i2c_baudrate=100000
   dtoverlay=mygpio

enable_uart=0でUARTをオフしないと、FrootsPi基板接続じにシリアルコンソールが起動してしまい、ログインできません。

dtoverlay=spi1-3csdtoverlay=pi3-disable-btは、SPI1を使用するために必要です。 SPI1が使用できる代わりにBluetoothが使えなくなります

dtparam=i2c_baudrate=100000はI2Cのクロック周波数を100kHzにします。 周波数の適正値は調査中です。

dtoverlay=mygpioはGPIOのプルアップ/プルダウンを設定するために必要です。 後ほどmygpio.dtboを生成し、/boot/firmware/overlays/にコピーするスクリプトを実行します。

FrootsPiDriverをインストールする(簡単)

$ sudo apt install linux-headers-$(uname -r) build-essential
$ git clone https://github.com/SSL-Roots/FrootsPiDriver
$ cd FrootsPiDriver/utils
$ ./start.bash

FrootsPiDriverをインストールする(ちょっと複雑)

$ sudo apt install linux-headers-$(uname -r) build-essential

# モジュールのビルド
$ git clone https://github.com/SSL-Roots/FrootsPiDriver
$ cd FrootsPiDriver/srd/driver
$ make

# モジュールのインストール
$ sudo insmod frootspi.ko
# デバイスファイルに権限を与える
$ sudo chmod +x /dev/frootspi*

# デバッグメッセージの確認
$ dmesg

# モジュールのアンインストール
$ sudo rmmod frootspi

GPIOのプルアップとプルダウンを設定する

$ cd FrootsPiDriver/utils
$ ./install_dtbo.bash
$ sudo reboot

DeviceFiles

サンプルプログラム集 (./samples) も見てね。

Hello World (/dev/frootspi_hello0 ~ 2)

デバイスドライバ(キャラクタデバイス)の練習用で作成したデバイスファイルです。

# 使い方
$ echo "HELLO FROOTSPI" > /dev/frootspi_hello0 
$ cat /dev/frootspi_hello0 
HELLO FROOTSPI

プッシュスイッチ (/dev/frootspi_pushsw0 ~ 3)

プッシュスイッチの状態を取得します。 負論理回路なので押されたら0です。

# 使い方
$ cat /dev/frootspi_pushsw0 
1

ディップスイッチ (/dev/frootspi_dipsw0, 1)

プッシュスイッチの状態を取得します。 負論理回路なのでON = 0です。

# 使い方
$ cat /dev/frootspi_dipsw0
1

LED (/dev/frootspi_led0)

LEDを点灯・消灯させます。 1 = 点灯0 = 消灯です。

# 使い方
$ echo 1 > /dev/frootspi_led0
$ echo 0 > /dev/frootspi_led0

LCD (/dev/frootspi_lcd0)

LCDに文字を出力します。 半角英数記号と半角カタカナに対応してます。 改行コードを入れると2行目にも出力します。

# 使い方
# エスケープシーケンスを使うためechoに -e オプションを付けます
# 改行コードを書き込むため、teeコマンドを使います
$ echo -e "FrootsPi\nフルーツパイ" | tee /dev/frootspi_lcd0
FrootsPi
フルーツパイ

Development

フォーマットを整える方法

$ sudo apt install clang-format
$ cd FrootsPiDriver/src/driver
$ clang-format -i frootspi_main.c

その他

About

FrootsPiのデバイスドライバ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published