27-Sep-2020
[壊したかなー…]

LGT8F328Pを載せたArduino Nanoもどき、久々にスケッチを書き込もうとしてもエラーが出てしまってうんともすんとも言わなくなってしまい、brother-yan/LGTISPでbootloaderの書き込みを試そうとしてもうまく書き込めていないようです。分かっていることは以下の三つ。

  1. SWC/SWDどちらか片方の配線を外すとavrdudeでエラーが出る
  2. +5Vの配線があろうとなかろうとすべて0xffを読み出す
  3. USBケーブル接続時においてCPUに正しい電圧(3.3V)が印加されている

LoRaモジュール(Innocellent PM1280)を繋いでいる方については詳しく調べていませんが、同じようにスケッチを書き込めない問題が発生しています。流石に二枚同時に壊したとは考えにくいのですが、何か厄介なことが起きていることは確かそうです。

他に手段も見当たらないのでメーカー公式のツール(SWDICE mkII Pro)を導入する方向で考えて、追加のボードも発注することにします。ボードの予備はあと二枚がありますが、原因が分からないことにはこれを気軽に投入する訳にもいきません…

JG1UAA(移動しない局)の変更申請、運用しない周波数帯の削除を行う場合も工事設計書に「送信機の変更」を書くように、と総合通信局から電話がかかってきたことに驚いています。その際、なぜ従事者資格を降格するのかという質問を散々されたのですが…そこは適当に答えています。とりあえず補正後の申請では3アマ化も同時に行っており、これにより3アマの局として総合通信局に認識されることは確認してあります。

さて、LoRaのアレはどう書いたもんでしょうかね…まだ書いていませんが、そろそろ手をつけないと。53.85kg(21:15)

26-Sep-2020
[ライブラリのメンテも大変…]

メーカーサイトを見るとBPI-P2ではなくBPI-M2P Zeroと紹介されていたり、無線LANやeMMC無しのMaker版があったりする、とにかくAllwinner H2+が載ってて有線LANの口が付いてるあのボードの話です。

2019-4-30 update BPI-M2 Zero & BPI-P2 Zero Ubuntu Server 16.04上でMMDVMHostにOLEDを制御させて、Surenoo TFT LCDと同様にUser databaseから得た情報を表示させるような作業をやっておりました。ここで使用するArduiPi_OLED(hallard)がRaspberry Piにべったりな実装だったので、Banana Pi向けの(I2C専用化した)ArduiPi_OLED(jonesman)を改良したArduiPi_OLED(destroyedlolo)を使ってみようとしたのですが…destroyedlolo版だと色々手が入りすぎてしまいhallard版(オリジナル)との互換性が無くなっていたので、その部分の対応を追加したArduiPi_OLED(jg1uaa)を作っています。

jonesman版だとdev_io.cに仕込んでおいたI2Cデバイスに接続したOLEDしか制御できず、destroyedlolo版だとArduiPi_OLED::init(OLED_TYPE, device)でOLED接続先のI2Cデバイスを指定できる(が常に指定しないといけないので過去のコードとの互換性が無い)とかC++以外にもC向けのインタフェースがあるとか描画のパターン指定ができるという機能強化が図られています。とはいえ、(hallard版がこの部分を更新していないので今のところ問題にはならないのですが)内部で使われているAdafruit-GFX-Libraryを今後更新したいとなった場合に、destroyedlolo版で行われた機能強化が作業の障害になるので頭が痛いところです。今悩んでもしょうがないですし、5×7フォント(glcdfont.c)は既に最新版に挿げ替えちゃっていたりしますが。

で、Linux(Ubuntu Server 16.04)上でMMDVMHost+ArduiPi_OLEDの動作は確認できたので、今度はどうしよっかなと。BPI-P2でFreeBSDはまだ動かしたことがないので(そもそも動くの?)、NetBSD対応とか考えないとダメっすかね。OpenBSDは/dev/iicXみたいなIICデバイスの口がないので…53.50kg(20:55)

17-Sep-2020
[今更ですが]

これ、JARD測定器室へSX1278なモジュールを持っていく前に作っておきたかったんですよね、RadioLib使って特定の周波数のキャリアだけ出すスケッチ

変更申請は既に出しているんですが…それ以前に14-Jun-2020に書いた、局免に紐付いた従免のダウングレードを行う変更申請に対しても補正依頼が出ているのでそこから片付けないといけません。実は7月末に補正依頼が出ていたのを全然忘れていたのです…てへ♪

このダウングレードに対しては、移動する局に対する申請への通知書で「現在第1級アマチュア無線技士の免許証番号で登録されておりますが、今回第4級アマチュア無線技士の免許証番号に変更される申請となります。変更する必要性がありませんが、変更してよろしいでしょうか。」(原文ママ)とあり、あまり切り替えをしてほしくないようです。そして、同一のコールサインで移動する局/しない局の二局持ちの場合は、より高い級の資格で評価されている可能性がありそうです。

移動しない局への変更申請にも補正依頼の通知書が来ており、こちらは使う予定の無い21MHz未満の周波数帯を削除することが送信機の増設/取替と解釈されてしまっていました。「運用しない周波数帯を削除するだけのものである」「従事者資格の切り替えは意図的なものである」の文言を備考欄に書き、肝心の1アマ→電信級への切り替えを追加して再度送っています。

…で、LoRa/DM-1801増設の変更申請は、これも補正依頼。DM-1801に関しては何も言われておらず、すべてLoRa関連。これは通知書に書かれていた不備理由をそのままコピペします。

(JARDの人がD1Dで出せって言ってたから折角なので500KD1Dで出したんだけどやっぱりF1Dじゃねえか…)という心のつぶやきはともかく、430MHz帯のF1Dにおける30kHz縛りはかなりキツいので、430MHz帯の申請が通ったら2.4GHz帯のモジュールで遊ぶことを真面目に考えることにします。こちらなら帯域幅を17MHzまで取れるので、多分フルスペック(500kHz)のLoRaで遊べるはず。

それはともかくとして、二番目の文言に対する書類を書くのが面倒なんですよね…何をどの程度書けば良いのか分からん、という点で。単純に、

  1. RFM98の制御はRadioLibあるいはarduino-Loraライブラリを使用する
  2. 現時点では具体的なアプリケーションの作成計画は未定のため、アプリケーション間の通信プロトコルについては記述のしようがない
  3. しかしRadioLibのSX127x_Transmit(RFM98はSX1278互換)にあるSX127x_Transmit.inoのような平文のメッセージをやり取りすることは検討しており、暗号化を行う意図/予定は全く無い

この三行程度の内容で通れば良いのですが。そこから更に深い内容を書けと言われてもお手上げです。まさか、RFM98(SX1278)レジスタの一覧やその操作手順まで含めた形でライブラリ(内部)の解説をせよ、なんてことだったりして…?

少なくともパケット通信(AX.25)の頃はその上でどんなアプリケーションを動かすかみたいな話は要求されなかったので、おそらくそこまで踏み込まれることはないと思いたいです。アプリケーション間の通信プロトコルまで含めて通信方式と解釈された場合、アプリケーションが開発できなければ電波を出すな、になってしまいますからね。

とりあえず、LoRa向けの書類をどうまとめるかを考えながら、従免ダウングレードの変更申請に対する結果を待っている状態です。54.85kg(20:50)

13-Sep-2020
[やっとできたけど]

以前からU-Boot Standalone Applicationsみたいなものを書いてみたいと思っていたのですが、やっとこさ出来上がりました。久々にARMのアセンブラに触ったので色々忘れていたのもありますが、CONFIG_API=yを書いていないがためにいくら頑張ってもU-Boot APIのエントリが見つからないという問題には随分悩まされました。

そもそも、u-bootのexamples/apiにあるコードがGPLでない他の使いやすいライセンスで書かれていれば自分で作る必要は無かったんですけどね…(作った物はBSD-2-Clause、一部MITライセンスになっています)。

とりあえずBanana Pi BPI-P2 Zero用の(一部カスタマイズした)U-Boot向けに書いています。loadxでtest.elfを0x42000000にロードして、bootelf 0x42000000で実行します。54.70kg(11:25)

08-Sep-2020
[通勤途中で見かけた物(2)]

疑問の芽はさっさと摘むに限る、ということで串川ダムの放流を知らせる警告灯を昨日見た場所(平井局)以外の二ヶ所を見てみました。交通量が少なかったので、こっそり停めてさっさと撮って逃げるのです。

まずは一つ目。県道510号と津久井広域道路を挟むような位置に建っています。

tp9084169.jpg tp9084170.jpg

tp9084171.jpg tp9084172.jpg tp9084173.jpg

串川下流なんとか線、どうやら串川下流警報線という名称のようです。荒句局は十五号の札が付いていますが、他にもたくさんあるのでしょうか。

ここから小倉橋方面へ進み、こまし沢橋近くに馬込局があるのですが…こちらの電柱には串川下流警報線を示す札がありません。

tp9084178.jpg tp9084174.jpg tp9084175.jpg

tp9084176.jpg tp9084177.jpg

荒句局、馬込局、どちらも機材は当時のままのように見えます。しかし電柱は津久井広域道路の整備に伴う県道510線の工事により建て替えられたのか、比較的新しいものに見えます。

とりあえずここまで見た物について、Googleマイマップにまとめておきます。どれも串川の左岸側にあり、右岸側はまだ未調査なのですが…それ以前に調査しようにも一体どこを(山の中?)という気がします。

また、馬込局の先、圏央道をくぐって小倉橋方面へ車を走らせても同様の警告灯は見当たらなかったのですが、県道511号線の串川〜相模川が合流する辺りには何かあるのでしょうか。機会があったら調べてみたいところです。55.20kg(20:25)

07-Sep-2020
[通勤途中で見かけた物]

時々回転灯が光っている電柱みたいな物があるなーと気になっていたので、車を停められそうなところを見つけて近づいてみました。

tp9074163.jpg tp9074164.jpg tp9074165.jpg

串川ダムの放流を知らせる警告灯、ということになるようですが…串川ダム?おそらく串川取水堰のことを指しているのだと思われます。

tp9074166.jpg tp9074167.jpg tp9074168.jpg

今回見たのは久保田酒造の入り口辺りにある串川下流なんとか線五号、平井局というものになるのでしょうか。この警告灯は他にも何ヶ所かあり、分からない部分はそこで補う必要がありそうですが…自転車で行くにも楽ではないし車は停める場所がほとんど無いでどうしたものかと。55.85kg(20:45)

04-Sep-2020
[うまくいかないねえ…]

Hello wasm-pack!Non-Rustup setupsの手順で、OpenBSDのports版rust(1.42.0)にWebAssembly用stdクレートをインストールできるか試してみたのですが…うまくいきません。手順としてはこんな感じ。

  1. 現在使用中のrustcのバージョンを、rustc --versionで調べる
  2. 使用しているrustcのバージョンに合わせ、ftp https://static.rust-lang.org/dist/rust-std-1.42.0-wasm32-unknown-unknown.tar.gz でstdクレートのアーカイブをダウンロード
  3. ダウンロードしたアーカイブを tar zxpf rust-std-1.42.0-wasm32-unknown-unknown.tar.gz で展開
  4. rustc --print sysrootでsysrootディレクトリを調べる、portsからインストールしているなら/usr/localとなるはず
  5. cp -r rust-std-1.42.0-wasm32-unknown-unknown/rust-std-wasm32-unknown-unknown/lib /usr/local/ で、sysrootにコピー
  6. /usr/local/lib/rustlib/wasm32-unknown-unknownがあることを確認

で、こんなエラーが出てhelloをビルドできません。


bash-5.0$ cargo build --target=wasm32-unknown-unknown
   Compiling hello v0.1.0 (/home/plume/hello)
error[E0514]: found crate `std` compiled by an incompatible version of rustc
  |
  = help: please recompile that crate using this compiler (rustc 1.42.0)
  = note: the following crate versions were found:
          crate `std` compiled by rustc 1.42.0 (b8cedc004 2020-03-09): /usr/local/lib/rustlib/wasm32-unknown-unknown/lib/libstd-dd73ca43423bfbb7.rlib

error: aborting due to previous error

error: could not compile `hello`.

To learn more, run the command again with --verbose.
bash-5.0$ rustc --version
rustc 1.42.0
bash-5.0$ 

同じ1.42.0向けのをダウンロードしている筈なのですが、バージョン番号の後ろにある括弧に括られた部分(b8cedc004 2020-03-09)が無いのが問題のようです。そこまで厳格にチェックしなくても…という気がしなくもないのですが、Rust的にはそういうものなのでしょうか。

どうにかして手元のrustc 1.42.0でstdクレートをビルドし直すか、落としてきたアーカイブをどうにかして突っ込む方法を探すか、諦めるか…さて、どうしましょうかね。54.35kg(20:50)