Vol.947 24.Jul.2026

スターリンク・ダイレクト CLBによるシフト回路とシミュレーション Wordで短縮キー入力

D ドコモでスターリンク・ダイレクト   〜docomo Starlink Direct

by fjk

 docomoスターリンク・ダイレクトは、災害時などスマホの通信が圏外となる時に、SpaceX社の衛星を使って直接通信ができるサービスです。
 スターリンクに対応している機種(要対応アプリ、対応SIM)であれば、日本国内の遮蔽物がない屋外で、データ通信が無料で利用可能です。(申込み不要)
 ただし、音声通話は利用できません。
 サービスは2026年4月27日から開始されており、以下の条件を満たすと自動的に通信衛星に接続されます。

  1. 空が見える場所
  2. ドコモの5G/4Gエリア外(圏外であること)
  3. WiFi非接続(非利用状態)

【参 考】 (スターリンク対応機種などはリンク先参照)
    dokomoスターリンク 、  ドコモサービス

  ※ 同様のスターリンク・ダイレクト・サービスは、他のキャリアでも利用出来ます。
    AU 、  ソフトバンク 、  楽天


P PIC16F13145 (4)   〜CLBによるシフト回路とシミュレーション

by fjk

 CLBのシフト回路を使って、LEDアレーの点灯を行った。以下のページを参考にさせていただいた。
  PIC16F13145のCLBで作成したプログラマブルな論理回路でLEDを点灯/消灯(わらしも)

【ハード】
abc945の回路に、5バーLEDアレイ(秋月#112345、@60)を追加


【CLCとCLBによる回路設計】
参考ページでは、外部に555による発信器を使っているが、ここではTMR2+CLCによるパルス発信回路を利用した。
CLC1の出力をモニターするためRC2(LED0)に接続(CLCはパルスのOn/Offデューティ比を1:1にするために使用)。
 
 1.TMR2とCLCによるパルス発振回路

※PIC16F13145でTMR2を使って、MCC_Generate後、コンパイルするとエラーが出る(→対策は後述)。
 
 2.CLBによるシフト回路(リングカウンタ) ▼CLB-Shift5b.clb(zip)

※参考ページでは出力が7段だが、ここでは5段とした。
 
【シミュレーション】
CLBSynthesizerでシミュレーションを行うには、 (詳細は前述の「わらしも」さんを参照)
  1. 「テストベンチ」を作る(DOCUMENTSのメニュアイコンをクリック後「Newtestbench」を選択)
  2. テストベンチに名前を作成し、MODULESのMAINを選択する
  3. TESTBECH_PROPERTIESに条件をセットする(条件が悪いとシミュレーションが失敗する)
  4. mainをキャンバスにドラッグ&ドロップし、テスト信号発生器を追加し配線、条件も設定する
  5. ネットラベルコンポーネントをキャンバスに追加し配線(名前も変更可)
  6. 「Simulate」ボタンをクリックし、シミュレーションを実行(表示不要なデータは非表示可)


※シミュレーヨンの条件設定が悪いと、シミュレーションがエラーとなったり、正しく実行されない。
 
【ソフト】
 メインプログラムは、トリガーとしてCLB1のSWINレジスタのbit1に10uSのパルスを一度送るだけで、ソフトとしては何も制御せず、ハードウェアのCLBのみでLED点灯のシフトを実現している。
 なお、LEDのシフト速度を変えるには、TMR2のTimerPeriodの変更で可能

/************************(abc947-13145.c)******
 *	CLB使用したLEDアレイシフト表示
 *--------------------------------------------*/

#include "mcc_generated_files/system/system.h"

int main(void){
    SYSTEM_Initialize();
    CLB1_SWIN_Write8(3):  // シフトトリガー送出
    __delay_us(10);
    CLB1_SWIN_Write8(0);
    while(1)
    {

    }
}


★★ PIC16F13145でTMR2を使ってコンパイルするとエラーになる問題 ★★

 シフトクロックをTMR2を使用して作製する時に、Generate後、コンパイルすると、TMR2でエラーとなり、コンパイルが失敗する。
 この時のエラーメッセージは、「tmr2_deprecated.hに非推奨のマクロや関数が含まれている」という警告と、「定義式または列挙子の終了定義が必要」エラーとなっている。
 しかし、何が必要で、何が不要かよく判らないので、以下のようにmcc/generated_files/Timer/tmr2.hファイルで、警告・エラーの出る記述を全てコメントにすると、TMR2のエラーが出なくなった。

 @ 41行目の #include "tmr2_deprecated.h" をコメントに
  	// #include “tmr2_deprecated.h"

 A333行から363行のTMR2_CLB[*] 設定を全てコメントに
  	// TMR2_CLB_BLE[7] = 0x15;

     ・・・
  	// TMR2_CLB_BLE[14] = 0x1c;

 警告やエラーとなる非推奨のところは、CLB用に追加されたところと思えるが、これらを全てコメントにしても、今のところTMR2とCLBが共に正常に動作しているよう・・

※ 上記の変更を行うと、Merge画面が表示されることがあるが、全ての「変更をOK」にすると、修正が反映される。
※ なお、TMR2ではなくTMR0を使用すると上記のエラーは出ない。


W Wordで短縮キー入力を行う   〜マクロとキー割付

by fjk

 Waordでワンタッチ入力を行うには、「ショートカットキー」利用が普通ですが、オリジナルの作業を行う場合は、「マクロの作製」「ショートカットキーにマクロを割り当てる」を実行。その後、シュートカットキーを押すと、指定したマクロが実行されます。

【Wordの代表的なショートカットキー】microsoft


Wordの代表的なショートカットキー

【マクロをショートカットキーに割り当てる】 microsoft

  1. [マクロ > 表示 ] [レコード マクロ] を選択します。
  2. マクロの名前を入力します。
  3. 作成した新しいドキュメントの中でこのマクロを使うには、[マクロの保存先] ボックスに [すべての文書 (Normal.dotm)] と表示されていることを確認します。
  4. キーボード ショートカットを押したときにマクロを実行するには、[キーボード] を選択します。
  5. [割り当てるキーを押してください] ボックスにキーの組み合わせを入力します。
  6. その組み合わせが既に他の何かに割り当てられているかどうかを確認します。 すでに割り当てられている場合は、異なる組み合わせを試してください。
  7. 作成した新しいドキュメントの中でこのショートカット キーを使うには、[保存先] ボックスに [Normal.dotm] と表示されていることを確認します。
  8. [割り当て] を選択します。
  9. 次に、手順を記録します。 コマンドを選択するか、タスクの各ステップのキーを押します。 Word にクリックの動作とキー操作が記録されます。
  10. 記録を停止するには、[>マクロ の表示] > [記録の停止] を選択します。
  11. マクロを実行するには、ショートカット キーを押します。

<マクロの作り方> 葉八さん


※プログラムのリストをハイライト付きのスタイルで見る場合はここをクリック


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


スターリンク・ダイレクト CLBによるシフト回路とシミュレーション Wordで短縮キー入力