2020年07月01日

Desk Mini 110 と SST-NT09-115X の組み合わせはバックプレートが干渉する。

バックプレート加工後2.jpg

DeskMini 110 で1台組んだのですが、CPUクーラーのバックプレートが
ヒートシンクに干渉して取り付けできませんでした。
バックプレート干渉2.jpg

しょうがないので、
・超音波カッターでバックプレートをカット(硬い)
・ある程度切ったらラジオペンチでもぎとり、やすりがけ

バックプレート加工前.jpg

で無事に取り付けられました。

マザーボード側のヒートシンクもしくはバックプレートの形状が変わったんでしょうね。
実績があるものを選んだつもりでしたが……
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年06月01日

Windows10の大型アップデートを適用すると Linuxとのデュアルブート環境で grub rescue では救えない場合がある


「Windows 10 May 2020 Update」(バージョン2004)が公開され、WSL2を使いたいがために早速アップデートしたところ
何度か再起動したあとに「error: no such partition.」と出て止まってしまいました。

供試機のパーテーションはちょっと複雑で
[BIOS (Windows10 / Ubuntu 20.04), UEFI (Ubuntu18.04)]となっていました。
Windowsアップデートをすると Windows が Ubuntu 20.04 のパーテーションを触ってしまい
そこにインストールしてあった /boot/grub/i386-pc/normal.mod を
grubが見つけられずに止まってしまうようです。

調べてみると (hd0,msdos6)にLinuxが存在しているようですが、
unknown filesystem.jpg

grubを修復しようとしても error: file 'boot/grub/i386-pc/normal.mod' not found. で normal を指定できずubuntuが起動しません。
i386-pc normal.mod not found.jpg

BIOSで UEFI Boot を Enable として起動すると、Ubuntu18.04 が立ち上がりました。
Ubuntu 20.04 のパーテーションが見えないので嫌な予感です。

fdisk-l.png

grub rescue で見えていた (hd0,msdos6) は
ここにインストールしてある grub が見えていたようです。
どおりでPathが i386-pc ではなく
(hd0,msdos6)/boot/grub/x86_64-efi/
となっていた訳です。

で、Windowsの起動ディスクを作って起動したら
[アップデートの途中で〜〜。クリーンインストールしますか?] → はい >
[トラブルシューティング]> [詳細オプション]> [コマンドプロンプト] で
bootrec /fixmbr
bootrec /rebuildbcd
(rebuildbcd は不要だったっぽい。bootrec /fixboot はアクセスが拒否されて実行できず)
で再起動してアップデートの続きが始まりようやく復活しました。

なお、Windows10の起動ディスクは Ubuntu18.04 での dd コマンドではだめで、
Windowsマシンにisoファイルをコピーして、
rufus でパーティション構成をMBR、ターゲットシステムを BIOS(またはUEFI-CSM)として
USBメモリに書き込んだら起動できました。

で、ディスクの管理を見ると・・・
diskの管理.png
「空き領域」になってる!!!(大泣)

どなたかここから Ubuntu 20.04 を復活させる方法を御存知でしたらコメントください m(_ _)m
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年05月19日

AnalogDiscovery2 と LabVIEW 2020 で オーディオアナライザを作ってみる。

LabVIEW 2020 Community Edition 公開を記念して AnalogDiscovery2 を使用したオーディオアナライザーをLabVIEW 2020を使って作ってみました。
振幅が小さくなると歪み率が悪化する傾向がありますが、(100mVp-pで2.4%程度)
どうやらAD2の実力っぽいので、仕様ということにしておきます。
オーディオ機器の測定には実力不足ですが、アナログ無線機の12dB SINAD感度くらいは測れるのではないでしょうか。

AudioAnalyzer__with__AnalogDiscovery2p_sine.png

AudioAnalyzer__with__AnalogDiscovery2d.png

下記に公開してあります。
https://github.com/7m4mon/AudioAnalyzer_with_AnalogDiscovery2
posted by MON at 22:58| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年04月02日

EXCEL VBAでGIPOを制御する方法4つ

計測器の自動制御をEXCEL VBAを使用して行う際、リレーの切り替えなどでGPIOを制御したくなることがあります。

そんなとき使える方法を4つ試してみました。
動作環境は Windows10 64Bit + Excel 2010 32bit です。

@.COMポートのRTS, DTR線を使う
シリアルポートにはRTS/CTS, DTR/DSR というフロー制御を行うラインがあり、
これを汎用のGPIOとして使うことができます。
他にも方法はあるかもしれませんが、activecell さんが作成された EasyComm を使用すると簡単です。
Comポートを開いたあと
ec.RTSCTS = True
ec.DTRDSR = True

等とすれば、RTS, DTR線をH/Lすることができます。

A.FTDI の FT232R(など)で Bit-Bang Mode を使う
FTDIの FT232Rなどのチップは、 Bit-Bang Mode というものがあり、信号線を独立して制御することができます。
サンプルプログラムは、西日本常盤商行の Bit-Bang Testサンプルにあります。
専用のGIPOピンがあるわけではなく、Bit7~0 がそれぞれ、 7:RI, 6:DCD, 5:CSR, 4:DTR, 3:CTS, 2:RTS, 1:RXD, 0:TXD に対応します。
秋月電子のAE-UM232R はもちろんOKで、Aliexpressで買った格安モジュールでも動作しました。

B.秋月電子で売っている USBIO-2.0 を使う
秋月電子で売っている USB接続デジタル入出力モジュール USB−IO2.0(AKI)もEXCEL VBAから扱うことが可能です。

バケさんの電子工作 で公開されている vbausbio.dll を C:\Windows\SysWOW64 コピーして、
uio_find で接続と初期化をした後、
Dim OutDat(7) As Byte
OutDat(0) = 1
OutDat(1) = 1
OutDat(2) = 2
OutDat(3) = 0
uio2_out(OutDat(0))

とやれば、GIPOに値を書き込むことができます。
入出力の設定は「USB-IO2.0制御サンプル」で先にしておくのが無難です。

C.SILICON LABS の CP2112 を使う
SILICON LABS の HID USB - SMBus/I2C ブリッジ CP2112 も Excel VBAから制御できます。
サンハヤトの Sample_MMCP2112_MMTXS03 からGPIO4を操作する部分を抜き出し、割と忠実にExcel VBAに移植してみたので、gistにあげておきます。

下準備として、SLABHIDDevice.dll と SLABHIDtoSMBus.dll を C:\Windows\SysWOW64 にコピーし、SLABCP2112.bas をインポートして、オブジェクト名を [CP2112_DLL] にする必要があります。
動作確認は MM-CP2112A を使用しました。

CP2112 vba.png

感想:なんやかんや言っても Excel VBAは まだ現役ですよね。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする
【今是昨非】http://nomulabo.com/