「やさしさゴシック」フォントを使って、再生中の曲のタイトルならびにアーティスト、アルバム名を表示する機能を追加しました。
この例では2行目のアーティスト名と3行目のアルバム名が長いので、横スクロールさせています。フォントデータを読み出しながらスクロール表示をしていると処理時間がかかりすぎるので、対策としていったん各行の表示イメージをSDカードに書き込んでおき、その内容を読み出して表示することで処理時間を軽減するという方式で対処することとしました。結果として横スクロールは比較的スムーズに流れるのですが、曲が変わった際に表示イメージデータの書き込みと読み出し/表示処理が発生するためにしばらくスペアナ表示が止まりながら曲データが表示されるというぎこちない表示動作となってしまいました。
こうして実際に動かしてみたらいくつか、ドライバ部分のバグが見えてきました。
割り込みがらみのバグだと思います。バグつぶしで時間喰いそうです。
この例では2行目のアーティスト名と3行目のアルバム名が長いので、横スクロールさせています。フォントデータを読み出しながらスクロール表示をしていると処理時間がかかりすぎるので、対策としていったん各行の表示イメージをSDカードに書き込んでおき、その内容を読み出して表示することで処理時間を軽減するという方式で対処することとしました。結果として横スクロールは比較的スムーズに流れるのですが、曲が変わった際に表示イメージデータの書き込みと読み出し/表示処理が発生するためにしばらくスペアナ表示が止まりながら曲データが表示されるというぎこちない表示動作となってしまいました。
こうして実際に動かしてみたらいくつか、ドライバ部分のバグが見えてきました。
- 曲データを正しく受信できないことがある。どうやらUSARTドライバ部分にバグがある。
- スクロール表示処理で止まってしまうことがある。SDからの読み込み処理でwaitしたままになっている。SPIドライバのバグかもしれない。
割り込みがらみのバグだと思います。バグつぶしで時間喰いそうです。