149509

このフォームからは投稿できません。
name
e-mail
url
subject
comment
JA2GRC-開発室

[ 指定コメント (No.1946) の関連スレッドを表示しています。 ]

◆ JT_Linkerのデーターインターフェースについて 投稿者:   HomePage    引用する 
くま お世話になっています。
JT_LinkerはJTDXやWSJT-Xからどのようにデーターを得ているのでしょうか?
私が作っているAutoCWTypeというプログラムはAutohotkeyを使って荒業でHAMLOGにデーターを渡していますが、JT_Linker経由でデーターを渡せないかと考えています。

仕様を公開いただけないでしょうか?

JI1FGX/DU9 フィリピン
2025/07/21(Mon) 01:30:59 [ No.1943 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:Taka(JA2GRC)・管理者  引用する 
ねずみ JI1FGX/DU9 上野さん

JT_Linker付属のJT_Linker_Quick_Guideの26ページ、真ん中あたりからの「5.処理の簡単な説明」をご覧ください。
2025/07/21(Mon) 08:25:04 [ No.1944 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:   HomePage    引用する 
くま ありがとうございます!!
CWのCWTypeというタイピングソフトからのロギングが実現できそうです。
2025/07/21(Mon) 10:20:21 [ No.1945 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:   HomePage    引用する 
くま 1つ質問させてください。
以下のような1行を書き込んだ時に<SRX:2>45 <STX:2>50 をRemarks1,Remarks2に書き込むようにできないでしょうか?
これはコンテストナンバーです。
またシグナルレポート欄の 599 40 といった文字列全体をHAMLOGへ渡せないでしょうか?

FT8,FT4などと違ったソフトから書き込みなど想定していないのは承知での質問になります。

<BAND:3>15m <STATION_CALL:10>JI1FGX/DU9 <MY_GRIDSQUARE:6>PJ18wf <CALL:5>vk2im <FREQ:7>21.0129 <MODE:2>CW <QSO_DATE:8>20250719 <TIME_ON:6>075905 <RST_SENT:6>599 50 <RST_RCVD:6>599 45 <SRX:2>oc <STX:2>oc <TIME_OFF:0> <QTH:9>Australia<EOR>

【2025/07/21(Mon) 10:57:44 投稿者修正】
2025/07/21(Mon) 10:47:34 [ No.1946 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:Taka(JA2GRC)・管理者  引用する 
ねずみ JI1FGX/DU9 上野さん

ADIFにSRXやSTXと言う定義があるのですね。 知りませんでした。

次回、バージョンアップ時の要望検討事項としてメモしておきます。
このところ、余り大きな機能アップ項目が無いので、いつになるか分かりませんが。
2025/07/21(Mon) 14:33:05 [ No.1947 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:   HomePage    引用する 
くま お返事ありがとうございます。

ぜひお願いします。
現在はCWTypeというプログラムの入力フィールドからからHAMLOGの各項目へAutohotkeyプログラムを使って直接コピーするという方法で実現してます。
これはこれで完成していて実運用しているのですがもっとスマートな方法を実現したいと思っています。
JT_LinkerのRemarks1,Remarks2というものが有るのですからすぐにでも実現できそうですよね(わがまま言って申し訳ありません。)


もしお時間がかかるのであればJT_LinkerからHAMLOGへどの様にデーターを渡しているのか仕様を公開していただけないでしょうか?自分でコードを書いてもよいかと思っています。

因みにロギングソフトLogger32はADIファイルでの取り込みですでに私の要求は実現できています。
https://ji1fgx.com/250720.php

【2025/07/21(Mon) 16:11:45 投稿者修正】
2025/07/21(Mon) 16:04:46 [ No.1948 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:Taka(JA2GRC)・管理者  引用する 
ねずみ JI1FGX/DU9 上野さん

JT_Linkerの準備段階で、Hamlogとのやり取りをテストした時のHamlog_Testと言う、動作確認用のサンプルプログラムを
公開しています。 マイソフトウエアのJT_Linkerの次にあります。

VB.netのソース付きですので、これを参考にしていただければ、宜しいのではないかと思います。

色んなデータのHamlogへの転送が試すことが出来ますので、ソース・オブジェクト共に参考になると思います。
2025/07/21(Mon) 19:59:16 [ No.1949 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:   HomePage    引用する 
くま こんばんは
貴重な情報ありがとうございます。
早速ダウンロードして動かhしてデーターを送るテストをしてみました。
VB.netのプログラムは初めてなのでまずは理解できるか勉強してみます。
ありがとうございました。
2025/07/21(Mon) 20:48:53 [ No.1950 ]
◇ Re: JT_Linkerのデーターインターフェースについて 投稿者:   HomePage    引用する 
くま ひとまずPythonでコードを書いてHAMLOGへデーターを送れることは確認しました。ただHimとMyに 599 50の様にコンテスト番号を付加しても無視されるのはHAMLOGの仕様のようですね。

ひとまずお礼まで
import ctypes
import ctypes.wintypes
import win32gui
import time

WM_COPYDATA = 0x004A
HAMLOG_CLASS_NAME = "TThwin"

# ---- HAMLOG フィールドごとの dwData ----
THW_CALL = 0 # コールサイン
THW_HIS = 4 # His RST
THW_MY = 5 # My RST
THW_FREQ = 6 # 周波数
THW_MODE = 7 # モード
THW_REMARKS1 = 13 # Remarks1
THW_REMARKS2 = 14 # Remarks2
THW_SAVE = 18 # ログ保存(すべての入力が終わったあとに)
THW_ENTER = 0x10000 # 送信後に Enter を押す

class COPYDATASTRUCT(ctypes.Structure):
_fields_ = [
("dwData", ctypes.wintypes.LPARAM),
("cbData", ctypes.wintypes.DWORD),
("lpData", ctypes.c_void_p)
]

def send_to_hamlog(dwData: int, text: str):
hwnd = win32gui.FindWindow(HAMLOG_CLASS_NAME, None)
if hwnd == 0:
print("&#10060; HAMLOG が見つかりません。")
return

encoded = text.encode("shift_jis")
buf = ctypes.create_string_buffer(encoded)
cds = COPYDATASTRUCT()
cds.dwData = dwData
cds.cbData = len(encoded)
cds.lpData = ctypes.cast(buf, ctypes.c_void_p)

ctypes.windll.user32.SendMessageW(hwnd, WM_COPYDATA, 0, ctypes.byref(cds))

# ========== 実行順 ==========
# 1&#65039;&#8419; コールサイン→ Enter 付き(確定して日付・時刻を自動入力させる)
send_to_hamlog(THW_CALL | THW_ENTER, "DW8BXU/1")
time.sleep(0.3) # HAMLOG が内部処理を終えるまで少し待つ

# 2&#65039;&#8419; 以降の項目は表示だけ(Enter なし)
send_to_hamlog(THW_HIS, "599 50")
send_to_hamlog(THW_MY, "599 45")
send_to_hamlog(THW_FREQ, "14.1200")
send_to_hamlog(THW_MODE, "CW")
send_to_hamlog(THW_REMARKS1, "TEST3")
send_to_hamlog(THW_REMARKS2, "TEST4")
send_to_hamlog(THW_SAVE, "")
2025/07/21(Mon) 23:03:25 [ No.1951 ]

投稿者 No. 削除キー

- YY-BOARD - icon:MakiMaki
- Antispam Version -