Raspberry Pi

ベアメタルRPi版MicroPythonの最小限のテストが完了

昨日に続き、今日もRaspberry Pi版MicroPythonのテスト&デバッグを行い、esp8266/esp32用のテストと同じ項目をクリアしました。(実装に追加していないモジュールも多いので、機能的に同等とはいきませんが) 実施した...
Raspberry Pi

MicroPythonのテストに関するメモ

前回着手したMicroPythonのテストですが、とりあえずbasicsテストがパスするようになりました。(未実装によりskipしているものもありますが) 421 tests performed (12506 individual test...
Raspberry Pi

MicroPythonのテストスイートを使ってみた

RPiベアメタル版MicroPythonもだいぶ機能追加が進んできたので、そろそろ自動テストが欲しくなってきました。そこで、手始めにMicroPython付属のテストスイートを調べてみました。 MicroPythonのテストスクリプトは、t...
Raspberry Pi

ベアメタルRaspberry Piでの日本語USBキーボードからのキー入力

Raspberry Pi用MicroPythonではUSBキーボードをサポートしていますが、実はこれまでは英語キーボードしかサポートしていませんでした。 私自身は、普段US配列のキーボードしか使わないので困らないのですが、日本国内ではJIS...
Raspberry Pi

Raspberry Pi ZeroでのJTAGデバッグ

Raspberry Pi ZeroをJTAG接続デバッグするのを試したことが無かったなあと思い、やってみました。 以前Interface誌の記事を見ながらRaspberry Pi2をJTAGデバッグしてみたときは、結構苦労した記憶があるので...
Raspberry Pi

Raspberry PiのMailbox Property Interfaceの実験

Raspberry PiにはARMのCPUとBroadcomのGPUが同居しており、両者はmailboxという共有メモリを使ったインタフェースで情報交換ができます。 Mailboxには複数の「チャネル」があり、それぞれ交換できる情報の種類が...
Raspberry Pi

Raspberry Piの画面をMicroPythonのコンソールにしてみた

前回はOLEDにMicroPythonのREPLを出力しましたが、FrameBufferオブジェクトであれば同様にREPLの出力先にすることができます。 Raspberry Piの画面にフレームバッファクラスを使って絵を描くのは以前実現済み...
Raspberry Pi

OLEDをMicroPythonのコンソールにしてみた

MicroPythonのosモジュールにはduptermという機能があり、これを使うとREPLで使われている標準の入出力チャネルをUART以外のデバイスへ複製することができます。 duptermのパラメータにオブジェクトを与えると、そのオブ...
Raspberry Pi

MicroPythonで距離センサ(VL53L0X)を使う

今回もMicroPythonを使って、死蔵していたモジュールの蔵出しです。 割と最近購入して、まだ試していなかったレーザー距離センサです。 VL53L0X使用 レーザー測距センサモジュール(ToF): センサ一般 秋月電子通商-電子部品・ネ...
Raspberry Pi

MicroPythonで気圧センサ(MPL115A1)を使う

前の投稿に引き続いて、使わないままになっていたSPI接続の気圧センサを動かしてみました。 (前回のADCチップがまだブレッドボードに載っかっています・・・) MPL115A1というセンサーを使用したモジュールで、いろいろなところからモジュー...
Raspberry Pi

MicroPythonでADC(MCP3204)を使う

昨日試したMicroPython用のSPIクラスですが、OLEDはデータ出力しか確認できません。 手元にMCP3204というADコンバータがあったので、これでSPI経由でのデータ入力も実験してみました。 12bit 4ch ADコンバータ ...
Raspberry Pi

SPIクラスを追加(RPiベアメタルMicroPython)

前回の実装を元に、ベアメタルRaspberry Pi版MicroPythonにSPIクラスを追加してみました。 既存のSPIクラスのAPI I2Cのときと同様、今回も既存のSPIクラスのAPIを調べてみました。 調査対象はハード実装(pyb...
Raspberry Pi

Raspberry PiベアメタルプログラミングでSPI

I2Cに続いて、SPIのベアメタルプログラミングを試してみました。 例題は、入出力を直結して自分で出力したデータを自分で読むものにしました。 この例題を動かすには、上の写真のように、19番ピン(GPIO10)と20番ピン(GPIO9)を接続...
Raspberry Pi

MicroPythonからI2C EEPROMを使う

先日実装したMicroPythonのI2Cでのレジスタ読み書きメソッドは、読み書きのアドレスのビット幅をaddrsizeキーワードで指定することができます。 センサなどでは8ビットのアドレス空間があれば大抵間に合うはずですが、このような大き...
Raspberry Pi

ジェスチャセンサAPDS9960をMicroPythonで使う

以前秋月電子で購入したシャープのジェスチャセンサを、以下のThomas Liskeさんのデバイスドライバを使ってMicroPythonで動作させてみました。 結線は、SDA/SCL/GND/VDDは定番通りに、LEDには3.3V、INTは接...