macOSからPi Picoを使う - その9 [Pi Pico]
Pi Pico関連の記事が増えて本家Raspberry Piとは話の要点とするところが違ってしまったのでPi Picoの「マイカテゴリ」を作った。「Pi Picoカテゴリ」はハードウェア制御の話が中心で、たぶん本家「Raspberry Piカテゴリ」はunixとその周辺の話題(例えばMathematica on Raspberry Piとか)になる。まあ、半分ボケたジジイのすることなのであっという間に忘れてごちゃごちゃになるような気もするけど。
ところで「マイカテゴリ」はフラットで階層化できないので、どんどん長くなってしまう。まあ、カテゴリ分けはせいぜい古い記事を参照するときの分類用にしか使えなくて、僕の他にはあまり役に立たないかも。
まあそれはいいとして、前回まででマルチコアの起動の仕方と排他制御用のモジュールを見てきた。なんとなくわかったけど、普通の仮想記憶を持ったOSみたいにthread poolが用意されてコアを意識しなくてもプログラムできて効率よく実行される、というふうにはPi Picoではならない。プログラムはコアに縛られるので、それを頭に入れておく必要がある....
ところで「マイカテゴリ」はフラットで階層化できないので、どんどん長くなってしまう。まあ、カテゴリ分けはせいぜい古い記事を参照するときの分類用にしか使えなくて、僕の他にはあまり役に立たないかも。
まあそれはいいとして、前回まででマルチコアの起動の仕方と排他制御用のモジュールを見てきた。なんとなくわかったけど、普通の仮想記憶を持ったOSみたいにthread poolが用意されてコアを意識しなくてもプログラムできて効率よく実行される、というふうにはPi Picoではならない。プログラムはコアに縛られるので、それを頭に入れておく必要がある....
macOSからPi Picoを使う - その8 [Pi Pico]
それほど難しくないのでどんどん行きたい。前回のRP2040のSIOにあるハードウェアFIFOはコア間のpipeとして使える。しかしあまり大きなデータを送ることはできない。ソフトウェアでqueueがあるとそう言う場合に助かる....
macOSからPi Picoを使う - その7 [Pi Pico]
Pi PicoをいじっていてとりあえずmacOSでコンパイルできるようになって(そのままVisual Studio Codeが使えるようにできるけど僕はエディタとしては無理矢理Xcodeを使ってる)、USB経由でBOOTSELモードでリセットできて、GPIO、ADCとPWMの使い方がわかって、flashストレージをノンボラメモリとして使えることがわかった。
次にやっつけないといけないのは、ふたつめのコアを効率よく動かすこと....
次にやっつけないといけないのは、ふたつめのコアを効率よく動かすこと....
macOSからPi Picoを使う - その5 [Pi Pico]
Pi Picoの持っているPWMが本家Raspberry Piよりベースクロックが高いのでアナログにしたいとき外部回路(主にローパス)が楽になる。これは結構ありがたい。
こないだからsdkのマニュアルばっかり引いていて自分のコードを書いてないので、ここでPWMを試しておこう.,..
こないだからsdkのマニュアルばっかり引いていて自分のコードを書いてないので、ここでPWMを試しておこう.,..
macOSからPi Picoを使う - その4 [Pi Pico]
うまくいけば仕事と趣味とで20台近くあるRaspberry Piのうち半分はPi Picoに置き換えられそうな気がしてきた。僕にとってはモデルとしてはPi PicoとPi 4Bの両端があればいい、ということになりそう。あとはそれぞれが順にパフォーマンスを上げてくれればありがたい....
macOSからPi Picoを使う - その3 [Pi Pico]
前回と前々回とでmacOSをホストにしてRaspebrry Pi Picoを簡単に使えることがわかった。Pi Picoとホストの両方でUSBを直接プログラムする必要はなく、ホストからはUSBのCDCデバイスとして見えて、Pi Picoではstdinとstdoutを読み書きすることで、キャラクタをやりとりできる。
いままでWiFi経由で使っているRaspberry Piをもっとシンプルな接続に置き換えることができる。Raspberry Piでは贅沢な使い方になっている場面も多いし、SDカードの信頼性を心配する必要がなくなるし、なんといってもPi Picoのほうが安い。
Pi Picoでできることをざっくりとみて、それらを使って実際につかえるデバイスにするにはどうすればいいかを考える.....
いままでWiFi経由で使っているRaspberry Piをもっとシンプルな接続に置き換えることができる。Raspberry Piでは贅沢な使い方になっている場面も多いし、SDカードの信頼性を心配する必要がなくなるし、なんといってもPi Picoのほうが安い。
Pi Picoでできることをざっくりとみて、それらを使って実際につかえるデバイスにするにはどうすればいいかを考える.....
macOSからPi Picoを使う - その2 [Pi Pico]
前回Pi PicoをmacOSと一緒に使う方法を考えた。結論としては
ただし、pico_stdio_usbでは大きなデータはやりとりできない。またデータはフラットなバイト列としてしかみることができないので、なんらかの上位プロトコルを決める必要がある。
でもまあ、これでPi Pico側は大きなプログラムになることはなく、管理しやすい。
ところでこれを前提にすると、USB経由でPi Picoをリセットできることをみつけた。リセットの状態はBOOTSELモードとオンボードのflashストレージから読み込む通常モードの両方が選べる。これは便利だと思う...
- Pi Picoのコードにpico_stdio_usbモジュールを含める
- pico_stdio_usbをデフォルト状態で使う
- そのPi PicoをmacOSにUSBで接続する
- macOSにCDCクラスのデバイスファイル(/dev/tty.*)ができる
- そのデバイスファイル経由でPi Picoと通信する
ただし、pico_stdio_usbでは大きなデータはやりとりできない。またデータはフラットなバイト列としてしかみることができないので、なんらかの上位プロトコルを決める必要がある。
でもまあ、これでPi Pico側は大きなプログラムになることはなく、管理しやすい。
ところでこれを前提にすると、USB経由でPi Picoをリセットできることをみつけた。リセットの状態はBOOTSELモードとオンボードのflashストレージから読み込む通常モードの両方が選べる。これは便利だと思う...
macOSからPi Picoを使う [Pi Pico]
Raspberry Pi Picoが日本ではショップによって手に入るところが出てきた。でも一瞬で無くなったりする。僕はついこないだやっと2個だけ確保できた。
Raspberry Pi PicoをmacOSから使いたいんだけど、vendor specificなクラスのUSBデバイスを扱う必要がある。
それもめんどくさいなあ、とりあえずlibusbを使って、あとからIOUSBHostで書き換えるか、Pi Pico側はTinyUSBなんだけど、これはドキュメントが整備されてなくて厳しいなあ、cmakeって慣れてなくて難しいなあ、などと思っていた。
pico_sdkを落としていろいろいじっているうちにいろんなことがわかってきた...
Raspberry Pi PicoをmacOSから使いたいんだけど、vendor specificなクラスのUSBデバイスを扱う必要がある。
それもめんどくさいなあ、とりあえずlibusbを使って、あとからIOUSBHostで書き換えるか、Pi Pico側はTinyUSBなんだけど、これはドキュメントが整備されてなくて厳しいなあ、cmakeって慣れてなくて難しいなあ、などと思っていた。
pico_sdkを落としていろいろいじっているうちにいろんなことがわかってきた...