16-Sep-2019
[テスト用に]

DAPNETGatewayでDAPNETから受け取ったメッセージを、MMDVMHostでPOCSAGが送信できるようなフリをするだけ(実際には送信しない)、というコードを書いてみました。ネットワーク周りのプログラムをきちんと分かっている人ならこの程度のものを書くのにそんなに時間がかからないのでしょうが、何しろやったことのない分野なので130行程度を書くのに半日以上の時間を使っています。元々のプログラミング能力も低いですし。

DAPNETから何を受け取って、MMDVMHostに何を送信させているか、これについてはDAPNETGatewayやMMDVMHostのログを見れば分かります。分かるのです…が、冗長過ぎてメッセージだけざっと追いかけたいという目的では不便です。

tdapnetgateway.png

そんな訳で、最初はDAPNETGateway〜MMDVMHost間のUDPパケットを横取りしてMMDVMHostが送信することを邪魔せずにメッセージを表示させるようなものを作ろうとしていたのですが、MMDVMHostのidle/busyステータスをきちんと渡さないとDAPNETGatewayがメッセージを寄越してくれない(ということに気付くのにも時間がかかった)のでこんな代物になりました。

tfakemmdvmhost.png

とりあえず動いてはいるようですが、メッセージによってはROT1エンコードが掛かって読めない物もあり、これはどうにかならないかと考えています。openSPOT2だと自動的にデコードを行うようですが、デコードの要/不要をどうやって判断しているのでしょうかね…?58.80kg(17:40)

17-Sep-2019補足:DAPNETGatewayを予め起動しておかないと全く動かない(プログラムの起動順序に制約がある)問題を直しています。旧版はこちら

07-Sep-2019
[ESCAPE R3(2015)・3年経過]

3年も乗っているとグリップがねっちょりしてくるので3週間くらい前に交換しました。TIOGA E Grip (HBG15700)を付けてもらいましたが、店に置いてあったのがそれだったからという理由です。

今日の仕事場からの帰り、左足のペダルを踏み込むとギシギシと異音がすることに気がつきました。ペダルからではなさそうだとなると、BBでしょうかね。交換用のBBは以前購入したDriveLine ROMAXに付いていたFIRST components MP-60があるので、クランクごと交換しちゃえば良さそうであります。

とはいえ、アーレンキーとBBを外す工具が無いという状態なので(クランクを外す工具はある)、まずはここからですね…早速発注を出すことにします。57.85kg(20:45)

03-Sep-2019
[そろそろ]

ARMv8な基板に手を出してみる時期かなと思いまして、OrangePi One Plusを発注してみました。近所の郵便局までは来ているようですので、明日受け取れれば良いのですが…という訳で、とりあえずU-bootのビルドを試みてみます。

いつもならOpenBSD上で試すのですが、toolchainの都合によりDebianで試します。apt-get install gcc-aarch64-linux-gnuとして、


wget ftp://ftp.denx.de/pub/u-boot/u-boot-2019.07.tar.bz2
tar xpf u-boot-2019.07.tar.bz2
cd u-boot-2019.07
make CROSS_COMPILE=aarch64-linux-gnu- orangepi_one_plus_defconfig
make CROSS_COMPILE=aarch64-linux-gnu-

これでおしまい。なお、bison, flex, swig, python-devも忘れずにapt-get installしておく必要があります。

linux-sunxi.orgのBootable SD cardに書かれている手順、得られたu-boot-sunxi-with-spl.binをSDカードの8kByte目から書き込む方法がARMv8の時代でも通用するかどうかは今のところ分かりません。届いてから試すことになります。

Using OpenBSD 6.5 arm64 (aarch64) on QEMUという記事があったので、リンクだけ張っておきます。時間があったらこれも試してみたいです。58.60kg(22:15)

04-Sep-2019補足:届いたので早速試してみましたが、上記の手順では不足しています。詳細はU-bootのboard/sunxi/README.sunxi64を見てほしいのですが、ATF(ARM Trusted Firmware)を以下の手順でビルドし、得られたbl31.binの所在をexport BL31=/path/to/bl31.binで設定してからU-bootのconfig/makeを行う必要があります。


git clone https://github.com/ARM-software/arm-trusted-firmware.git
cd arm-trusted-firmware
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_h6 bl31

bl31.binはbuild/sun50i_h6/release/bl31.binに生成されますが、ATFのmake時にDEBUG=1を追加しているとbuild/sun50i_h6/debug/bl31.binになります。

SDカードの作成についてはARMv7なAllwinnerと変わりません。OrangePi One Plusで起動したU-bootのログを置いときます