長いこと開発を続けていたSTM32Cube HAL向けクラス・ライブラリ『紫』のgithubへの引っ越しがおわり、めでたくver 0.1.0 のリリースとなりました。と言ってもオープンソースではなくプライベート・リポジトリですが。
紫は動作環境をFreeRTOSに絞ることでSTM32Cube HALの使いにくさを覆い隠したライブラリです。名前空間を絞った列挙型と引数の型に厳格な関数呼び出しが特徴で、プログラムを組むときにはIDEの入力補完機能を存分に活用できます。
また、ブロッキングかつ同期的なIO操作により、プログラムの見通しがよくなります。カバーしている機能としては以下のようなものがあります。
- UART
- I2C Master
- I2C Slave
- SPI Master
- SPI Slave
- GPIO
- 同期クラス(wait & release)
- クリティカルセクション・クラス
- タスク・クラス
- タスク/ 割り込みコンテキストで使えるprintf()
- アサーションによる引数チェック
- syslog
Syslogは開発中に実行の流れを確認するために作ったものです。大変強力なので今後の安定化にも寄与するでしょう。
リリースにあたってはgithub周辺の作法に倣い、README.md および CHANGELOG.md を追加しています。書くにあたっては以下のサイトを参考にしています。
githubのissue機能を使い始めた他、ブランチ管理にはA successful Git branching modelを使うなど、普段実践していないことがてんこ盛りです。
今後の活動の基盤にしていくために時間をかけて作ったので、それなりのものになりました。ドキュメントもガチガチに作っており、最近物忘れが激しくなった私を助けてくれると期待しています。