boochow

Raspberry Pi

SDカード上のmain.pyを実行する(RPiベアメタルMicroPython)

ベアメタルRaspberry PiのMicroPythonでSDカードの書き込みができるようになったので、起動時にSDカードをルートディレクトリにマウントするように変更しました。 他のマイコン(STM32、ESP8266、ESP32等...
ESP8266/ESP32

MicroPythonのREPLをOLED出力(改良版)

以前作成した、MicroPythonのREPLをOLEDに出力するツールを少し改良し、以前はできなかった行の途中での編集の表示ができるようにしました。今回は動作はESP32-DevKitCで確認しています。 改良版は以下のリポジトリに...
Raspberry Pi

ベアメタルRPi版MicroPythonのテスト(2回目)

MicroPythonのソースコードに付属しているテストは7月に一度試しましたが、それから実装もテストコードも変化しているので、久しぶりにもう一度やってみました。 が、結果的に特に新しい話はありませんでしたので、この記事は単なる自分用...
Raspberry Pi

SDカードへの書き込み(RPiベアメタルMicroPython)

ベアメタルRaspberry Pi版MicroPythonでは、SDカードについては、読み込み機能のみを半年ほど前に実装していました。 SDカードを読む(RPiベアメタルMicroPython) – 楽しくやろう。 書き込み機能...
Raspberry Pi

Raspberry PiベアメタルプログラミングでI2S信号

前回、Raspberry PiのI2SインタフェースがMicroPythonで動作が確認できました。 今回は、ネット上にあるベアメタルプログラミングのサンプルにI2Sがあまり多くないので、同じロジックをCでも書いてみました。 書いた...
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以外のRaspb...
Raspberry Pi

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

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

Arduboyにゲームコントローラを付けてアーケードマシン化

Qwantというフランス製の検索エンジンを試していたら、以下のページを見つけました。 Overview | Arduboy Game Controller Hack | Adafruit Learning System Ardu...
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 maste...
Raspberry Pi

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

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