[管理者用]

イゼルローン日誌
宇宙・・・それは人類に残された最後の観光地である

         
戻る 
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
1998年
1999年
2000年
2001年
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年

2019年03月
3月17日 ・さてうまくいったので、実験用の自家用PSoC5LPボードから実機に移行させて、動作確認。まぁ使っているPSoCは一緒だし、ピン配置もなるべく合わせて設計しているので、移行は簡単。とりあえず、実機と自家用PSoC都の間で74HC08経由のCAN通信で動作確認。
・続いてホストをSTMに移植。とはいっても基本的なところはできているわけで、CANの送受信のところだけすり替えてヤればいい。全部自分で作っているだけにこのあたりも簡単だ。移植してコマンドを叩いてみたら無事動作。


3月16日 ・なんか、わけのわからない事象で悩まされて、もう一度諦めて元に戻ってやりなおしてみることにする。gitで元になったブランチにcheckoutして、残骸を綺麗にするためにgit reset --hardして全部コミット時点に戻してもう一度。
・改めて頭を冷やして一歩ずつ。波形を取って動きを見ていくと、UARTでやりとりしていたらOKだったのにCANにしたとたんにやはりうまくいかない。ロジック・アナライザで見ていると、最初のうちはうまくいっているなと思ったのだけど、途中の動作を見たらエラーを返している。途中でエラーになるのか?ということで、データパターンでトリガをかけてみたら、あれ?ということで、とんでもない凡ミス。そうか、CANの8バイトパケットに収まるようにしていたつもりが、コマンドによってはオーバーしてしまうことがあるのだな。
・原因が分かれば対処は簡単。欠落した分はどうせチェックサムとEOPデータ。CAN上でCRCチェックされているので、オーバーするパケットの時だけデータ内のチェックサムが省略されても問題はないだろう。ということで、この分は受信側で計算して付加して対処。
書き換えてみたらうまくいった。

3月15日 ・ポストに何か入っているなと思ったら、Amazonで購入した送料込みで155円なりのMAX3232ボード。なんで送料込みでその価格で良いのかと思ったら、中国からの発送だった。それにしてもMAX3232に少量のコンデンサ、D-SUBコネクタにピンヘッダーとQIコネクタ付きのケーブルを付けて送料込みでその値段っていうのは何か間違っている気がするな。
・さて、これとはまた別の定形の封筒。何か良からぬお知らせかと思ったら臨時株主総会の通知だった。とりあえず開封するのは、CAN通信関係のデバッグが終わってからにしてみよう。

3月14日 ・おかげでデバッグが捗る。とにかくSTEP-By-STEPで一歩ずつというところ。とりあえずUARTでうまくいったのだからということで、データサイズを小さくして、更にCAN伝送にしてみたら全然動かない。ロジック・アナライザでデータを見てもおかしく無さそうなんだけどな。
3月13日 ・CAN通信のデバッグをしているのだけど、CANコントローラを持ったボードが足りない。どうしたものか。CANのトランシーバICはEnable信号を持っているので、LS125で受けて、バス状態はリードバックできれば良いのだから・・・などといろいろやってみたけど駄目。実験しながら改めてわかったのは、CAN上で誰もACKを返してくれないと、勝手にリトライしてくれるということ。延々とリトライを繰り返し続けている。なるほど、たとえノイズが多少激しくても「いつかは伝わるだろう」ということだな。
・そんなことをしながらCANトランシーバを使わずにCAN接続する手はあるはずだろうと、ちょっと検索していたら、ルネサスさんがCAN_TX信号同志をANDして、ANDの出力をCAN_RX信号として使えば良いということを知る。そりゃそうか。'L'優先だから、誰かが''L'なら出力も'L'になればいいだけ。もう使うこともないだろうと思いながら後生大事に保存していたDIPの74HC08を引っ張り出してきて試してみると、うまくいった。分かってしまえば簡単で、何で気づかなかったかなというくらいだな。


3月12日 ・さて、そんなところでUARTからCANへの切り替えを実験してみる。ちょっと試しにCANのパケットサイズである8バイト単位で伝送してみるとやたらと遅い。一瞬手が滑って無限ループに陥ったかと思ったほど。
・原因を探してみたら簡単なことで、UARTでやった場合にデータフレームのような概念がないのでデータ垂れ流し。このため、1ブロック分のデータを受け取り終わったのかどうかをタイムアウトで見ているためだった。パケットサイズが大きい時は良いけど、8バイトなんていう細かい単位にしてしまうと、このタイムアウト検出分のムダ時間が馬鹿にならないという、実に簡単なカラクリだった。とりあえず動作はしたので良しとしよう。

3月11日 ・8年めのあの日。もう8年もたったのに自分は何をしているのだ。ため息が出る。将来今の自分に同じことを言わないように頑張るしかないかな。
・そんなこんなでプログラムの方も大騒ぎなのだけど、そんな中で4月以降の話。かなりの大物になりそうだし、ほぼ未体験ゾーンに突入という感じだけど、これをクリアできないようでは将来はないというところだし、逆に上手くクリアできれば自分自身のレベルアップにも繋がりそうなネタでもある。枯れたり腐ったりしている場合ではないな。

3月10日 ・しかし、自分のプレッシャーへの弱さにはあらためて腹が立つ。こういう人間が会社をやめていけなかったのか、あるいは会社にいてはいけなかったのかはよくわからないけど、とにかく過去は変えられないし、現在も変わらない。とりあえず、完成までに必要な作成と検証予定スケジュールをステップ化して書き出す。かなりタイトだけでしかたない。
・とりあえず昼過ぎまでは順調。更に次のステップでCOMポートで簡単にエミュレーションして・・と思ったら、結局いつぞやのSTMボードのCOMポート問題にぶち当たったようで、異常動作してくれている。どう考えたってソフトウェアで送受信でビット位置までキッチリあわせて同時に同じデータを送ることは不可能なわけで、波形から見ても確実。どうもCOM1、COM2の両方を使っている関係で影響はより酷く出ているようだ。
・話にならないので、COMポートで進めるのは諦めて、先に奨めるしかない。

3月9日 ・とりあえず形を作って動作検証する。一応このあたりをベースにすればいいかという雛形を取り出してきてチェックする。なんとかなるのかな?
3月8日 ・想定していたのと話が違ってきた。別件の方を先にすすめねばならない。しかも期間は1週間+α。さて、終わるのかどうか。まずは調査である。
3月7日 ・一応シーケンスの動作は確認できたようだが、追加の話が結構ややこしいそうだ。どうしたものかと思っていたけど、とにかく書き換えするしかない。
3月6日 ・STM32のファームウェアテスト用にダミーのターゲットが必要だなということで、PSoCで作成する。以前つくったものをベースにして、コマンドが与えられると、あたかも動いたようなふりをしてステータスを返すというもので、5台分を1つでエミュレーション。CANへの送信でちょっと罠にはまったけど、なんとかクリア。実際にはありえないようなレスポンス速度だけど、ちゃんと画面上にどのようなコマンドが来て、何を返したかが表示された。これでデバッグしやすくなるな。
3月5日 ・プログラム見直し。とりあえずテスト。まぁ、なんとかここまではうまくいった。
・試料を読みなおしていたら「ここまでパラメータで設定するの?」という部分が出てきて急遽考えなおす。と思ったけど、そこはそれオブジェクト志向というのかC++というのか・・のおかげで、それぞれが持つ情報とそれに対する処理を整理していたので、話はそれほど難しくはない。あとはどうするのが一番エレガントかということだな。

3月4日 ・とりあえず3つとも終了。果たして編集部のご期待通りの内容なのかどうかはわからないけど、とにかく片付けた。あとは野となれ記事となれ。
・さて、そこで中断していたタスクを再開。CPUと違ってタスクスイッチングには時間がかかる。えっと、どこまでやっていたっけな。C++化でクラス分けしたため、クラス毎にかなりアイソレーションがよくなっているとはいえ、一応確認しないと不安だ。
・一応git logしてみたらcommitしたときにUTF-8にするのを忘れていて、それはそれは見事な文字化け。仕方ないのでgitでdiffをとってみて更新箇所をチェック。あぁ、そういうことか。だいたいわかった。
・というところで、少し手を入れているうちにだんだん話がややこしくなってきた。コマンドを減らしてパラメータで振り分けようとしてきたのだけど、やはりコマンドにパラメータまで含めてしまったほうがすっきりしそうだな。


3月3日 ・殆どバトルとなっているようなキーボードの連打をしながら原稿書きを進める。昔は原稿用紙に鉛筆だったことを思えば天国とはいえ、やはりこの短期間というのはきつい。夜中になってようやく8割方終了。明日の朝ちょっと足せば3つめも終わるだろう。
3月2日 ・さて、線路は続くよということで特急の原稿書き。もう見なおしている暇はないので、一気にカタをつけにかかる。ドキュメントを引っ張り出してきて、図を描くのがまた面倒。国内メーカさんならドキュメントの図を切った貼ったしてトレスしなおしてもらうっていう手もあるのだけど、英語版しかないので、結局ブロックの中の説明を日本語化しなくてはいけなかったりで、それならいっそWordの図形描画でも使って書いたほうが早いってことで、バタバタと。とりあえず3つのお願いネタのうち2つはおわった。あと1つ。
3月1日 ・なんとなく見ている「日本ボロ宿紀行」、そして「さすらい温泉 遠藤憲一」どちらもテレビ東京でこの対比がなんともいい。前者の桜庭竜二の「旅人」はCD化する予定はないようだけど、公式サイトにPVがアップされているというのがまたちょっと笑える。そう、すっかり廃れているけど、単なるインバウンド需要だけに期待していてはいけないだろうな。
前月
エース