codec2-arduino https://github.com/blanu/codec2-arduino なんてのもあるけどこれもCortex-M4F向けのライブラリだし。
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
codec2-arduino https://github.com/blanu/codec2-arduino なんてのもあるけどこれもCortex-M4F向けのライブラリだし。
Codec2をRP2040で頑張るってプロジェクトがあるけど https://github.com/hrvach/talkberry 、RP2350なら頑張らなくても載るっていうことに期待しちゃって良いんだよね…?
RP2350、Cortex-M33なのでFPU付きというのが美味しいよなあ。Cortex-M4後継コアってことは、STM32F405辺りの基板を(お値段次第では)蹂躙しちゃうのかも。
新機種が出たタイミングで買うやつおる?
lpdのプロトコルって、main command→物によってはそこからsub commandへ遷移するけどsub commandからmain commandへ復帰するのって多分TCP/IPのコネクションを切るしか手段無いですよね?
なので、setjmp()/longjmp()で強引に飛ばすコードにしちゃいました(C++で書いて例外を使うって手もあると思う)。エラー処理/リソース解放処理を上手く書けば多分そんなの使わずに実装できるんじゃないかって気がするんですけど…どう書くのが良いんだろう。
結局、LPDしか喋らない超漢字に、LPD→raw(AppSocket/JetDirect)変換なコードを載せてしまいました。今となっては全然要らないものなんですけど(今のプリンタはLPDもrawも扱えるけどそれ以前にプリンタに合わせた印刷イメージデータを生成できない)、Deskjet 5850使ってる時にこれがあれば苦労はしなかったんだがな…という、モヤモヤを引きずるのもなんかアレだったので。
https://github.com/jg1uaa/lpr2raw