2020年4月5日日曜日

KiCAD:ラベルとテキストは違う

 KiCADで基板を作成中に、LED をドライブするトランジスタアレイの入力と出力に、わかりやすいように、ネットラベルで色(RED,BLUE etc...)を入れた。するとエレクトリカル ルール チェックで入力と出力が接続されていることなってしまってエラーが発生。どんなに調べても接続されていないので、ネットリストを作成して Pcbnew で開いてみると、確かに入力と出力が接続されている。

 なぜ...。

 そこだけパターンをひかなければ良いだけなのだが、チェックで原因不明のエラーが残るのはどうにも気持ちが悪い。いろいろと調べたり試したりしているうちに、ハタと気が付いた。

 「ラベル」って、単に回路図上にテキストを配置するだけじゃなくて、「ラベル」のある端子を接続するのでは?

 入力側のラベル名を出力と変えてやると、ルールチェックでエラーが出なくなった。なるほど、ラベルは文字を置くだけではないのか。では、文字だけを置きたいときは?

 右端のアイコンの並びに「テキストを配置」がありました。

 何か月後かに同じミスをしないように、メモを残す。

 

2020年3月26日木曜日

ZED-F9P + RTKCONV(b33) だと raw DATA の L2 を処理できない

 結論から行くと、RTKLIB(b33)ではなく、Demo5 を使うべし。

----

 MG1 を使っているお客さんから、「ubx raw データを RKTLIB で処理したが、L2 が表示されない」と連絡を受けた。

 お客さんにもらったデータを自分のところで RTKLIB で処理してみると、確かに L2 が出てこない。ZED-F9P の USB から直接出力されたものを TeraTerm でログに落として RTKLIB で処理しても L2 が出てこない。これは MG1 のプログラムの問題ではなく ZED-F9P の設定の問題か?と思って調べてみてもそれらしいものが見つからない。

 もしやと思って u-blox の Support Community で「F9P raw rtklib」で検索すると、こんな書き込みが。

Multi-frequency RINEX from F9T with RTKLIB

 ここにある返信の「Tim over at RTK Explorer would have an appropriate and functional fork」から探すと Demo5 なる改造版を見つけた。これの RTKCONV を使うと L2 が出てきた。

 RTKCONV だけでなく、RTKPLOT も表示が違う。お客さんからの情報によると RTKPOST もだいぶ修正されているらしい。

2020年3月19日木曜日

CPU が STM32 の Arduino で SerialEvent を使う方法

 adafruit Trinket M0 を Arduino IDE から使って SerialEvent を使おうとしたらなかった。サンプルソースに

  NOTE: The serialEvent() feature is not available on the Leonardo, Micro, or other ATmega32U4 based boards.

ってあるけど、STM32 based board も追加希望。

 嘆いていてもしようがないのでやる方法を見つけた。

C:\Users\<ユーザー名>\ドキュメント\ArduinoData\packages\adafruit\hardware\samd\1.5.11\variants\trinket_m0\variant.cpp

の最後の方にある

void SERCOM0_Handler() {
  Serial1.IrqHandler();
}

void SERCOM0_HandlerX() {
  Serial1.IrqHandler();
}

に変更。そのあとに自前のスケッチに
 
void SERCOM0_Handler() {
/* 元の割り込みハンドラの実行前にさせる処理 */
 Serial1.IrqHandlerX();
/* 元の割り込みハンドラの実行後にさせる処理 */
 }

を追加。

adafruit Trinket M0 に serial port を追加する方法

 商品説明ページの説明を読むと(Native hardware SPI, I2C and Serial available on two pads so you can connect to any I2C or Serial device with true hardware support (no annoying bit-banging). You can have either one SPI device or both I2C and Serial.)、簡単にできそうに思えたのに、やってみたら 4-5 時間かかったのでメモ。

#include <Arduino.h>   // required before wiring_private.h
#include "wiring_private.h" // pinPeripheral() function

#define PIN_SERIAL2_RX       (2ul) // PA09
#define PAD_SERIAL2_RX       (SERCOM_RX_PAD_1)
#define PIN_SERIAL2_TX       (0ul) // PA08
#define PAD_SERIAL2_TX       (UART_TX_PAD_0)

Uart Serial2( &sercom2, PIN_SERIAL2_RX, PIN_SERIAL2_TX, PAD_SERIAL2_RX, PAD_SERIAL2_TX ) ;

void setup() {
    Serial2.begin(9600);
    pinPeripheral(0, PIO_SERCOM_ALT);
    pinPeripheral(2, PIO_SERCOM_ALT);

}

void SERCOM2_Handler() {
    Serial2.IrqHandler();
    }

パラメータの変更ができるところはほぼ無し。転送速度と、多分 TX/RX ピンの入れ替えぐらい。

・大元(Arduino ZERO, MKRZero, MKR1000)の説明はこちら

・Arafruit xxx Mx 向けの追加資料はこちら

・PA08, PA09 を使っている理由
 こちらの図にある通り、Trinket M0 で外部に引き出されているポートは PA02, PA06, PA07, PA08, PA09, PA18。このうち PA06, PA07 はオリジナルの Serial で使用。
 こちらの図(説明はこちら)にある通り、PA02 に SERCOM のピンを割り当てることは不可。

・sercom2 を使っている理由
 この pdf の Available SERCOM & Pins の項目にあるが、PA08, PA09 を使えるのは sercom2 だけ。

追記
 サンプルプログラムを gihub に置いた
追記2
 ちょっと整理して qiita にも投げた



2020年3月7日土曜日

購買:ネジはホームセンターには無い

 お客さんから「3Dプリンターで、こんなのができたらいいなぁ」という要望をいただいて、ちょっとしたモノを作ってみた。ネジ止めが必要なので皿小ねじ M3 12mm,16mm、M3 4mm のスペーサー、M3 8mm の両ネジスペーサーが必要になった。

 近所の、ちょっと大きなホームセンターに、2-30m はある通路の両側にネジがびっしり並んでいるのを思い出して買いに行った。

 結果、無かった。一つもなかった。車を出して片道 10分ほど、探した時間は 30分ほど。小一時間無駄にした。

 結局モノタロウに発注。

 次からは最初からモノタロウにしよう...

 

2020年1月16日木曜日

PC:Windows10 + A10-7860K + ASRock FM2A88M Extreme4+ R2.0 で苦労した話

 年が明けて少し時間が出来たので、余っていたパーツでサブの PC を組もうとおもったらものすごく苦労した。構成は Windows10 + A10-7860K + ASRock FM2A88M Extreme4+ R2.0。症状は、使っていると突然フリーズしてしまう。リブートとかブルースクリーンになるのではなく、突然ピタリと止まってしまう。

 あれこれやって結局使えるようになったのだが、なぜか詳細を本家ブログに書いてしまったので、こちらにはリンクだけを残す。

2020年1月13日月曜日

PCトラブル:SSD がお亡くなりに...

トラブル続きのメインPC、今度はSSDがお亡くなりになった ><

電源を入れてOSが立ち上がる途中で画面がいつまでも変わらなくなり、マウスカーソルは表示されているがマウスを動かすとカクカクと動く感じ。再起動すると全くOSを読み込まない。

BIOS を開いて調べてみると、SSDを認識していない。抜き差ししたり、設定を変えたり、あれこれ試したが、結局にどうにもならなかった。

教訓:SSDは突然全く動かなくなる

HDDはだんだん調子が悪くなったりデータが少しずつ壊れていくパターンが多いので、それなりデータのバックアップができるのだが、今回のSSDの場合はそれらしい予兆がほとんどなかった。シャットダウンに異様に時間がかかったことがあったが、これもそんなに珍しいことではない。

画像データはや音楽データはHDDに保管していたので被害はなかったが、五日ほどかけてDelphiで作ったWinodwsアプリのソースが影も形もなく消えてしまったorz。あと、確定申告に必要な、クレジットカードの支払い明細データも。税務調査がきたらどうしよう...