﻿[2026-11-05] IC-9700 CI-V制御をCOM（RS-232C／CT-17）へ追加
対象: IC9700.cpp/h / RigControl.cpp/h / Pin.h / CatProxy.cpp / Doppler.cpp/h / DopplerOffsets.cpp / Settings.cpp/h / WebPage.cpp / tests_ic9700 / tests_offset_radio
変更: IC-9700サテライトの本体MAIN=RX・SUB=TXに対応。SAT状態・アクセス対象・周波数・モードの確認を非同期CI-V処理へ実装。通信失敗は3秒後に再接続。UART1 GPIO15/16、8N1を使用。USB FT232Bは未対応のまま。IC-9700 OFFSETを分離し96件へ拡張。既存FTDI・FT847実装は変更なし。
検証: CI-V専用・実RigControl結合・3機種OFFSET・設定保存・FT847/Proxy回帰のホストテスト合格。ESP32全体コンパイルはWindows DLL relocationエラーで未完了。IC-9700実機未検証。
詳細: IC9700_CI-V_実装メモ.md
全体バックアップ: C:\Users\kueno\OneDrive\Desktop\Ham\3_Arduino\ESP32_SatBox\SatBox_Ver0.1.1c\backup\full_before_IC9700_20261105_133327.zip

[2026-11-05] 言語選択をメイン・設定メニューへ移動
対象: WebPage.cpp
変更: メインの地図ボタン右側、設定メニューのネットワーク上にLanguage（English/Japanese）を表示。変更時に既存言語設定へ保存し同じ画面へ戻る。運用局情報から言語欄・言語更新処理を削除。

[2026-11-05] 機種別通信速度の選択肢を更新
IC-9700: 4800/9600/19200/38400/57600/115200bps。IC-820H: 300/1200/4800/9600bps。FT-847: 4800/9600/57600bps。画面と保存・再読込時の検証を一致。

[2026-11-05] 無線機設定画面の接続方式・IC-9700選択追加
対象: WebPage.cpp / Settings.h / Settings.cpp / SerialConfig.cpp / RigControl.cpp
変更: ICOMはCOM（RS-232C / CT-17）とUSB（FT232B）を選択可能。FT-847はCOMのみ選択可能としCI-Vアドレスを無効化。IC-9700を選択可能にし通信速度・CI-Vアドレスを別プロファイルで保存。旧NVS設定を保持して読込。旧PC保存では新設プロファイルを保持。
範囲: 今回は画面・保存のみ。CT-17通信・IC-9700のCI-V制御は未実装。未実装選択ではIC-820Hドライバーへの誤接続を防止。
検証: 画面JavaScriptの切替・入力保持・送信値テスト、C++保存処理の旧設定移行・再読込・不正値拒否テスト合格。ESP32全体ビルド・実機確認は未実施。

[2026-11-05] 独立FT-847 Proxyを本番SatBoxへ統合
対象: CatProxy.* / CatProxyConfig.h / CatProxyTuning.h / ProxyProtocol.* / RigControl.* / FT847.* / Doppler.* / SatBox_Ver0.1.1c.ino
変更: TCP4532のHamlib NET rigctl互換サービスを既存Wi-Fi・CATへ統合。外部USBのPTTは維持。共有CAT排他、ドプラーON時の公称周波数表示と一時調整、反転衛星の連動、既存OFFSET保持、受信マニュアルへの調整引継ぎを追加。無線機読出しは100ms間隔・500ms待ち・読出し1回再試行後に再接続。
検証: ホスト統合テスト、既存OFFSET保存テスト、FT-847電源・再接続テスト合格。ESP32ビルドはツールチェーンのIllegal System DLL Relocationにより未完了。統合版の実機試験は未実施。
詳細: CAT_Proxy_移植手順.md

[2026-11-03] 無線機接続・設定メッセージの日本語対応
対象: WebPage.cpp
変更: LANGUAGE設定の既存トークンを使い、無線機未接続・設定失敗・設定中・タイムアウト・VFO読出し失敗を日本語／英語で切替。無線機未接続時も本体の動作と再接続処理は継続。

[2026-11-02] FT-847電源OFF・遅延起動からの自動復帰
対象: FT847.cpp / FT847.h / SatBox_Ver0.1.1c.ino / WebPage.cpp
変更: CAT/SAT起動待ちをloop駆動の状態遷移へ変更。読出し失敗時は無線機の準備状態と周波数キャッシュを破棄し、3秒後からCAT ON/SAT ONとRX/TX確認を再試行。SatBox本体の処理は待機させない。
変更: 再接続後は衛星の全プリセットを再設定。ドプラーの409応答をJSON誤解析せず再試行し、連打を抑止。ドプラーOFFは無線機の設定中も受付。通信エラー文を表示し、設定待ちを最大10秒に統一。
検証: tests_ft847_power/test_driver.pyで電源OFF起動・遅延ON・通信断・復帰・UART失敗・コマンド間隔・millis周回を確認。web-test.cjsで409再試行・連打抑止・OFF操作・HTTPエラーを確認。
制限: ESP32用ビルドはインストール済みツールチェーンのIllegal System DLL Relocationでコンパイラー起動に失敗。実機書込み・電源切替試験は未実施。

[2026-09-29] タッチパネル操作を今回の調査開始前へ復元
対象: Display.cpp / RotaryEncoder.cpp
ユーザー依頼: 他の衛星で確認するため元に戻す。
変更: 今回追加したタッチ入力対策、LCD Manual操作停止、Locked表示、LCD-MANUAL-LOCK-1ログを撤回し、保存済み変更前ファイルへ復元。
バックアップ: backup\Display.cpp.20260929_153719.before_touch_restore
バックアップ: backup\RotaryEncoder.cpp.20260929_153719.before_touch_restore
検証: 両ファイルとも復元元とのSHA256一致。コンパイル・実機動作は未確認。
適用方法: 再コンパイルしてESP32へ書き込む。

[2026-09-29 16:03:34] LCD SAVE成功表示を追加
対象: Display.cpp
内容: LCD SAVEでreceiveControlSaveOffset()が成功した場合のみ800ms間グリーン表示し、その後灰色に戻す。失敗・Manual OFF時は点灯しない。点灯/消灯時の再描画判定を追加。
バックアップ: backup\Display.cpp.20260929_160334.before_save_feedback
確認: 差分確認、反映先SHA256一致。コンパイル・実機確認は未実施。

[2026-09-29 17:20:56] ログ起動時の17件再挿入とJH1HGI重複を修正
対象: SatBox_Log_Server.py / C:\JI1FGX\SatBox\SatBox_Log_Server.exe / C:\Logs\Sat_logbook.db
原因: ADIFのHHMM時刻とDBのzfill(6)処理で重複キーが不一致。0930がDB側で0009となり、起動ごとに過去17件を再挿入。
修正: DBとADIの重複キー生成を共通化。検索APIは4桁HHMMをHHMM00へ変換し、画面の時刻誤表示を修正。DB初期化ログは実際のパスを表示。
整理: JH1HGI / 20260217 / 0930 / RS-44 のID以外が完全一致する18件からID227を残して17件削除。20260929の交信は保持。他の交信は削除していない。
バックアップ: backup\SatBox_Log_Server.py.20260929_171955.before_qso_fix / backup\SatBox_Log_Server.exe.20260929_171955.before_qso_fix / backup\Sat_logbook.db.20260929_171955.before_jh1hgi_dedup
検証: 実DBコピーで旧版17件再挿入を再現。修正版は連続取り込み0件。時刻形式混在と新規交信の挿入テスト通過。DB整合性ok。exeビルド成功、稼働exeを置換・再起動。health正常、実APIで該当1件・093000を確認。

[2026-09-29 17:25:53] PASS-TOUCH-1診断ログ追加
対象: Display.cpp
背景: RS-44でもLCD由来Manual ON/OFFが再発。AOS→LOS→同衛星AOS待機との関連を調査。
内容: 選択衛星のパス状態・AOS/LOS時刻が変化した時のPASS TRACE、LCD Manual入力時の生座標・レジスタ値・前回読出し状態・読取り間隔、起動時の版識別ログを追加。
既存動作: タッチ受付条件・ボタン操作は変更なし。SAVE成功時800ms表示も保持。
バックアップ: backup\Display.cpp.20260929_172553.before_pass_touch_trace
確認: 差分は診断情報の追加のみ。反映先SHA256一致。実機コンパイル・再現試験は未実施。原因修正ではなく診断用。

[2026-09-29 17:50:31] LCD OFFSET表示をWeb版と共通化
対象: Display.cpp / WebPage.cpp / Doppler.cpp / Doppler.h
原因: LCDは内部追尾OFFSETを常時表示し、Webの保存校正OFFSETを使う表示仕様と異なっていた。
変更: Web既存のgetDisplayedRxOffset本体をdopplerGetDisplayedRxOffsetへ移し、WebとLCD両方から使用。手動調整中は現在値、その他は衛星別保存値（未登録時は現在値）。AOS待機時・Resume後もWebと同じ表示。
制御周波数・追尾ロジックは変更なし。PASS-TOUCH-1診断とSAVE成功表示を維持。
バックアップ: backup\各対象ファイル.20260929_175030.before_offset_display
検証: 移動前後の関数本体一致、呼出箇所・診断・SAVE表示保持を確認。反映先ハッシュ一致。実機ビルド・動作確認は未実施。
