x100cmd

command module
v1.3.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2023 License: MIT Imports: 1 Imported by: 0

README

ALINCO DJ-X100 CommandLine Tool

  • 非公式のアルインコ DJ-X100 用のコマンドラインツールです。

🔰 使い方

  • macos の場合Homebrewがインストール済みであればbrew install bellx2/tap/x100cmdでインストール可能です。アップデートはbrew upgrade x100cmdで行えます。
  • Windows/macos 用のビルド済みバイナリーはReleasesよりダウンロードできます。任意の場所に置いて実行してください。
  • DJ-X100 を USB ケーブルで接続します。

read コマンドを使って指定チャンネルのデータを読み込み表示します。ポートは自動認識します。

x100cmd read 10

writeコマンドを使って指定チャンネルへデータを書き込みます。 データは再起動するまで反映されません。-r オプションを付けると書き込み後に再起動を行います。

x100cmd write 10 -f 433.00 -m FM -n "430メイン" -s "20k" -r

その他、コマンド制御などが可能です。

x100cmd exec restart

🚀 コマンド

コマンド一覧:

  • [check] - シリアルポートと接続確認

  • [ch] - チャンネルコマンド(省略可)

    • [read] - チャンネルデータ読み込み
    • [write] - チャンネルデータ書き込み
    • [clear] - チャンネルデータクリア
    • [export] - チャンネルデータのファイル出力
    • [import] - チャンネルデータのファイル読み込み
  • [bank] - バンクコマンド(初期ファームのみ)

    • [read] - バンク名読み込み
    • [write] - バンク名書き込み
  • [exec] - 制御コマンド実行

グローバルフラグ デフォルト 説明
-p, --port auto シリアルポート名
autoの場合は自動検索します
--debug false デバッグ表示
x100cmd check

接続状態を確認します。

x100cmd check

** scan ports **
/dev/cu.wlan-debug
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.usbmodem00000000000001 [3614:D001] DJ-X100!

** check connection **
PortName: auto
DJ-X100 PortName: /dev/cu.usbmodem00000000000001

** send command **
OK

** current freq **
433.000000
x100cmd read <channel_no>
x100cmd ch read <channel_no>

チャンネルデータを読み込みます。

x100cmd read 10

{"freq":433.000000, "mode":"FM", "step":"1k", "name":"430メイン", "offset":"OFF", "shift_freq":"0.000000", "att":"OFF", "sq":"OFF", "tone":"670", "dcs":"017", "bank":"ABCTYZ", "empty": false}
x100cmd write <channel>
x100cmd ch write <channel_no>

チャンネルデータを書き込みます。指定したチャンネルのデータは再起動するまで反映されません。指定したデータ以外(コード等)は指定チャンネルの情報が保持されます。-rオプションを付けると書き込み後に再起動を行います。

x100cmd write 10 -f 433.00 -m FM -n "430メイン" -s "20k" -r

※ 指定しない場合は現状のチャンネル設定を保持します

フラグ 初期値 説明
-f, --freq 周波数 (e.g. 433.0)
-m, --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
※対応してないモードは表示されない?
-s, --step 周波数ステップ: 1k, 5k, 6k25, 8k33, 10k, 12k5,15k, 20k, 25k, 30k, 50k, 100k, 125k,200k
-n, --name 名称 (UTF-8) 最大: 30byte, NONE で空白
--offset オフセット : ON, OFF
--shift_freq シフト周波数
--att アッテネータ: OFF, 10db, 20db
--sq スケルチ: OFF,CTCSS,DCS,R_CTCSS,R_DCS,JR,MSK
--tone CTSS トーン: 670,693...2503,2541
--dcs DCS コード: 017-754
--bank バンク: A-Z ex. ABCZ のように複数指定可。NONEで消去
--skip メモリースキップ: ON, OFF
--lat 緯度 ex.35.681382 ※緯度経度=0 で消去
--lon 経度 ex.139.766084 ※緯度経度=0 で消去
--ext 拡張情報(0x50-0x7F) 半角 96 文字
-y, --yes false 書き込み確認をしない
-r, --restart false 実行後再起動
x100cmd clear <channel_no>
x100cmd ch clear <channel_no>

チャンネルデータを初期データで消去します。

x100cmd clear 10
OK
フラグ 初期値 説明
-y, --yes false 消去確認をしない
-r, --restart false 実行後再起動
x100cmd export <csv_filename>
x100cmd ch export <csv_filename>

チャンネルデータ(1-999)をエクスポートします。 フォーマットはカンマ区切りの CSV (UTF-8 BOM 付き)です。

x100cmd export channels.csv
フラグ 初期値 説明
-y, --yes false 上書き警告を表示しない
-a, --all false 空のチャンネルデータ(周波数=0)も出力する
--ext false 拡張情報(0x50-0x7F) 半角 96 文字を出力する
ファイル形式
Channel,Freq,Mode,Step,Name,offset,shift_freq,att,sq,tone,dcs,bank,lat,lon,skip
001,433.000000,FM,10k,430メイン,OFF,0.000000,OFF,OFF,670,017,A,0.000000,0.000000,OFF
002,145.000000,FM,10k,144メイン,OFF,0.000000,OFF,OFF,670,017,Z,0.000000,0.000000,OFF
....
  • --extオプション付きの場合
Channel,Freq,Mode,Step,Name,offset,shift_freq,att,sq,tone,dcs,bank,lat,lon,skip,ext
001,433.000000,FM,10k,430メイン,OFF,0.000000,OFF,OFF,670,017,A,0.000000,0.000000,OFF,0000e4000000e400000000000000000000000180018001800180010000800100008001000080000080008000807b1700
002,145.000000,FM,10k,144メイン,OFF,0.000000,OFF,OFF,670,017,Z,0.000000,0.000000,OFF,0000e4000000e400000000000000000000000180018001800180010000800100008001000080000080008000807b1700
....
x100cmd import <csv_filename>
x100cmd ch import <csv_filename>

チャンネルデータをインポートします。フォーマットはカンマ区切りの CSV (UTF-8 BOM 付き)です。 Export したデータを基準にしてください。

  • 指定したもの以外のデータは保持されます。
  • 周波数が0の場合はチャンネルデータを消去します。
  • 位置情報は Lat,Lon がいずれも 0.0 の場合データを消去します。
  • ヘッダー行が異なるとインポートできないばあいがあります
  • ファイルの文字コードは UTF-8 である必要があります
  • ext 項目についてはそのまま書き込まれます
x100cmd import channels.csv
ファイル形式
  • シンプル
Channel,Freq,Mode,Step,Name
001,433.000000,FM,10k,430メイン
002,145.000000,FM,10k,144メイン
....
  • 12 項目
Channel,Freq,Mode,Step,Name,offset,shift_freq,att,sq,tone,dcs,bank
001,433.000000,FM,10k,430メイン,OFF,0.000000,OFF,OFF,670,017,A
002,145.000000,FM,10k,144メイン,OFF,0.000000,OFF,OFF,670,017,Z
  • 位置情報付き(現行バージョンの export データ)
Channel,Freq,Mode,Step,Name,offset,shift_freq,att,sq,tone,dcs,bank,lat,lon,skip
001,433.000000,FM,10k,430メイン,OFF,0.000000,OFF,OFF,670,017,A,0.000000,0.000000,OFF
002,145.000000,FM,10k,144メイン,OFF,0.000000,OFF,OFF,670,017,Z,0.000000,0.000000,OFF
....
  • --extオプション付きデータ
Channel,Freq,Mode,Step,Name,offset,shift_freq,att,sq,tone,dcs,bank,lat,lon,skip,ext
001,433.000000,FM,10k,430メイン,OFF,0.000000,OFF,OFF,670,017,A,0.000000,0.000000,OFF,0000e4000000e400000000000000000000000180018001800180010000800100008001000080000080008000807b1700
002,145.000000,FM,10k,144メイン,OFF,0.000000,OFF,OFF,670,017,Z,0.000000,0.000000,OFF,0000e4000000e400000000000000000000000180018001800180010000800100008001000080000080008000807b1700
....
フラグ 初期値 説明
-o, --overwrite true 空白の場合に初期値で上書き
-v, --verbose false 書き込み中データの詳細を表示する
-r, --restart false 書き込み後に再起動
x100cmd bank read <A-Z>

(初期ファームウェア v1.00 のみ)

バンク名を読み込みます。バンクは A-Z で指定します。省略した場合はすべてのバンクを出力します

x100cmd bank read A
"A","羽田空港"

x100cmd bank read ABC
"A","羽田空港"
"B","成田空港"
"C","横田基地"
x100cmd bank write <A-Z> <bank_name>

(ファームウェア v1.00 のみ)

バンク名を書き込みます。バンクは A-Z で指定します。再起動するまで反映されません。-rオプションを付けると書き込み後に再起動を行います。名称にNONEを指定すると名称を消去します(表示はバンク-A~Zとなります)。

x100cmd bank write A "羽田空港" -r
フラグ 初期値 説明
-y, --yes false 上書き確認をしない
-r, --restart false 実行後再起動
x100cmd exec <command>

コントロールコマンドを送信します。

x100cmd exec restart # 再起動
コマンド 説明
version バージョン情報の取得
restart 再起動
read <address> メモリー読み込み
write <address> メモリー書き込み 265Byte

(ファームウェア v1.00 のみ)

コマンド 説明
freq <freq> 現在の周波数取得/設定
gps 本体の GPS 情報の取得
sql <level> SQL 設定 (00-32)
vol <level> ボリューム設定 (00-32)

制限事項など

  • 非公式ツールであり動作保証はありません。
  • コマンド引数やレスポンスは予告なく変更する場合があります。
  • 本体のデータを書き換えるため、データが破損する可能性があります。自己責任でご利用ください。
  • 開発は MacOS で行っています。それ以外のプラットフォームの積極的な動作確認は行なっていません。
  • コマンドライン文字列は UTF-8 です。
  • [Windows] DJ-X100 を接続しても認識しない場合があります。その場合はx100cmd checkコマンドでシリアルポート状況を確認するか、メーカ提供の DJ-X100 ソフトウエア でまず接続を確認してください。認識できない場合は動作しません。
  • 対応していない周波数やモードを書き込んだ場合の動作は不明です

📝 ライセンス

MIT License

謝辞

https://github.com/musen23872/djx100-commandline-tools

  • メモリーデータ構造の一部はdjx100-unofficial-memory-data.hexpatを参考にさせていただきました。

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL