TS820用外部DDS−VFO(VFOsys改)のハムログへのシリアル周波数データ送出もロータリーエンコーダーが回転している時に行うようになりました。次はと言うと、ハムログのFreq欄を右クリックして出てくるメニューでシリアル通信処理に関わるものには下記の4つがあります。

リグの周波数を設定
リグの周波数再読込
VFOの切替え
Pttのon/off

この中のリグの周波数を設定を追加してみました。
前にもロジックアナライザーで確認してあるハムログからの送出コマンド及び、データは下記でした。

”MD1;”  ”FA00007120000;"
モードの設定が1で LSBモードを設定しています。そのあとはVFO AまたはBの周波数設定です。この場合は VFOがAで 周波数を7.120000MHzに設定しています。
シリアル受信した場合は1回目で”MD1"を取り込み、2回目で ”FA00007120000" を取り込みます。
最初の取り込みはモードでTS820のDDS−VFO(VFOsys改)では前のブログでも書きましたが、モードSWがアナログSWなので利用出来ませんので、(読み飛ばし)使いません。2回目の周波数設定を読み込みます。データにはコマンドがあるので、周波数設定様に”07120000”の8桁を取り出します。
8桁なのは10MHz以上での桁が8桁のためです。StringからIntへの変換で”07120000”は ”7120000”になるので問題ありません。

loopルーチン内のSerial.readStringUnit(';’)115200bpsバンドSWの周波数情報用のスケッチの前に記載します。Serial2.readStringUnit(';')は4800bpsのハムログ用の方です。
------------------------------------------------------------------------------------------------
  String key2;
       String key3;  
       if(Serial2.available() > 0){
          key2 = Serial2.readStringUntil(';'); //read one String and nouse
          dispkey2 = key2;
          //Serial.println(dispkey2);
         
          key3 = Serial2.readStringUntil(';'); //read 2nd String for use freq
          dispkey3 = key3;
          //Serial.println (dispkey3);
          
          ireko3 = dispkey3.substring(5,13);//FA00007118000→07118000
          longbuf = ireko3.toInt();
          frq = longbuf;
        }
------------------------------------------------------------------------------------------------

この追加にてハムログから周波数を記入して、右クリックで周波数の設定をクリックするとTS820用DDS-VFO(VFOsys改)の周波数がハムログから送られた周波数にかわります。
他のコマンドは読み込みした場合は周波数データが0.000になります。リグの周波数は対応は不要です。(既にロータリーエンコーダー回転時に読み取ってくれます。)なので、下記コマンド時に読み飛ばす処理がTS820用DDS-VFO(VFOsys改)には必要となります。VFOも1つしかありません。Pttの制御線もありませんので!

リグの周波数再読込
VFOの切替え
Pttのon/off

まずはハムログからの周波数設定のみ対応しました。
ただし、バンドSWがアナログなので、自ずと設定できる周波数はバンド内となります。他のバンドの設定は出来ますが、本体のバンドSWがアナログなので対応出来ません。この制限もつけたらよいでしょうか?

つづく?