恒例の夏枯れも終わり、ようやく涼しい中で大画面に向き合うことのできる時期になりました。秋の夜のプログラミングはいいですね。
SDRのプラットホームとしてSTM32マイコン上に構築している紫ライブラリの開発は、低調ながら夏の間にいくらかの進展がありました。
- SYSLOG機能の追加
- SPI / I2Cへの徹底したSYSLOG埋め込み
- SPI / I2Cでのエラーハンドリングの徹底
- Serial / Debug Serialの分離
SerialはUARTです。Serialに関してはSTM32 HAL のIDLE Line検出機能を使用した受信タイムアウトを画策していましたが、HALがこの割り込みに対応していないためどうしようか決めあぐねているところです。HALのほかにLL APIも用意されていますが、どうやらこちらでも対応していないようです。
せっかくSerialをDebug Seiralから分離したのでいっそ受信はDMAから割り込みに鞍替えしてもいいなとおもっています。そうすればIDLE Line割り込みを単純なセマフォのタイムアウトに落とし込むことができます。この方法では1文字ごとに割り込みが入りますので処理が重くなりますが、もともと紫の設計思想では、大量にデータ転送するのはデバッグ出力くらいなんですよね。
あとはSPIとI2Cのスレーブを実装したいところです。私自身にとっては不要ではあるのですが、せっかく作ったライブラリなので。
冬の時期の間に実装がおわるといいな、と考えています。