31-Dec-2024
[今年を総括すると言ってもなあ…]

やったことについては過去の日記を見れば十分なので(大した量じゃない)、やっていないこと/やっていても書いていないことを、簡単に。

ボードいじり
Milk-V Duo(256MB)とかOrange Pi 4Aとか、積んだままになっています。メーカーがカスタムしたものではなく、U-bootのmainlineで対応するのを待っているのですがなかなか出てきません。
例のデータベース
忙しすぎて全然作業ができません。その間にもマスタ側で色々な薬品が追加/削除されていることは分かっているのですが。
ドローン
11-Apr-2021の時点で、ドローンの民間資格を持ってはいるものの…民間資格の効力も来年12月までということなので国家資格(二等無人航空機操縦士)への移行を考えています。学科は今月に試験を受けて合格しているので、あとはスクールで実技の講習/試験を受けるだけ。とはいえ、その費用と時間をどう捻出するのかという非常に厄介な問題があります。これは来年中に決着を付けないといけないので、最優先でやらないといけません。
VZEditor build battle
26-Nov-2024にVZ Editorのソースコードが公開され、既に一ヶ月以上が経過しています。当時物の環境を実機なり仮想機なりで持っていれば公開してから数時間以内には決着が付く(実行可能なバイナリが得られる)だろうということで、誰が真っ先にバイナリを得るかのバトルには参戦せず静観していましたが…やはり手元でビルドはしてみたいという欲はありまして。MS-DOS 4.0付属のMASMを使うと良いというX上の情報に従い、GitHubのmicrosoft/MS-DOSからMASM.exe, LINK.exe, EXE2BIN.exeを拾って、GNUMakefileを書いてemu2を使ったクロスビルドを行っています。MASM.exeでアセンブルした際に発生する未解決シンボルの問題はpull-requestで修正案を提示していますが、今のところ動きは無いようです。
問い合わせ中の案件
08-Dec-2024の、OpenGD77(MK22)のcodec_interface.cに関する問い合わせは当然ながらお返事はありません(まあ、以前同じことを問うてもお塩な対応だったので何も期待はしていないのですけど)。24-Nov-2024の、KG-FAXについて…1500×2280ではなく1500×2279で保存されている問題についても同様に問い合わせのメールを送ってはいるのですが、未だお返事はありません。
contour-terminal
OpenBSD対応を追加した直後にfmtlib/fmtによるfmt::format→<format>によるstd::formatへ移行してしまい、ビルドできなくなったという困った状況になっています。clang-17ならともかく、OpenBSD-7.6に入っているclang-16では-fexperimental-libraryオプションを付けlibc++experimentalライブラリをリンクする必要があります。ところがこのライブラリが無いので、Makefileを書いてビルドしないといけません。これでtermbench-proの動作を確認できたので、あとはcontour-terminal側も対応させるかどうかを考えることにします(CMakeLists.txtをいじらず、clang-17待ちでもいいのかも)。
FreeDV-GUIとか、QEMUでの超漢字・1B/V3の仮想FDDの動作とか
んなことやってる余裕は無いです。前者はともかく、後者はぶん投げます。
三海通の試験
日付が変わったら早速エントリしようかな…全っ然試験勉強してないけど!

という訳で、来年もよろしくお願いします。56.4kg(21:20)

22-Dec-2024
[1B/V3に限らず超漢字もQEMUの仮想FDDの存在を認識しないようで]

一体何が原因なのかな、って。とりあえずこんなコードをOpenWATCOMに食わせてMS-DOS上からCMOS(RTC)の内容を見てみることに。

・qemu-system-i386-9.0.2

tqemu.png

・VirtualBox 7.1.4

tvirtualbox.png

・VMware Workstation Player 17.6.1

tvmware.png

BochsのCMOS Memory Mapを見るに、どのエミュレータもCMOS 10h(FLOPPY DRIVE TYPE)のbit 7-4が04h(1.44MB 3.5 Drive)なのでここのチェックで引っかかっているという訳では無さそうです。

今のBochs-2.7は起動時にBochs 2.7 BIOSと表示されますが、ソースコードにはSeaBIOS-READMEがあるのでQEMUと同じSeaBIOSもしくはそれに近いものが使われていると判断します。なので、BIOS/CMOS周辺の違いよりもFDCのエミュレーションに何かがあるために仮想FDD無しとして扱われてしまうのかなと見ているのですが…この推測、どこまで合ってますかねえ?56.4kg(21:45)

15-Dec-2024
[FreeDV-GUIのメモ]

Linux上でPulseAudio用、PortAudio用の二つのバイナリを作成し、Web会議用USBスピーカーフォン(TSK95K)を繋いでAudioConfigを表示させた時の様子。(画像は2×2の配置としています)左上から、PulseAudio/Receive, PulseAudio/Transmit, PortAudio/Receive, PortAudio/Transmitの順。

tfreedvgui-pulseaudio-recv.png tfreedvgui-pulseaudio-xmit.png

tfreedvgui-portaudio-recv.png tfreedvgui-portaudio-xmit.png

TSK95K、そこそこ小型で良いのですが、amazonのレビューにあるように再生時の立ち上がりが遅く最初の音が切れてしまうことと、mixerctlで音量を下げても結構うるさいのが気になります。

PortAudio版のAPIがALSAと表示されていることと、macOS上で(おそらくPortAudio越しに)動かした場合APIの表示はどうなるのかが気になります。とりあえず、Debian上でも手順に従えばFreeDV-GUIをビルドできることを確認できたので、今日はここまで。55.8kg(22:55)

14-Dec-2024
[OrangePi 4Aを買ってみたんだけど]

現状は回路図も無いようだし、OS一式はメーカー公式のバイナリしかないのでとりあえず待ちかなって感じです。U-bootのmainlineは当然非対応だし、Linux側の対応も出てきたばかり(パッチの公開は先月、OrangePi 4AではなくAvaota A1向け)という状況なので。

あと、これを書いている時点だとOrangePi 4A向けのケースも存在しません。これについてはOrangePi 5 Max向けのケースをこんな風に…

timg_20241214_165625_374.jpg timg_20241214_165712_162.jpg

USB-C/HDMI/オーディオジャック周辺と、microSD周辺を削ればとりあえず使用できます。※技適は取っていないので、Wi-Fiのアンテナは外しています

メーカー公式のバイナリでボードが生きていることは確認できましたが、次は何をしたものでしょうかね…56.4kg(22:50)

08-Dec-2024
[OpenDM1701のビルド]

いちいち書かなくても良いような気もするけど、忘れると困るので。Linux(Debian)機でやっています。

  1. STM32CubeIDEをインストールして/opt/st/stm32cubeide_1.17.0/stm32cubeideを起動
  2. OpenGD77_MDUV380_DM1701_20240908/prepareを実行
  3. File→Open Projects from File SystemでImport sourceの隣にあるDirectory→OpenGD77_MDUV380_DM1701_20240908(これを対象にしても良いようですが)→MDUV380_firmwareをインポート
  4. Project ExplorerのMDUV380_firmwareを右クリックして表示されるメニューから、Build Configurations→Set Active→ターゲットとなる機種の設定、Clean Project→Build Projectでビルド
  5. 生成されたオブジェクトはMDUV380_firmware/<機種名>_FWの下に格納される

MK22版(GD-77, DM-1801など)をMCUXpressoでビルドした際は話にならないくらい時間がかかっていましたが、STM32CubeIDEはマトモです…同じEclipse CDTベースのはずなのになぜこうも違うのでしょうかね?とりあえず、IDEの使用を回避するためのMakefileの作成は今のところ不要と判断しました。

application/source/dmr_codec/codec_interface.c、copyrightの年が違う以外はMK22版と全く同じです。MD-UV380向けにビルドした際のログを見ると、案の定このソースだけ-O0となっていました。この状況が続くことはあまり良いとは思えないので、(GitHubのrepoは随分昔に廃止されたため)メールで作者宛に修正案を送ってみます。56.5kg(22:15)

01-Dec-2024
[方針変更?]

2月期の四海通を受けるなら、3月期/9月期の三海通(一気に法規・英語・電気通信術は大変なので二回に分ける)の方が時間を少し稼げるし合理的かな、と考えています。おそらく四海通を取ったら三海通もと欲を出す可能性は高そうですし、三海通は随分昔に取った一技との相性も良いですから。…となると、試験の申し込みは正月から始まるのでそれまでの間に色々と揃えるものを揃えて戦略を立てないといけません(おいおい、尻尾巻いて逃げるって話はどうなった?)。

今気付いたのですが、来年は一技を取ってから20年が経過するんですよね。つまり無線系は20年近くロクな勉強をしていなかったということになる訳で…無線工学の学び直しは一旦置いておく代わりに(本来はこの目的のために四海通を受けるつもりでいた)、英語のお勉強をすると考えることにします。実際、英検2級を高校の頃に受けて落ちたままだったりしますから。56.8kg(22:40)