いろいろなメモ

Modbusスレーブシミュレータ

とりあえず、ModRSsim2 で事足りた。

MCUXpresso SDK Builder

  • 「Select Development Board」に進む
  • 「Select a Board, Kit, or Processor」で評価ボードなりマイコン型番なりを選択
  • 「Build MCUXpresso SDK」に進む
  • 「Host OS」と「Toolchain / IDE」を選択
    (IDEには MCUXpresso IDE のほか IAR や KEIL なども選択可)
  • その他のオプションを選択
  • 「DOWNLOAD SDK」でSDKをダウンロードできる

Visual Basic Power Packs Controls

古い VB.NETC# のアプリには VB Power Packs で追加されたコントロールが使われていることがある。
下記からインストーラをダウンロードできる。
http://go.microsoft.com/fwlink/?LinkId=321343
詳しくは下記を参照。
Visual Basic Power Packs Controls | Microsoft Docs

ARM Cortex-M3/4/7の実行時間を測定

  • GPIOに信号を出してオシロにつながなくても測定できる。
  • ARM Cortex-M3/4/7 には CYCLECOUNTER というレジスタがある。
  • デバッガでこのレジスタの値を見ればCPUサイクル数が分かる。
  • CPUクロック周波数から実装時間を測定できる。
  • IAR環境の独自拡張では、CYCLECOUNTERの前回からの差分がCCSTEPで示される。

経過時間測定テクニック | IAR Systems

VBAから使えるDLLの作成(C#)

  • Visual Studioを管理者権限で起動 (DLLをシステムに登録する場合)
  • Visual Studioで「クラスライブラリ(.NET Framework)」を新規作成
  • プロジェクトのプロパティの「コンパイル*」で「COM相互運用機能の登録」をチェック
  • プロジェクトのプロパティの「アプリケーション」→「アセンブリ情報」で
    アセンブリをCOM参照可能にする」にチェック
  • クラスを作成してビルド
  • VBEの「ツール」→「参照設定」で作成したDLLのクラスをチェック

Dependency Walker

Windowsのexeやdllの依存関係や関数名を調べるツール。

Windows10では、Dependencies を使ったほうが良いらしい。

正距円筒図法の世界地図を360度パノラマビュー

世界の裏表がひっくり返ったような不思議な感じ。
↓マウスで動かせます

  • Panolens.js を使用
  • 正距円筒図法の世界地図はWikipediaにあったものを使用
  • 南極大陸が正しい形で見えるのがちょっと感動
  • 正距円筒図法の星図があればいい感じに表示できるはず

元画像 (正距円筒図法の世界地図)

メモ:FTDIのUSBシリアル変換でCOMポート番号を増えなくする

こちらの記事をもとに確認した。FTDIチップのS/Nによらず、PCの同じUSBポートに挿せば同じCOMポート番号になるようにできる。

要点

  • 事前にデバイスマネージャで「非表示のデバイスの表示」にして既存のFTDIのCOMポートを削除
  • レジストリエディタで下記のパスを開く
コンピューター¥HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥usbflags¥
  • 「新規」→「バイナリ値」で新しい値を作成
    • IgnoreHWSerNum04036001 ← FT232Rの場合
    • IgnoreHWSerNum04036015 ← FT231Xの場合
  • 値を「01」に入力

メモ:GitHubでプルリク

(1) 人様のGitHubリポジトリからFork

GitHubにログインし、人様のリポジトリのページを開き、右上のほうの Fork ボタンを押して、自分のアカウントにForkしたリポジトリを作成する。


(2) ForkしたリポジトリをローカルにClone

Forkした自分のGitHubリポジトリをローカルにCloneする。(通常どおりの操作)

(3) Cloneしたリポジトリに作業用ブランチを作成

Cloneしたローカルのリポジトリに変更のためのブランチを作成する。
SourceTreeの場合、ツールバーにある「ブランチ」ボタンを押して、名前を指定してブランチを作成する。


(4) 作業用ブランチに変更を加えてコミット

ブランチに変更を加えてコミットする。
※masterブランチにコミットしないように注意

(5) 自分のGitHubリポジトリにプッシュ

作業用ブランチの変更をGitHubリポジトリにプッシュする。
※masterブランチにプッシュしないように注意


(6) Fork元のGitHubリポジトリへプルリクエス

自分のGitHubリポジトリを開くと、Fork元のGitHubリポジトリに対してプルリクエストを送れるようになっている。

「Compare & pull request」ボタンを押し、作業用ブランチからのプルリクエストであることを確認し、プルリクエストのタイトルと説明(Markdown記法)を書き、「Create pull request」ボタンを押す。

メモ:ESP32(Arduino環境)のデバッグログ出力

ツール > Core Debug Level で出力を制御でき、printf()の書式が利用できる。
デフォルト(Core Debug Level が 「なし」のときはどれも出力されない)

  • log_e() – Error (最低レベル)
  • log_w() – Warn
  • log_i() – Info
  • log_d() – Debug
  • log_v() – Verbose (最高レベル)

メモ:IARのライセンス切り替え

  • ヘルプ > ライセンスマネージャ
  • 製品リストから製品(IAR Embedded Workbench)をダブルクリック
    • もし製品リストが表示されていなかったら、表示 > 製品リスト
  • ライセンスの詳細で、選択されたライセンスをドロップダウンから選択してOK
  • 製品リストで製品名のチェックボックスが緑になっていれば有効なライセンス

メモ:AE-UM232Rのジャンパ設定

秋月のUSBシリアル変換基板AE-UM232R、昔からよく使ってるけど、ジャンパの設定を忘れて毎度説明書を探すことになるので、メモ。

ジャンパの設定

J2 (電源の選択)

ショート USB → VCC (バスパワー)
オープン 外部 → VCC (セルフパワー)

J1 (I/O電圧の選択)

1-2ショート 3.3V → VCCIO
2-3ショート VCC → VCCIO

設定例

電源 J2 J1
USB給電 5V I/O ショート 2-3
USB給電 3.3V I/O ショート 1-2
外部5V給電 5V I/O オープン 2-3
外部3.3V給電 3.3V I/O オープン 2-3
外部5V給電 3.3V I/O オープン 1-2