Raspberry Pi

Raspberry Pi

ベアメタルRaspberry Piの例外処理の書き方

前回はRPiベアメタル版MicroPythonにPinクラスを追加しましたが、実装したのは入出力ができるだけの最低限の機能でした。 今後、GPIO周りの様々な機能を実装していくには、まず先に割り込みを実装しておくほうが良さそうです。 データ...
Raspberry Pi

MicroPythonにPinクラスを追加する(RPiベアメタル)

少しずつ進めているRaspberry Pi用ベアメタルMicroPythonですが、今日は基本中の基本のPinクラスを実装し、Lチカができるようになりました。 I2CやSPIを実装するにも、まずどのPinを使うか指定する必要がありますので、...
Raspberry Pi

Raspberry Piベアメタルプログラムへのパラメータの渡し方

Raspberry PiのベアメタルプログラムをQEMUで動作させる場合には、シリアルポートはMini-UARTではなく通常のUARTを使う必要があります。 これについて以前書いたときは、コンパイル時に#ifでどちらのUARTを使うかを指定...
Raspberry Pi

MicroPythonからラズパイのフレームバッファへ描画する

前回試した、Raspberry Piのベアメタルプログラミングでの画面表示を、ベアメタル版MicroPythonに載せてみました。 Raspberry PiのフレームバッファにMicroPythonから描画できました。 MicroPytho...
Raspberry Pi

Raspberry Piベアメタルプログラミングで画面表示をやってみた

ラズパイでのベアメタルプログラミング、再開しました。 これまで、Lチカ、UART、USBキーボード、USBキーボード(その2)と試してきましたが、今回は画面への描画です。 画面出力を制御するGPUから、フレームバッファのアドレスを取得し、フ...
Raspberry Pi

Respeaker 2-Mic pHAT

昨日試したSpeaker pHATと同時に、Seeed StudioのReSpeaker 2-Mics Pi HATも購入していたので、こちらもつないでみました。 こちらはステレオコーデックにステレオイヤホンジャック、2つのMEMSマイク、...
Raspberry Pi

Speaker pHATとButton SHIM

先日のInky pHATと一緒に購入した、pimoroni Speaker pHATも組み立てて動かしてみました。 後に写っているのはButton SHIMで、これも一緒に購入したものです。 Speaker pHATはラジカセっぽいデザイン...
Raspberry Pi

Inky pHATのための画像変換ツールを作ってみた

先日届いたpimoroni Inky pHATですが、記事にも書いたようにPythonライブラリで扱える画像ファイルは、ちょっと特殊な形式をしています。 そこで、普通のJPEG画像等から、Inky pHAT用のPNGファイルを生成するための...
Raspberry Pi

電子ペーパーディスプレイInky pHATを買ってみた

pimoroniから販売されているRaspberry Pi用のe-inkディスプレイ「Inky pHAT」に以前から興味があったので、買ってみました。 解像度は212×104ピクセルで、白黒赤の3色表示です。ちょっと珍しいですね。 表示面積...
Raspberry Pi

Raspberry Pi bare metal MicroPython+USBホストコントローラのテスト

前回、あれこれと考えたMicroPythonへのUSBキーボード接続ですが、とりあえず簡単にできそうなREPL専用の実装をやってみることにしました。 基本的には、REPLのためにシリアルポートから1文字ずつ読む関数mp_hal_stdin_...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(4)

ベアメタルRaspberry PiのUSBドライバの続きです。 csudで、Raspberry Pi Zero Wに直接接続したキーボードを取り外すと処理が正しく行えない問題を修正しました。 root hubからデバイスを取り外した際の「変...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(3)

前回の続きです。 以前にリストアップした中でちょっと触れていたcsudの64bit対応の派生版について、もう少し詳しく調べてみました。 下記のリポジトリにはコンパイル済みのバイナリがあり、マウスとキーボードの値が画面表示されます。 USB ...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(2)

昨日に引き続き、Raspberry PiのベアメタルUSBデバイスドライバ「csud」のRPi Zero W対応をしています。 昨日はUSBキーボードがRPi Zeroに直結された場合に、USB2.0のSplitパケットを送信しないように修...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(1)

引き続きRaspberry PiのベアメタルプログラミングでUSBデバイスを動かす調査です。 前回、Pi Zero WにUSBキーボードを直結するとcsudデバイスドライバがうまく動作しない原因は、本来送るべきでないSplitパケットが送ら...
Raspberry Pi

Raspberry PiのベアメタルUSBドライバの信号を観測してみた

以前調査したように、Raspberry PiのUSBコントローラのドライバには何種類かあり、最もシンプルな「csud」はベアメタルで使うには良さそうですが、Raspberry Pi Zero WではUSB Hubを使わないとデバイスが接続で...