KX3 を購入したとき、純正のマイクは買わなかった。というのも、そんなマイク使わない (というか今のところ音声での交信数ゼロ) ので、もったいなかったからだ。

とはいえマイクでも出れるようにしたいと思いつつ、PC用のコンデンサーマイクとかを試していたりしたが、せっかくなので FT-450D に付属している MH-31 というマイクを使いたいと思い立った。

KX3 のマイクの仕様

純正マイクは持っていないが、回路図は公開されており参照できる。大変ありがたい。KX3 側のマニュアルだと MIC 端子のピンアサインは書いてあるが、UP/DOWN スイッチの仕様などは書いていない。

これと同じようになるように、MH-31 を配線しなおす。

MH-31 の仕様

MH-31 は RJ-45 ジャックを持っており、FT-450D も RJ-45 ジャックになっている。付属のカールコードは電気的にはストレートのLANケーブルとほぼ一緒っぽい。

特にカールコードにこだわりはないので、100均で黒くて細いLANケーブルを購入し、1m 程度で切って配線しなおした。

左側は MH-31 の内部回路と結線。右側が今回作った部分。TRRSプラグの中に抵抗も無理矢理押しこんでエポキシで固めたので、見掛けはかなりスッキリしてる。

使用感

特にどうということはなく普通に使える。FST スイッチは無効だが UP も DOWN も機能してる。ただ、マイクゲインを結構上げなければならない。KX3 側のマイクバイアス電圧が3Vと、本来 MH-31 が想定している 5V より低いせいかもしれない。

黒いLANケーブルなので、見た目も悪くない。思ったより良くできた。ただ MH-31 は中に重りが入っているらしく、無駄に重いのが良くないところ。

余談だけど100均のLANケーブルはピンアサインとケーブルの色が対応してない(適当に圧着してる?)ので、よくよくテスターで確認したほうが良い。

  1. トップ
  2. tech
  3. YAESU MH-31 (FT-450D/FT-817ND 付属マイク) を KX3 で使う
  1. トップ
  2. ham
  3. YAESU MH-31 (FT-450D/FT-817ND 付属マイク) を KX3 で使う

ワーカー使っていると、一部のジョブだけちょっと優先的に実行したいということがあるので、TheSchwartz の場合、prioritize => 1 にしてプライオリティを有効にするとよいのですが、挙動でハマったのでメモをしておきます。

今回のケース

そもそもジョブごとにプライオリティはつけていないが、一部のジョブだけ手動対応で優先して処理を行いたくなった。

やったこと

該当ジョブを

update job set run_after = insert_time, grabbed_until = insert_time, priority = 1 where ...;

で優先順位を設定しすぐに実行開始できるようにした

結果

_人人人人人人人人人人人人_
> なかなか実行されない <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

というのも、TheSchwartz は priority 順でソートして50件取得して、それをシャッフルしてから1件選んで実行する、という挙動をするため。

つまり、優先順位を設定したとしても有象無象と混ぜられた 1/50 のクジに当たらなければ、そのジョブは実行されない。1/50 って2%だよ…… 2%…… 100回ジョブ実行しようとしてようやく86.7%の確率だよ……


どうするか?

とにかく入ってるジョブをすぐ実行したい場合

  • $TheSchwartz::FIND_JOB_BATCH_SIZE (デフォルト50) を 1 にする
  • 該当ジョブ以外の run_after を適当に未来に設定する
  • ジョブIDを指定して1回だけワークするスクリプト書いて手動実行

ぐらいしかない。

  1. トップ
  2. tech
  3. TheSchwartz の prioritize を有効にしたときの挙動は愉快
  1. トップ
  2. perl
  3. TheSchwartz の prioritize を有効にしたときの挙動は愉快