Raspberry Pi

Raspberry Pi

Raspberry Pi用Speaker pHATをMicroPythonで鳴らしてみる

Raspberry PiのベアメタルMicroPythonで、PWMクラスを作って音声出力の実験ができたので、同様に音声出力ができる「I2S」についてもベアメタルプログラミングで鳴らす実験をしてみました。 I2SはPCMデータを送受信する規...
Raspberry Pi

PWMクラスの修正(RPiベアメタルMicroPython)

新しいAPIの仕様案に合わせて、先週追加したPWMクラスの実装を少し修正しました。 また、FIFOへデータを渡すメソッドも追加しました。 クロック関係は、別にクロックマネージャクラスを用意し、クロック自体をPWMクラスが触ることはなくなりま...
Raspberry Pi

MicroPythonのPWMクラス仕様案が登場

Raspberry Pi向けMicroPythonに実装中のPWMクラスのAPIについて、先日「どうするか検討中です」と書いたばかりですが、まさにこのタイミングでPWMクラスの仕様案が、開発者のD.P.Georgeさんから提示がありました。...
Raspberry Pi

Raspberry PiのPWMを用いたDA変換の実験

Raspberry Pi Zero WのPWMの後にローパスフィルターを付けて、DA変換でオーディオ帯域の信号を出力してみました。 これはGPIOピンに以下のようなRCからなるLPFを付加するもので、機能的にはZero以外のRaspberr...
Raspberry Pi

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

Raspberry PiのハードウェアPWMを制御するクラスをMicroPythonで書いたものが動作しましたので、次はこのクラスをCで再度実装し、MicroPythonのネイティブクラスにしました。 ロジックはほぼそのまま使用していますが...
Raspberry Pi

Raspberry PiのPWM – ハードウェアPWMドライバをMicroPythonで書く(後編)

前編はこちら。 Raspberry Piは、ハードウェアPWMを2系統持っています。クロック源は共有されていますので、同期して動かすことができます。オーディオ出力の左チャネルと右チャネルの出力はこの2系統のPWMが使われています。 前編では...
Raspberry Pi

Raspberry Piのクロックマネージャ – ハードウェアPWMドライバをMicroPythonで書く(前編)

前回、Raspberry PiのPWMをベアメタルプログラミングで操作しました。 いつもだとこれをベアメタル版MicroPythonにPWMクラスとして追加するのですが、今回は1クッション置いて、まずはMicroPythonでPWMクラスを...
Raspberry Pi

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

ちょっと間が空きましたが、Raspberry Piをベアメタルでプログラムするシリーズの続きです。 今回はPWMを動かしてみました。コードは以下に置いてあります。 bare_matal_rpi_zero/pwm at master · bo...
Raspberry Pi

Raspberry Piを使ったシンセ「minisynth」を動かしてみた

「circle」というRaspberry Piのベアメタルプログラミング用ライブラリがあります。 rsta2/circle: A C++ bare metal environment for Raspberry Pi with USB この...
Raspberry Pi

ベアメタルRPi版MicroPythonのI2C.writetoを修正

ちょっと間が空きましたが、ベアメタルRaspberry Pi版MicroPythonのメモです。 先日、フォーラムのこちらのやり取りで、I2C.writeto()のrepeated STARTの仕様を私が間違えていたことが判明しましたので、...
Raspberry Pi

JSONなどのモジュールを追加(RPiベアメタルMicroPython)

Raspberry Pi版MicroPythonについてMicroPythonフォーラムで紹介したところ、「rshellが使えるかもね~」という反応がありました。 rshellについては使ったことが無かったので、調べてみたところbinasc...
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...