DJ-X100 Memory Writer(初期ファーム対応・非公式)

無線

2023/07/04 ベータ版改め、公開版1.0.0リリースしました。
2023/07/04 21:30追記: v1.0.1でコピペが逆順になってしまう不具合を修正しました。

DJ-X100の初期ファームに対応したメモリーライターです。
チャンネルメモリの読み書き、バンクメモリの作成、
作成したデータのCSVの保存、読み込みに対応しています。
特にWCや秘話コードなどをExcel感覚で入力できる点が便利です。コピペ対応。
ダウンロードリンクはページ下部です。

セットアップ(初回のみ・インストール不要)

  1. https://github.com/bellx2/x100cmd/releases
    こちらからbellx2様のx100コマンドラインツール 1.3.10をダウンロードし展開します
    (x100cmd_Windows_x86_64.zip)
  2. 本ソフトのフォルダ内に展開したx100cmd.exeをコピーします
  3. パソコンとDJ-X100を接続します。
  4. 本ソフト(DJ-X100_memory_writer.exe)を実行します

※環境によっては、.NETの追加パックが必要になります。画面の指示に従ってインストールしてください。

PCとの相性について

※元々仮ライターやツールで無線機からの読込の調子が悪いPC(相性の悪いPC)の利用は避けることをおススメします。特定のPCでの相性問題があるようです https://www.alinco.co.jp/product/electron/soft/softdl02/index.html

メモリの作成について

本ソフト起動後、000〜999までのメモリ表が表示されますので、適宜入力してください。
あるいは同梱のsample.csvを参考にエクセル上でCSVを作成し、本ソフトで取り込んでご使用ください。(入力チェックが甘くなるので、不慣れな方はExcelの使用はおすすめしません)

※0.9.3以前で保存したCSVを読み込むと000CHが表示されません。
無線機から改めてデータを読み出すか、テキストエディタなどで001CHなどから行コピぺして、No.を000に書き換えてご対応ください。

各項目入力設定

  1. FREQ:周波数。20~470の範囲で小数第6位まで。例:274.256250
  2. NAME:メモリネーム。全角14文字、半角28文字以内(28バイト)まで。
    【便利機能】指定文字数を超えた場合、全角カタカナと全角数字を半角にすると28バイト以内に収まるかチェックします。収まる場合は半角にした上でネーム設定するかユーザに尋ねます。
    ただし、可能な限り半角にしても28バイトをオーバーする場合は、越えた分をカットし設定します
  3. MODE:受信モード。以下から選択できます。
    FM, NFM, AM, NAM, T98 , T102_B54, DMR, T61_typ1, T61_typ2, T61_typ3, T61_typ4,T61_typx,ICDU,dPMR,DSTAR, C4FM, AIS, ACARS, POCSAG, 12KIF_W, 12KIF_N
  4. BANK:A〜Zまで複数バンク設定できます。例:【A】【ABCDZ】
    (予め後述のバンクメモリを取り込んでおくと、画面左で確認しながら登録できるため便利です)
  5. SKIP:スキップ設定 ON/OFF
  6. OFFSET:オフセット設定 ON/OFF
  7. SHIFT_FREQ:シフト周波数 負の値から正の値まで設定可能 小数第6位まで。例:-3.000000
  8. ATT:アッテネーター設定
    OFF・10db・20db
  9. SQ_TYPE:スケルチタイプ
    OFF,CTCSS,DCS,R_CTCSS,R_DCS,JR,MSK
  10. CTCSS:トーン
  11. DCS:デジタルコードスケルチ
  12. REV_EC:反転秘話設定 ON/OFF
  13. REV_FREQ:反転秘話周波数 2500〜3500
  14. UC:ユーザコード OFF or 001〜511
  15. GC:グループコード ALL, 00000001〜99999999
  16. EC:秘話コード OFF, 00001〜32767
  17. WC:ホワイトニングコード AUTO, 000〜511
  18. T61_LON: STD-T61 TYP1,TYP2で設定可能な基準経度 123〜155
  19. T61_LAT: STD-T61 TYP1,TYP2で設定可能な基準緯度 23〜55
  20. DMR_SLOT:DMRのスロット AUTO, 1, 2
  21. DMR_CC:DMRのカラーコード OFF, 0〜15
  22. DMR_GC:DMRのグループコード 00000001~99999999
  23. DSTAR_CS:DSTARのコードスケルチ OFF, 0〜99
  24. C4FM_DG:デジタルID  OFF, 0〜99
  25. LON:経度 145など
  26. LAT:緯度 35など

バングメモリの登録について(現在初期ファームのみ対応)

  • メニューバー → バンク設定(B) でバンクメモリ用の別画面が開きます。
  • バンク画面のメニュー 無線機(X) からバンクの取り込み及び書き込みができます、
  • メモリチャンネル同様、規定字数オーバーの際は半角にして収まるかチェックします。それでもオーバーする場合は自動カットされます。

行関連の操作

  • セル上で右クリックで各種行関連の操作が可能です。

  • 行移動に対応しています。(複数行も可能)左端をクリックしドラックすると複数行選択できます。
    その後、Ctrl +↑↓で行ごと移動可能です、
    ただし、列を横いっぱいに表示させたまま行移動を行うと動作が重いです。
    (再描写が発生するため)
    下記画像のように最低限の列だけ表示させるようにウィンドウを小さくすると動作がスムーズです。

謝辞

  • 今回DJ-X100への書き込みには、bellx2 様のx100コマンドラインツールを利用させて頂きました。また、x100cmdの修正作業を毎度迅速にご対応頂きました。
  • 拡張領域の解析には、musen23872 様のdjx100-unofficial-memory-data.hexpatを参考にさせて頂きました。
  • ベータ版テスト中は多くのフォロワー様にフィートバックやバグ報告を頂き、本ソフトの完成度を高めていくことが出来ました。情報提供など、ご協力誠にありがとうございます。

皆様お力添え頂きまして誠にありがとうございます。

注意・免責事項

・本ソフトウェアについてメーカーや販売店へのツールに関する問い合わせは絶対に行わないでください。
・これはフリーソフトウェアであり、いかなる保証も行いません。ソフトをご利用になることで発生したハードウェア、他のソフトウェアやデータへのダメージなど一切補償致しかねますので、ご了承ください。
・本ソフトウェアの利用により発生した損害(第三者との間で生じた紛争等に起因する損害を含みます)および本ソフトウェアを利用できなかったことにより発生した利用者または第三者の損害に対し、いかなる責任も負いません。
・電波法を遵守してください。
・商用目的は一切禁止します。
・本ソフトはWindows10 Pro 64bit で動作確認されています。
・DJ-X100はアルインコ株式会社の商品名です。
・本ソフトの著作権は製作者のkazに帰属します。2次配布は禁止です。

利用者は本ソフトをダウンロードし使用する際は上記の注意事項、免責事項に同意したものとします。
電波法を遵守した上でご使用ください。

ダウンロード先は以下となります
https://github.com/k-ishii1020/DJ-X100_memory_writer/releases/tag/1.0.1

Github: https://github.com/k-ishii1020/DJ-X100_memory_writer

【参考】以下、ベータ版対応記録

Ver0.9.3対応内容(2023/07/02)

  • プライオリティチャンネル(000)に対応しました。※MEMOモードでは表示されません。
    使い方の詳細は公式説明書でプライオリティチャンネルをご参照ください。

    ※0.9.3以前で保存したCSVを読み込むと000CHが表示されません。
    無線機から読みだしたデータをCSVに保存後に再度CSVを開くか、テキストエディタなどで
    001CHなどから行コピぺして、No.を000に書き換えてご対応ください。
  • 無線機からの読み込みでUCとECの設定が正常に反映されない不具合を修正しました。
  • 行移動に対応しました。(複数行も可能)左端をクリックしドラックすると複数行選択できます。
    また、列を全て表示させて行移動を行うと動作が重いです。(再描写が発生するため)
    下記画像のように最低限の列だけ表示させた状態にして行移動するとスムーズです。

x100cmdについて

x100cmdのバージョンアップ対応をして頂きました。
そのため、併せてx100cmd.exeもアップデートしてください。
https://github.com/bellx2/x100cmd/releases/tag/v1.3.10

既知のエラー

  • 特定の周波数(466.350000)かつ、半角2文字のネームで書き込みを行うとエラー発生(x100cmd実行時) →bellx2様に共有済みです。
    →2023/07/03追記:x100cmdを1.3.10にアップデートすることで解消

最近寄せられた情報

公式仮ライター、当メモリライターいずれを使用しても、メモリネームが■■■■■■になったり、ATTに!マークがつくなど、メモリの内容が不整合になる環境の方がごく稀にいらっしゃいました。
特定のUSBポートに変更するとうまく動いたり、PCを変えることで正常なデータを書き込むことができた、との報告を頂きました。
書き込みがうまくいかない、という方は別PCでの使用もお試しください。
https://www.alinco.co.jp/product/electron/soft/softdl02/index.html

Ver0.9.2対応内容

  • メモリが登録されていないチャンネルを上詰めしないように改善しました
  • DSTAR,C4FMのCS,DGでエラーが起きる不具合を修正しました
  • バンクの読み書きが出来ない不具合を修正しました
  • 保存されたCSVファイルにデフォルトで拡張子が付かない不具合を修正しました

PCとの相性について

※元々仮ライターやツールで無線機からの読込の調子が悪いPC(相性の悪いPC)の利用は避けることをおススメします。特定のPCでの相性問題があるようです https://www.alinco.co.jp/product/electron/soft/softdl02/index.html

Ver0.9.1対応内容

下記不具合や新機能を追加しました。

  • 無線機からのメモリ読み出し
  • UC, WCが0埋めされてないCSVを取り込んだときにエラーになる不具合の対応
  • UC,EC,GCへの入力制限機能
  • WCの000が選択できない考慮漏れの修正

以下、bellx2様にx100cmdのバージョンアップ対応をして頂きました。
そのため、併せてx100cmd.exeもアップデートしてください。
https://github.com/bellx2/x100cmd/releases/tag/v1.3.8

  • 特定のトーン(136.5,151.4Hz)で書き込めないエラー
  • 特定の周波数において、設定した周波数+-0.000001になってしまうエラー
  • importデータが空白の場合は初期値で上書きする挙動に変更
    →まだ未検証ですが、仮ライターでおかしくなったデータが正常化する可能性があります。

既知の不具合

  • プライオリティCH(000)への読み書き対応(次回対応予定)

コメント

  1. はま~ より:

    初代メッセージロガーから愛用させていただいています。開発本当に感謝いたします!
    DJ-X100 Memory Writer、ベータ版追記の不都合に加え、私の環境で下記不都合がありました。次期アップデート時の参考になれば幸いです。

    ・メモリネーム先頭文字が半角英字の場合、該当行で書込動作停止その後動作せず。X100側メモリは該当行の前までは正常書込されています。
    ・WCが1~99の場合CSV取込時に跳ねるのはX100側のデータ仕様(WCはゼロも含めた3桁で入力が必要?)なのでしょうか、すみません。

    DJ-X100:Ver.1.00 初期ファーム
    OS:Win10 pro 22H2

    • かず より:

      コメントありがとうございます。
      WCの件確認しましたので、修正しました。数日以内にリリース予定です。
      半角英字の件がこちらでは再現できませんでした。具体的な文字列を教えて頂いても宜しいでしょうか?

      • はま~ より:

        ご連絡ありがとうございます。
        文字列はG1(半角)なのですが、全角にするとエラーは出ません。
        試しに他のCHメモリネームを半角G1にしてもエラーが出なかったりと、エラー出現の法則性がわからずですが、回避方法がわかりましたので特に不便は感じておりません。参考までに下記をお送りします。(v0.9.2にて検証)

        136行目の書込み内容は 466.350000 G1 ですが下記エラーが表示されて停止します。

        134[OK]: 422.300000 特小L9
        135[OK]: 158.350000
        panic: runtime error: index out of range [2] with length 2

        goroutine 1 [running]:
        github.com/bellx2/x100cmd/djx100.MakeChData({0xb0b236?, 0x51?}, {0x407d25999999999a, 0x1, 0x5, 0x0, {0xc000010694, 0x2}, 0x0, 0x0, …})
        /Users/runner/work/x100cmd/x100cmd/djx100/djx100.go:338 +0x8d1
        github.com/bellx2/x100cmd/cmd.glob..func15(0xce0300?, {0xc000119620?, 0x3?, 0x4?})
        /Users/runner/work/x100cmd/x100cmd/cmd/import.go:203 +0xc0a
        github.com/spf13/cobra.(*Command).execute(0xce0300, {0xc00005c340, 0x3, 0x4})
        /Users/runner/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:944 +0x847
        github.com/spf13/cobra.(*Command).ExecuteC(0xce0e80)
        /Users/runner/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068 +0x3bd
        github.com/spf13/cobra.(*Command).Execute(…)
        /Users/runner/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992
        github.com/bellx2/x100cmd/cmd.Execute()
        /Users/runner/work/x100cmd/x100cmd/cmd/root.go:19 +0x25
        main.main()
        /Users/runner/work/x100cmd/x100cmd/main.go:10 +0x17

        • かず より:

          詳細の共有ありがとうございます。
          こちらでも再現しました。どうやら前後のメモリは関係なさそうですね。こちら、bellx2様にも共有させていただきます。

          • かず より:

            こちら、bellx2様が対応してくださりました。x100cmdを最新版にしてお試しくださいませ

          • はま~ より:

            最新Ver.でエラーなく書込できました!お手数おかけしました。
            かず様 bellx2様 ありがとうございました。

タイトルとURLをコピーしました