SRAMにログ収集

溶接機器の設計をしていて、動作中の機器から、無線(XBee)により

ログを収集しようとしたところ、ノイズが大きくて、収集できなかった。

ログは、リアルタイムOSのログをそのまま出力しようとしていて

デバッグ環境では、便利に使えていたのだが。

そこで、ログをSRAMに保存することにした。

可変引数のsyslogの代わりを作成し、文字列を作成し、SRAMに保存

void set_syslog( uint_t errlevel, char *format, … )

{

va_list arg;

char err_msg[ MSG_LEN ];

              va_start( arg, format );

              vsprintf( err_msg, format, arg );     // err_msgに文字列保存

              va_end( arg );

              syslog( errlevel, err_msg );                           //シリアルにログを出力

              if( errlevel <= LOG_INFO  ) {                     // LOG_INFO 以上のメッセージのみ保存

                            save_msg( err_msg);                       //SRAMに保存

              }

}

SRAMに保存する関数(save_msg)では、時刻を付加し、書き込み位置計算を行い

文字列を保存する。

これにより、溶接が終了したあとで、動作不具合の調査が可能となった。



ESP32

雑誌インターフェースで、ESP32の特集がありましたが、 550円で安価なマイコンボードを上回る性能のデバイスが出てきたことに驚いています。 550円といえば、普通に単体CPUが買うことが出来る値段ですね。 そこに、Wi…

続きを読む

Astyle

プログラムをコーディングしていくと、自動的に整形してくれないかと思うことがあります。 私は、Artistic Style、を使用しています。 http://astyle.sourceforge.net/ 整形する時のオプ…

続きを読む

Subversionのバックアップ

サブバージョンのレポジトリは、サーバーにありますが、 定期的にバックアップする必要があります。 そこで、以下の様なバッチファイルを作成してみました。 Windowsのバッチファイルです。 このバッチファイルでは、コミット…

続きを読む