2024年12月12日木曜日

出張グダグダのパー

17:30 仙台
酷い出張でした。グダグダのパーでした。昨夜は酒飲みすぎました。しかし酒のせいでグダグダになったのではありません。

1泊2日ですから1.5日の作業時間があったけれど、1日を変なbugfixに費やしました。

経緯を書くと長くなるので書きます。

【目的】
・わたしが作ってハンドキャリーした重たい測定器
・現地のsoft屋さんに作ってもらったPCアプリ
これをドッキングし、動作確認及びsoftのブラッシュアップをする。
出来上がり品を現地に置いてオサラバ。
一仕事終えて充足感を得る。

【出張前日】
わたしが作ったのはUSBデバイス。
LinuxでUSB接続を検証済。
だがwindowsではデバドラ界隈に問題があって検証出来ずにいた。
soft屋にはダミーデータ発生器を渡してあって、それでアプリ開発を進めてもらってた。つまりダミーデータ発生器はデバドラ問題が生じない。

【出張初日】
現地のsoft屋に見てもらって、デバドラを切り替えたりしてもwinが認識しない。debug開始するが、USB device descriptor処理はSTM32cubeMXが自動生成したcodeなので難航。
夜は飲み会。

【ヒント】
Linux   OK
windows  NG
STM32F401 OK
STM32H723 NG(後にOK/NG混在と判明)

【出張2日目】
STM32H723で別の小さなprojectを自動生成したらOKだった。すなわちH723の自動生成codeにはOKNGがある。これに気づいたのは昼を過ぎてた。

OK/NG codeのdiffをとると、おかしな所に差異を見つけた。ビルドメッセージでerrorでもwarningでもないinfoが表示されるお馴染みの場所だった。info曰く「変数に代入してないよ」と言ってた。自動生成codeなので無視してた。

OK codeから変数代入文をコピペする。infoは出なくなった。それだけではなく、windowsのデバドラが認識してくれるようになった。解決。時刻は14時。

descriptor処理の何が修正されたのか?
string descriptorが3つある。
 vendor名 HIRA
 set名   H-6634
 シリアルナンバー H123456
このうちS/Nが返ってなかったのが修正された。えーっそんだけぇ~ですよ。
LinuxはS/Nなんか気に留めてないから動く。windowsはS/Nが返らないだけでabortとお堅い動作をする。

STM32cubeIDEの自動生成codeの軽いbugというオチだったが、時折生じる「変数未代入」が何に従属しているのかは不明だ。

【出張2日目ラスト数時間】
PCアプリの動作確認は済んで、修正点などを打ち合わせして、来週また来て完成品を納品する事になった。

来週はわたくしの60回目のご生誕記念日なのです。

19:40
そろそろ上野。

かしこ

14 件のコメント:

  1. >経緯を書くと長くなるので書きます。
    最近、ホントに「老眼が酷くなって来た(ダケじゃないけど・・・)」ので、これを、
    ・「経緯を書くと長くなるので省きます。」
    と、見えて、「え、省略じゃないの・・・?」と思ったら、「書きます」でした(笑)
    ※言うほど長くないです。私のコメントのほうが長いくらい(笑)

    返信削除
    返信
    1. 長くして水増ししてナンボのブログ〜
      原稿料は貰ってません〜

      にしてもinfoを大切に
      infoでご安全に

      削除
    2. モルダー「スカリー ほんとうなんだ信じてくれ バグがあったんだ」
      スカリー「モルダー あなた疲れているのよ」

      削除
    3. モルダー「あぁ確かにつかれているとも だがあのbugは影の政府による妨害だとしか考えられないよ 仙台に居るときはMIBにつきまとわれて 危うくホテルからも追い出されそうになったんだ」

      削除
    4. スカリー「モルダー生成AIでプログラムつくればいいのよ」
      モルダー「宇宙人がおいていったAIなんだ 本当なんだ信じてくれスカリー」

      削除
    5. スカリー「それがあなたのためなのよ」
      モルダー「どうしたんだ? まるで奴らの口調みたいじゃないか どうしたんだスカリー?」

      削除
  2. murasaki
    とりあえず制限時間内につながったようですので勝利条件は満たしているかとー。来週も出張とのことで最終話は2部構成に。
    なぜ現調(現地調整)では不思議現象が多発するのでしょうか。開発室では一度も起きないことがなぜか起きる。動いていたものが動かなくなる。検証が手薄なレアケースに分岐する。テスターのリード棒でピン間をショートさせて部品破損(しかもパッケージ割れる)。
    シュレディンガーの猫的な何かなのでしょうか。

    返信削除
    返信
    1. 逆に楽だったことは記憶にないです
      地べたを這いつくばるような業務へ

      削除
    2. murasaki
      エラーでもワーニングでもないものが原因とか、現調ならではですねー。
      追い詰められた状況で諦めずちゃんと解決にもっていっているのは流石と言えましょう。

      削除
    3. 現地に馴染まない人やモノを現地の超存在が拒否ってるんです
      弱い場所を突かれます
      超存在さん....

      削除
    4. 現地には超存在さんがいて、開発室には黒い小人と白い小人が住んでいます。
      黒い小人はエンジニアが退社した深夜に働きます。夜動いていた回路を朝までに動かなくします。
      白い小人は夜働いて、夜動かなかった回路を朝まで動くようにしてくれます。白い小人が動かした回路は納期直前に動かなくなります。とても迷惑です。

      削除
    5. マンガ家の江口寿史の仕事場では、仕事が捗らないと白いワニが出るそうです 精霊

      削除
  3. ↑シュレディンガーの猫⇐自分で書いておいて意味不明。

    返信削除