一括表示

ブラインドハム用 "Talk Hamlog" 投稿者:JG2NUD/洗川 

標記を作ってみました。ここの開発室の各氏のご指導の賜物です。

本件を思い立ったのは、ローカルのブラインドハムである、M氏
の希望によるものです。「もっとハムライフを楽しみたい」との
お話にグッときた次第です。

現在、β版を、ローカル各局にて試用いただいております。

機能に関しては本家 Hamlog に全く及びつかぬほど、お粗末な
ものですが、ブラインドの方には、むしろ、必要最小限の機能
に限定した方が良く、M氏の要件(特に、以下の6.)は満たし
ております。

1. マウス不要
2. 入力文字1字ごとの読み上げ(発声)
3. 入力フィールドは、コール、RST(HIS/MY)、FREQ、MODE
の4つのみ
4. フィールド毎、または、全フィールドの読み上げ
5. 現在の入力状態を、Hamlogデータにアペンド
(日時は、CPU Date/Timeから拾う)
6. 入力コールサインから、QSO履歴を検索。
検索結果、(名前)、今回のQSO回数、最近のQSOの年月日
の読み上げ。

データの削除、修正、QTHの入力、などはできず、これらは、
いまのところ、介助の方に 本家Hamlog から操作いただく、と
いう代物です。

ブラインドの方は、とにかく、マウス操作は困難、日本語入力
が困難、ということで、機能に押さえることにも意味はありま
す。…と啖呵を切ってみたものの、正直なところは、当方の
コーディング技量のなさによるわけでして…、hi。

もちろん、今後、M氏の希望により、技術的に可能な機能は
追加していきたいと思っております。そのときには、また、
皆様のお助けが、是非とも必要です。

当方、今回がはじめての「作品としてまとまった」Windowsプロ
グラミングですので、それなりです。ですけど、私もプロの端
くれでして、可能な限り、細やかな配慮は随所に込めたつもり
です。

※VC++ Ver 6.0 MFCによる

実に粗末なものですが、試用をご希望な方は、当方までメール
にてお問い合わせください。
(私のコールサイン@jarl.com)

※表題の末尾には、必ず、de xxxxxx (xxxxxxはあなたか代理
 の方のコールサイン)を加えてください。時々、迷惑メール
 に紛れることがあり、その場合の救済になります。

※まだ、セットアップ説明書も作っていないですし、お届け
 するまでには、お時間いただくことになると思います。

とにもかくにも、ここまでこれたのも、皆様のお陰です。
どうも有難うございました。今後ともどうぞご指導よろしくお
願いいたします。

2010/02/13(Sat) 20:11:30  [No.186]


ブラインドハム用 "Talk Hamlog" 投稿者:  

各局、明けましておめでとうございます。

 正月休みの自らの宿題として課した、標記のバージョンアップを
行いました。ローカルのブラインドハムの要望と、趣味でのプロ
グラミング(お遊び)によるものです。

----------
<変更点>

2. 入力文字1字ごとの読み上げ(発声)
→やめました。

理由はブラインドの方々はほぼ例外なく、PC-Talker などの発声
ソフトを使用しており、「2重発声となり煩わしい」とのご意見を
頂いたためです。

3. 入力フィールドは、コール、RST(HIS/MY)、FREQ、MODE の4つ
のみ
→名前のフィールドを追加、入力フィールドは5つになりました。

 名前のフィールドへの、フォーカス/フォーカスロスト時に、
FEP の ON/OFF を行います。入力は、「かな」or全角「カナ」
 の混合のみとしています。漢字→読みの辞書ファイルを用意
 することで、漢字にも対応できるのですが、「辞書登録が煩わ
 しい」との意見で、実装しませんでした。
----------

 入力フィールドの追加、入力データの参照、修正、削除も検討
しましたが、ブラインドハムの方へのユーザー I/F は難しい
です。

 音声発声によってメニューを辿り、その時点のモードを音声
発声によって確認するような I/F を、ローカルのブラインド
ハムに提案してみましたが、「そのような機能を装備されても
使いこなせない。シンプル・イズ・ザ・ベストでお願いします」
と言われました。真意なのか、当方への気遣いなのか…?。

 兎にも角にも、Hamlog50.DLL は奥が深く、勉強させられること
しきりです。失敗、成功を繰り返し、ダンジョンです、hi。
「各サービス関数の実装の中身を推理する」点で、すごく楽しま
せてもらっております。

 どうしても行き詰まりましたら、また、質問させていただきます。

 今年もどうぞよろしくお願いいたします。de JG2NUD

2011/01/02(Sun) 15:22:44  [No.217]


 TalkHamlog を使っていただいている方の近況ですが、ローカ
ル局のお手伝いで Hamlogから QSLカード印刷を行うようになり、
よりハムライフを楽しまれている様です。どんな小さなことでも、
人様のお役に立て、喜んでいただけるのを見ると、本当に嬉しい、
オーバーですが、自分がこの世に存在する意義を感じるものです
ね。

 さて、このGWに自分に課した課題は、リグコントロールです。
といっても、VC++ による、簡単な RS-232C 制御です。前出のユー
ザーに、HFにて、より HAM の楽しみを味わっていただこうと、これ
また世話付きローカル局が、「操作パラメータが少なくも機能十分」
ということで、FT-900(なかなか目的に適っていて見る目がある)
をヤフオクで代理落札してくださいました。しかし、このリグは音
声合成のオプションは無く、実際に使っていただいても、まさしく
「大海に放り出された小船」で、リグの現在の状態がわからない、
いわゆる、介添なくしては使えない状況です。

 しかし、このリグは、CAT対応ですので、これでリグのステータス
を取得、TalkHamlog に発声させれば、かなりの改善が期待できます。
この発想はすぐに浮かんだのですが、もし実現しなかった場合の、
USB-シリアルI/Fの投資を考えると申し訳ない、と二の足を踏んでま
した。しかし、また某ローカル局が、「FT-900の HAMLOG 同期」を
画策して、I/F を入手していただいたので、挑戦してみることにし
ました。

 この休み、丸2日かかりました(のめり込む、楽しい時間、hi)。

----------
・機能1
 PC の PFキー押下で、その時のリグの VFOモード、周波数、
その他周波数ロック、スプリットモード…などを、音声で
読み上げる。

・機能2
 別の PFキー押下で、「パニック対応」、可能な限りのパラ
メーターをリセットする。
----------

 機能1により、暗闇に行燈を灯し、機能2により、リグを触る
(リカバーできない)恐怖感から開放されることから、意義は大
きいと思います。しかしながら今後、その局に実際に頻繁に使って
頂けて、結果、HFにのめりこんで貰うことができれば、初めて成就
したといえ、心配&楽しみです。

 PG は引き続き、VC++ Ver6.0 です。ここに見えられるOMが
おっしゃる様に、「機能は限定されるが、非常に軽く、コンパクト、
重たいランタイム(フレームワーク)」を必要としない所は、いいで
すね。DLLを除いた、EXEファイルの大きさは、何と 40KB です。

 VC++ による Windows RC-232C制御PG については、ノウハウが
I-Net に少ないながらも公開されていたので助かりましたが、最後
まで私を悩ませた壁を以下に紹介します。

1. CreateFile() の第1引数
 INIテキストファイルに、"COM3" などと書いておき、PG起動時に
これを文字列に読み込み、そのポインタを渡してやるコーディング
をしたのですが、どうしてもシリアルポートがオープンしてくれない。
デバッガで見ると、メモリアクセスバイオレーション。かなり考えた
結果、判ったことは、第1引数の型が、LPCTSTR であること。これに
対し、私は、char[] を渡していたことが原因。コンパイルエラー
にしてちょうだいよ、マッタク…。

2. ReadFile() の第2引数(受信バッファ)
 読み込みはできたものの、文字が化ける。これはデバッガを使って
ひと思案、コードに、0x80以上のものが混じっていることから判明。
つまり、受信バッファの型を、これまた char[] で受けていたことが
原因でした。これを、unsigned char[] で受けてやることで解決。

 …要は、私がまだまだ、DWORD、LPVOID、LPDWORD、LPCTSTRといった
Windows 独自の型、また、UNICODE に対する知識、技術が欠落して
いることが判明し、自己嫌悪です(まだまだ奥は深いぞ…いつまで
たっても VC++ は難しい)。

 以上、Tips ご紹介でした。hi

2012/05/02(Wed) 10:09:58  [No.275]