1Wire温度センサDS18B20の偽物を追え!

本来は"いろいろ試す"枠の内容ですがこれだけでかなりのボリュームなので
独立記事で行かせていただきます!

●DS18B20がぱちもん乱舞していた件
>AmazonとかAliexpressで売ってる激安DS18B20はまず偽物の件
マジですか…

>特にステンの筒に覆われたタイプの奴はほぼ100%ぱちもん


おいいいいいいいいいいいーーーー!!!
※Molexのコネクタはねむいさんがつけました。

しかも二つも!!!!!!!!
※Molexのコネクタはねむいさんがつけました。


なぜねむいさんはいつもぱちもんをつかんでしまうのか…orz
↑のねむいさんの買ったやつは2016年くらいにAliexpressで買ったやつです。


ちなみに中華製偽物半導体の記事を見てSTM32のパチモン乱舞の
話から、もしや温度センサも…って話になって調べたら電子工作では
ポピュラーなDS18B20にもパチモンがあると知った次第です。


こちらの方のGithubアカウントに細かい分析が書かれており、
2019年以降でebay,aliexpress,Amazonとかで異常に安い値段で購入可能な
温度センサ"DS18B20"もしくはそれの使用をうたう製品はまず中華製の
クローンもしくは偽物ということです。


そういうわけでねむいさんも手持ちのパチモン疑惑のDS18B20のステンの
筒入りセンサの調査を行ってみました。


上記のgithubアカウントで提示されているArduino向けのぱちもん判定
スケッチをSTM32C0のプロジェクトに移植してみました
上記の画像の通りプロジェクト中のds18x20.hの赤枠のコメントを外すと
ぱちもん判定モード&パラサイトパワーモードで動作します。


(※MAXIMの製品サイトより引用)
また、"本物"のDS18B20はVCCが内部でダイオードを介してデータ線に
接続されている構造となっておりストロングプルアップという操作によって
VCC不要でデータ線とGNDの2線だけで通信が可能な"パラサイトパワー"が
使用可能ともなっております。


パラサイトパワーを使う際はDS18B20の"VCCとGNDを直結"する必要があります。
こんな感じでパラサイトアダプターを作ってみました。


また、パラサイトパワーで測定を行うには温度測定の際に1.5mAの電流を
供給する必要(ストロングプルアップ)があります。
STM32は1.5mA程度ならGPIOから電流供給可能なので、温度測定コマンドの
時だけODからプッシュプルに変更することにより追加のGPIOの操作なしで
ストロングプルアップを実現しております。


ていうわけで勝負!!!!
(※写真では通常モードですが実験はパラサイトパワーモードでやってます)

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28D39E2B060000A3
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0x5A014B467FFF0610A3
All Okay!
This is THE GENUINE DS18B20!!

あれ…?
通った…?
本物…?

じゃもう一つ
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x2813A92B060000E9
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0x53014B467FFF0D10E9
All Okay!
This is THE GENUINE DS18B20!!

あ…
これも本物だ…


まず大前提としてDS18B20のROMIDは28-XX-XX-XX-XX-00-00-CRC
(XXは任意のHEX値)が本物たる最初のハードルとなります。
今回のステン棒DS18B20はそれぞれ下記のROMIDだったので…
0x28D39E2B060000A3
0x2813A92B060000E9
ちゃんとパラサイトパワーで動いてるしその後のスクラッチパッド
チェックもすべて通過したので本物だったのでしょう…

ステンな君たちのこと疑って悪かったです…



●大昔にTaobaoで大量購入したDS18B20は!?

たしか東日本大震災の前後の超円高のころに大量に購入していたやつです。
骨董品のDS1820(DS18B20ではない)なんかも買って当時ちょこっと使って
それ以来ずっと寝かしていました。たしか150円くらいだったんですよね…


件のgithubの記事曰くレーザーマーキングから察するにねむいさんのは
2009年48週目製造のC4ウエハ、でROHS品であると言えます。
まとめて購入したので全部同じマーキングとなっておりました。
同じロットだったのでしょう。


簡単に抜き差しできるアダプターも作って5個ほど試してみます!!
いざ勝負!!

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x289C63850200009A
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xAC014B467FFF041086
All Okay!
This is THE GENUINE DS18B20!!

1個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28976285020000AF
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xBD014B467FFF0310FF
All Okay!
This is THE GENUINE DS18B20!!

2個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28C08985020000AE
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xBB014B467FFF0510C6
All Okay!
This is THE GENUINE DS18B20!!

3個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x286366850200001E
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xB5014B467FFF0B10A3
All Okay!
This is THE GENUINE DS18B20!!

4個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28017D85020000BF
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xE5014B467FFF0B10BE
All Okay!
This is THE GENUINE DS18B20!!

5個目本物
おk

5個全部本物!やったね!
というわけでねむいさんが持ってたDS18B20はぜーんぶ本物で安心して
パラサイトパワーでもビシバシ使うことができます!めでたしめでたし!






…で終わるわけないでしょ!


●改めて偽物DS18B20を追え!

さて、じゃぁぱちもんDS18B20ってどんなんなの?って言う感じですが、
きわめて遺憾ではありますが、過去1年縛りでDS18B20でググってみると
ぱちもんと気づかず使用されている>マンモス哀れな奴 P! P!方が
かなりたくさんいることがわかりました…
ArduinoとかESP32とかラズパイ+Pythonとかのいわゆるファーストプロト
タイピングな人たち狙い撃ちされている感じでございますね…


私も自腹きって今の半導体高騰の相場では異常に安いやつを買ってあえて
試してみました!5個入りでステンのケース入りで1000円以下☆
普通に買ったら1個1000円以上するのにこの時点で本物のわけないだろうが
ぇーっ(ゴッゴッ


秋月でも860円になってて高くて買えないよぉ…


それは置いといてとりあえずパラサイトパワーモードで試してみます!
うっすらネタバレしてますけど!

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x0000000000000000
ROMID does NOT follow expected pattern 28-XX-XX-XX-XX-00-00-CRC!

はい
パラサイトパワーモードでマトモに動きません!
パチモンでしたーーー!!!やったぜ!
じゃなくてクソァ!!!

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x2818B85704493C61
ROMID does NOT follow expected pattern 28-XX-XX-XX-XX-00-00-CRC!

パラサイトじゃないモードでも動かしてみました!
最初のROMIDのパタンチェックすらクリアできてません!!
本物の偽物です!!!!!!おめでとう!!!!!!
なんでやねん!


ちなみにねむいさんのSTM32G0STM32C0のサンプルコードでは
パチモン判定モードではSTN液晶にちゃんと"ぱちもん"と表示して
そこから先に進めなくなる親切設計です☆


残り4個もどうせ偽物なので試す時間ももったいないのでさっさと産業ごみで
捨てる予定ですがとりあえずステンのケースぶっ壊して中の偽物を引きずり
出してやりましょう…!!

――――― 5分後 ―――――

はぁはぁ…ステンのケースは本物のステンのようでめっちゃ固い…

――――― 10分後 ―――――



なんと偽物DS18B20使ってるくせにそれ以外はいい仕事してやがって中まで
ぎっちり硬いエポキシが充填されておりました…なんでやねん!


というわけで"最近の異常に安く買えるDS18B20、特にステンのケースに
入ってる奴はまず偽物"説はマジだったのとねむいさんが持ってたステンの
奴は本物のDS18B20が使用されている貴重品なので大事に大事に使って
いこうとおもいます!






…こういうパチモンが狙う市場っていわゆるライトユーザー層なのかなと
思ってます。"とりあえず動いた(←温度がみえたっぽいから)"おっけーで
終わる人はまずこれをぱちもんと見抜けませんし気づきもしません。

ファーストプロトタイピングが当たり前になった現在、ハードウエア何も
知らなくても"プログラミング"を楽しめるようになったので中華の業者が
そいつらだましてそれで飯食えるくらい魅力のある"市場"になったって
ことなのでこれから先こんなんばっかりになりそうですね〜〜…。

偉そうに言ってるねむいさんもDS18B20のぱちもんの存在知ったの今年の
はじめです。STM32に限っては10年以上使ってきて細かいエラッタまで知り
尽くしてるから情報ばんばん取り込んでたので回避できてきましたが…
XMEGAとか思いくそ被弾しましたからね…猛省猛省。

これから先、電子工作するときは動いたからおっけーの気分で終わらせず、
電子デバイスの真贋の情報は常にアンテナ張って徹底収集、なおかつ
ちゃんとオシロスコープで波形を確認したりデータシートをよく読んで
齟齬がないかとか最低限のハードウエア確認はしていこうと思いまし、た!

でもパチモン掴んだらぶろぐのネタになっておいしいのでこれはこれで。

STM32C0はぢめました


個人ぶろぐでは一番のりかな!?


てわけでリリースしたばかりのSTM32C0シリーズに手を出しました。
立ち位置的にはSTM32G0から機能をシュリンクし、コストを下げて
8/16bitの価格帯に32bitを持ち込む戦略のようです。


評価基板もDiscovery/Nucleo系がすでにリリースされており、
ねむいさんはSTM32C031C6-NUCLEO基板を入手しました。


ところで2021年以降のNucleoはコネクタがUSB-MicroBに変わっているので
ご注意ください…!


そんでもってAVCCが3.3Vに接続されてませんのでご注意ください…
これで30分はまった…orz

基本的な使い方はSTM32G0と全く変わりません。つまりG0からC0への
移植も全く苦ではありませんでした。

ちなみにSTM32CubeC0ライブラリもGithubに登場しております。
STMicro公式からもダウンロードできますが更新が遅く落とすために
登録があって面倒なのでGithubから落としたほうが楽です。



ちなみにuSecディレイに使っている一般タイマですが微妙にバージョン
アップしていてレジスタが1個追加されておりました。実はSTM32G0か
ら追加されていたようですが普通に動作してたのでずっと気づかず、
STM32C0では最初うまく動作しなかったところで初めて気づき30分ほど
足止めを喰らいましたorzマニュアルはちゃんと読もう。


というわけでいつものI2Cデバイスをぶら下げて動作させてみます。


こんな感じで何事もなく動作しました☆
AVCCがジャンパされてなかったりレジスタ書き込み漏れがあったり
何事もあった気がしたけど気のせいです。




おっとその前に、順番が入れ違いましたがOpenOCDはまだ公式には
STM32C0シリーズのフラッシュ書き込みに対応していませんがgerritに
パッチが上がっています
。こいつを適用したOpenOCDをビルドして
さらにSTM32C0用書き込みスクリプトも準備して書き込んでみます。

> "C:¥Devz¥Coreutils¥bin¥make.exe" program
openocd -s C:/Devz/ARM/OCD/tcl -f interface/stlink-dap.cfg -c "transport select dapdirect_swd" -f target/stm32c0x_swd_flash.cfg -c "mt_flash main.elf"
Open On-Chip Debugger 0.12.0+dev-00075-g79caea874 (2023-02-23-23:36)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
dapdirect_swd
Info : STLINK V2J38M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.227154
Info : Unable to match requested speed 500 kHz, using 480 kHz
Info : Unable to match requested speed 500 kHz, using 480 kHz
Info : clock speed 480 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x0bc11477
Info : [stm32c0x.cpu] Cortex-M0+ r0p1 processor detected
Info : [stm32c0x.cpu] target has 4 breakpoints, 2 watchpoints
Info : starting gdb server for stm32c0x.cpu on 3333
Info : Listening on port 3333 for gdb connections
[stm32c0x.cpu] halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x08001918 msp: 0x20003000
Info : device idcode = 0x10006453 (STM32C03xx - Rev A : 0x1000)
Info : RDP level 0 (0xAA)
Info : flash size = 32 KiB
Info : flash mode : single-bank
Warn : Adding extra erase range, 0x08006070 .. 0x080067ff
Info : wrote 24688 bytes from file main.elf in 1.217141s (19.808 KiB/s)
Info : verified 24688 bytes in 0.269830s (89.350 KiB/s)
shutdown command invoked

> Process Exit Code: 0
> Time Taken: 00:02

なおOpenOCDでは内部的にはG0と同じくフラッシュ書き込みルーチンが
L4シリーズと同じ扱いになっています。


そんなわけでSTM32C0にも対応したOpenOCDのWindowsバイナリ
すでにおきぱにて公開しております!STM32C0を手に入れた人は
バンバン使っていただけるとありがたいです!

ついでにNUCLEO向けのテストプログラムも公開しております。
新規プロジェクトの取っ掛かりにご利用ください!!

いろいろ試す55

もう1か月過ぎそうですがあけましておめでとうございました!!
1月2月は毎年死ぬほど忙しいのでいつも月末ギリギリの投稿です・・・



●OpenOCD 0.12.0ついにリリース!

あれ・・?0.13じゃなかったの…まぁいいや
いちおうRCが取れて正式にOpenOCD0.12.0となりました…

ナイトリービルドが当たり前になっちゃって正式リリースとか関係なしに
動いている今最新のが安定版…みたいな哲学的な状態となってますが今回は
ちょっと注意点があります

libusbのほうの最新のコミットでdeprecatedになった関数があり、
libusbに依存しているライブラリの中でdeprecatedなのを使っている奴が
ビルドエラーになってしまってます。


OpenOCDで引っかかっているのはJ-Link用ライブラリlibjaylinkで今の
ままではビルドが通らないのでおきぱのOpenOCDのバイナリでバインドして
いるのは古いv1.0.26のままとなっております。
libjayの方に更新かかってv1.0.27対応になったらまるっと差し替えます。

OpenOCDのwindowsバイナリはこちらです!


●avrdudeもついにv7.1に!
avrdudeのほうも長らく7.0だったのがようやく7.1となりました…!

相変わらず日付が間際らしいですがバージョン上がった日付のまま
いくらコミット進んでもここの日付は変えないみたいですね…

先月述べた通り表示関連が大幅変更になっていますが見た目は変わって
ないのでいつもと同じ感覚で使用できると思います。
また、libusbはOpenOCDと同じくv1.0.26としております。特に動作に
支障はないので当分1.0.26で行きましょう…

avrdudeのwindowsバイナリはこちらとなります!



●FatFsディレクトリ破壊問題に進展
MMCに書き込んだらFATディレクトリ構造が破壊される問題
下記の段階まで絞り込めてきました。

アロケーションユニットサイズが512バイト(1セクタ)以外
のものは書き込んだらディレクトリ構造ごと破壊



もうこれ以外の違いは判りませんがSDフォーマッタでくだんのMMCを
フォーマットするとFAT16で32セクタ(アロケーションユニットサイズが
16kバイト)になってしまうので512バイト以上のファイルをコピー(f_writeを
実行)したら確実に破壊されることがわかりました。


これを回避するためにはFAT32もしくはexFATでアロケーションユニット
サイズを512バイトでフォーマットしてやればどのサイズのファイルを
コピーしても破壊されることはありませんでした。

現行最新のFatFs0.15でも同現象を確認してさらに上記対処法で回避
可能なのですがどうしてそうなるのかというメカニズムは今後も解析を
続け、わかりしだい追ってお伝えします…!

MMCとか今頃使ってる人はいないでしょうけどもし同じ現象にぶち
当たった人はアロケーションユニットサイズを512バイトに固定して
FAT32かexFATでフォーマットしたら回避はできますのでお勧めします?


ついでですが今回の検証でSTM32F4のSPIモード時のMMCv3のクロックの
処理が誤っていたので(MMCv3は最大20MHz以下)修正しておきました。


●↑のついでにFatFs移植例の整備
STM32F4のソースに久々に手を付けたついでにSTM32F7とSTM32H7のFatFs
移植例も整備を行いました。makefileも見直しており、デバッグ時の
スイッチ新設とアセンブラファイルのビルド時のファイル名の小文字化
とかももう少しマトモな表現に直しました。

# Exchange Uppercase into Lowercase
#MPU_MODEL_LOWER = $(shell echo $(MPU_MODEL) | tr A-Z a-z)
lc_jimae = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
MPU_MODEL_LOWER = $(call lc_jimae,$(MPU_MODEL))

# Exchange Uppercase into Lowercase
MPU_MODEL_LOWER = $(shell echo $(strip $(shell echo $(MPU_MODEL) | tr A-Z a-z)))

なんで私はこんな苦しみ紛れに屁をこいたようなものを数年も放置して
しまっていたのか…時間を見てほかのSTM32シリーズにも展開しておきます。

現状は下記3つのプロジェクトに対して最新のものを反映しております。
ついでにHALライブラリもgithubの新しいものを反映するようにしました。
・STM32F4
・STM32F7
・STM32H7


●半導体品切れがいくつか復活するも
秋月ですごい高くなってる…特にLDOとかSTM32とか

私の記憶ではLT1963Aは450円くらいで買えたはずですが…円安とインフレ
めっ…ちなみにdigikeyでは20230131現在950円となりやがっておりおいそれと
使うことができない高根の花となってしまいました…

そしてADP3338もEOLとなってしまった今ドロップアウト電圧の低い高性能な
LDOを求めて難民になってしまいましたがいろいろ探して値段性能的に妥協
できそうなやつを見つけてみました(注:SOT-223-3パッケージ、Vin=5V限定)。

まずはSOT223パッケージで真ん中の足がGNDのLT1963A系のやつはMicroChip社の
MIC37100-3.3WSなんかが妥協できそうですね。MLCC使用OKです。
ドロップアウト電圧は0.5V/1AMAXで十分な性能があると思います。
そして値段も300円以下(20230131現在)なので価格的にも優しいです。

お次にSOT223パッケージで1PinがGNDの"LT1117系"のLDOですが、こちらは
DIODESのAP2114HA-3.3TRG1とかですね。こちらもドロップアウト0.75/1AMAX
でドロップアウト0.8V切りは一応クリアでESP32でも持ちこたえられると思います。
もちろんこちらもMLCC使用可です。


まだデータシート上で選定しただけですが特にLT1117系LDOの置き換えを狙う
AP2114HAについては実際に入手してESP32の基板で試してみたいところです!

いろいろ試す54 -2022年反省会-

すみませんやっと時間取れましたが今年残りあと0.2時間くらい…



●OpenOCD-0.12.0-RC3更新
OpenOCDももうすぐ0.13.0になろうとしておりますがRC2->RC3の私的に
注目する更新は、RTOSの自動検知でRTOSがサポートしてないもしくはRTOS
未使用の際にステップ実行したとたんに落ちていたのが修正された…
…のはよいのですが今度はねむいさん特製cfgファイルのほうと衝突
しちゃってTARGETNAME設定の際にとりあえず出つけていた"rtos auto"の
オプションはcfgファイルから削除するようにしました。

ねむいさんRTOSほとんど使ってませんし唯一(仕事で)使ってるMbedOSは
OpenOCDのスレッド検知非対応でrtos autoの設定は実質無意味になっちゃい
ましたからはずしてしまいました。

またつぶしが効くような修正や逆に私がRTOSサポートに本腰入れるように
なったらこの辺りもう一度見直そうと思います…


というわけで今年最後の更新かつ2022年末最新のOpenOCDバイナリはこちらと
なりますのでどしどしつかいたおしてくださいっ!


さりげなくSTM32G4とSTM32L4のフラッシュ書き込みに対応しております!


●AVRDUDEが相わからず更新しまくり
なんでこんな恐ろしいスピードで更新しまくっているのか…!?
息を吹き返していま最もホットなavrdudeもビシバシ充てられるコミット
にしがみついて追従しております。

ところでいつまでバージョン表記はv7.0-20220508のままなんですかね…
中身めちゃくちゃ変わってるんですけぉ…

まぁそれは置いといてこちらは31日付でビルドしなおしております。
こちらもびしばしつかいたおしてくださいっ!

●Android狂騒曲
20230123追:内容が酷過ぎたので少しまともに修正
もう作業進める時間が欲しくてこのブログ書いてる暇が全くないのですが
仕事で必要になりAndroidのタブレットを自分でも購入したことからすべては
はぢまってしまいました。Android上でPythonを走らせてさらにGUIを動かす
という作戦を現在敢行しております。

ガチドザのねむいさんにははぢめてのこと過ぎてあまりにもハードルが
高すぎましたが下記の手順でPythonでGUIを動かすところまで行けてます。

1.Termuxインストール
2.Termuxのエミュレータ端末からPython3インストール
3.同じくpython-tkinterインストール
4.pipでPyserialインストール
5.pipでPySimpleGUIインストール
6.PySimpleGUIのためのx-window導入
7.VNCViewerインストール


上記の長い手順を踏んだうえでser2net化したラズパイZeroとUSB-OTGで
STM32G431K-Nucleoを接続し(STLinkはUSBシリアル変換として動作する)、
さらにwifi経由でラズパイZeroとAndroid間であたかも通常のシリアル
通信のようにデータをやり取りできるところまでできました!!!


今回の例はDHT系の温湿度モジュールAM2322Bの温湿度データを取得して
Termux上のPythonGUI上に温湿度データを取得表示しているところです。
XFCEのデスクトップ画面は殺風景すぎるのでデb東條希さんが横たわってる
壁紙で多少の癒し効果を与えております。



ところでこんな回りくどいことやらずに素直にkotlinで直接TCPで通信する
Androidアプリ作れやだって!?
あのね!ねむいさんがそんな正攻法するわけないでしょ!

この狂騒曲はまだ続いておりますが落ち着いたら改めてやったことの
整理ついでに詳細を紹介する予定です。



●Transcend製の3D-TLCの産業用microSDカードTS256GUSD460Tを買った



というわけでTranscendの産業用microsd460Tが市場に出回ってしまったので
年末のくそ忙しい今買って試しました!

まずはWin10でベンチ。直線もチマチマも十分の実力ですね〜

例のあれでSMARTを取得してみました。しっかり読み取れますね!
お次はいつもので読んで見ます。

FatFs module test terminal for STM32H747XIH6
LFN Enabled, Code page: 932
AppVersion : W.I.P
Build Date : Dec 5 2022
>fg piano

rc=0 FR_OK
>fo 1 ftbt.mp3

rc=0 FR_OK
>fr 132949600

132949600 bytes read at 21495 kB/sec.
>fs

FAT type = exFAT
Bytes/Cluster = 262144
Number of FATs = 1
Root DIR entries = 0
Sectors/FAT = 32768
Number of clusters = 954112
Volume start (lba) = 65536
FAT start (lba) = 98304
DIR start (lba,clustor) = 4
Data start (lba) = 131072

Volume name is TS256G460T
Volume S/N is 9C33-6BBD
...
1 files, 132949600 bytes.
244252672 folders.
244120832 KiB total disk space.
4 KiB available.
>ds 0

rc=0
Drive size: 488636416 sectors
Erase block size: 8192 sectors
Default r/w block size: 512 bytes
Card type: SDv2(Block)
CSD:
00000000 40 0E 00 32 DB 79 00 07 47 FF 7F 80 0A 40 00 73 @..2.y..G....@.s
CID:
00000000 74 4A 60 55 53 44 55 31 20 80 36 D4 80 01 6A 73 tJ`USDU1 .6...js

Parsing SD CID Register
Manufacturer ID :0x74
OEM/Application ID :J`
Product Name :USDU1
Product HwRev :2
Product SwRev :0
Serial Number :0x8036D480
DateCode.Month :10
DateCode.Year :2022

OCR:
00000000 C1 FF 80 00 ....
SD Status:
00000000 80 00 00 00 08 00 00 00 04 00 90 00 08 11 39 1E ..............9.
00000010 00 08 00 00 00 02 FC 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
SCR:
00000000 02 45 84 87 00 00 00 00 .E......

Parsing SCR
SD Spec Version :2
SD Spec Version 3 :1
SD Spec Version 4 :1
SD Spec Version X :2
SD Security :4
SD Bus Width :5

SD_Spec V6.xx!
Detected as SDXC Card!
Available UHS-I Mode.
Available UHS Speed Class U3.
Available SD Speed Class 10.
Available Video Speed Class 30.
Available Application Performance Class2, A2 Card.
A2 CommandQueue Depth 32 Supported
A2 Cache Supported.
>

A2クラスはもはや当たり前となりましたね〜
最もA2に対応したSDホストでないと真価は出ませんが…


そして産業用microSDもだいぶそろってきましたのでここらでラズパイ
向けの価格性能比が最も優れたもの比較でもやりましょう…!
と言いたいところですがもう時間がないので来年に…



●毎年恒例ねむいさんQ&A

Q:ねむいさん…Codelite使ったARMデバッグ手順のホウハ…
A:あああああああああああああああああ1!1!!11!
 
 今最新のGCC12でもLPC2388(ARM7TDMI)のデバッグできまくるの確かめた
 ところまできやがってます!!!!!もうちょっとまって!1!!!
 
 ☝GCC12でひりだしたelfはinsightで読めないので苦しみ紛れに屁こいた
 みたいな釈明でその場をしのがせていただきます…
 
Q:時間ない割には山にはいくんだ?
A:それは別腹です

Q:それとDropBOXの過去の消えた画像は?毎年言ってますが…
A:…
 …
 来年から本気出す!!
 それではよいお年を〜

近畿自然歩道を往く -玉置神社の激闘から二年、地獄のバス旅行に-

瀞峡から玉置神社を目指した激闘からはや2年、今回はその続きを攻めて
みました。尤も距離はおまけ程度に短いのですがクリスマス前に手術を
控えていたのでこれくらい気楽なほうが体に負担もかからないでしょう

…と思い込んでいた私がばかだった!!!



●2022.12.17 近畿自然歩道(折立〜十津川温泉)


場所は近鉄御所駅。
ここから超長距離路線バス八木新宮線に乗り目的地に向かいます。


長い…新宮まで6時間以上ありますが十津川ですらも3時間もありやがり
ます…


休憩ポイントは3か所。五条バスセンター、上野地(谷瀬のつり橋)、
そして十津川温泉です。


ようやく解放されてスタートへ…
…降りるバス停2つ前だったorz



とはいえ本来のスタート地点折立はすぐそこです。
2年前と同じ地に落ちあいました!


八代竜王社にお祈りします。


玉置山登山口と落ち合いました。
今回は車道をそのまま進みます。


しかし…今回はほんとに車道だけで見るものがない…
たま〜〜に眼下に十津川村の村落が見えるだけです…。


車道の玉置山の分岐に突き当たりました。
ねむいさんは分岐から降りて十津川温泉郷に向かいます。


放置された工事現場には謎のボーリング?のサンプルが


んーっとでかい橋(猿飼橋)はスルーして直進ね…





なにっ行き止まり!?
痛恨のルートミス!!!
予定では30分くらい温泉に入れるはずだったのに!!



急いでルートに復帰しましたが…
猿飼のつり橋が通行止めになってて立ち入り禁止じゃないからまぁ
通れるでしょうけどぇっとあのその・・スルーしてでかいほうの
猿飼橋に!!手術控えてるから安全をとったの!ティキンじゃないの!



何とかゴールの十津川温泉バス停に到着しました…
距離は短いのですがタイムアタックだったので肩で息が上がってます…
お手軽とは何だったのか!?



何とか共同温泉庵の湯に二年ぶりに浸かることができました…♨
ルートミスしなかったらもうちょっとゆったりできたのですが
まぁ目的は達成されたからよいでしょう〜


そして再びバスで帰…るのは時間的に不可能でいったん新宮まで出て
新宮で一泊します。十津川温泉で宿取りたかったのですがさすがに
直前では無理でした。



十津川から新宮までがまた長い…
新宮駅に着いた頃にはもう真っ暗でした。
今回もビジネスマンに人気のホテルサンシャインに泊まりました。







ぁーすみません。
朝の新宮駅です。


三重交通の待合室に熊野3人娘がいました。
この子達に合うと新宮に来たって感じがしますよぅ。


ホテルでワクチン3回打った人対象の1000円クーポンもらえたので
早速バスで飲む用に酒を買い込みました。
手術が控えてるとは何だったのか。


そして帰りももちろん超長距離路線バスです…
しかも今回は新宮->大和八木までぶっとぉしDEATH!!


もうダメ…(←まだお酒我慢してる)


いつの間にか道はすごく細い道を進みます。対向車もガンガン来てますが
ベテランの運転手さんはスイスイ交わしていってました。


湯の峰温泉で宿泊できる日はいつなのか…
バスの窓から指くわえて見ている。


熊野本宮がちらっと見えました。
ねむいさんのポリシーで自分の足で熊野本宮にたどり着くと決めたので
途中下車は絶対にしません!




十津川温泉郷にやっとこついたら雪が舞っていました・・すごい寒い…
足湯で少しあったまります。



さて行きは省略しましたがここを抜かすわけにはいかない
ここ上野地で大休憩があるので谷瀬つり橋に向かいます・・が…



橋わたってすぐの雪が途切れた先で凍っていて滑ってこけて
ちびりそうになったorz
しかも冷たい風雪が叩きつけて橋がぐワングワン揺れてて泣く泣く
撤退…手術も控えてたしけっして吊り橋恐怖症のティキンではない!1!!1


ぜ、ぜーんぜんこわくなかったZE!(ブルブル


バスは雪の中をぐんぐん進んでいきついに真っ白に!


雪景色も標高が一番高い天辻を超えたら晴れ間がでてきて
五条バス停についたころには雪がちらつく程度になってきました。



金剛山もすっかり雪景色ですね〜
…そして



や・・・やっと大和八木にたどり着いた…
6時間24分くらいの我慢大会…お酒がなかったらやばかった…
自然歩道よりこっちのほうがつらあじでした…
こんな無茶やらかして手術が控えてるとは何だったのか!?


それはさておき乗車証明もばっちりもらいました…!
八木新宮線はいろんなイベントをして存続ていますがこれからもネタ
路線として生き残ってほしいですね〜ねむいさんは素直にくろしおつk
ゲフンゲフフン


さて、このブログを書いてる現在すでに手術は無事に終えて自宅に戻って
ますが、手術後はトレランとかの重負荷運動は1週間厳禁なので今回が今年の
走り収めとなります。

YAMAP見られてる方は今後の方針ご存じかと思いますが来年は1月中旬から
再び過酷な北陸攻略に取り掛かるつもりです!大雪どんとこい!



●2022.12.17 近畿自然歩道(折立〜十津川温泉)GPSログ

中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-

Codeliteを使ったデバッグ環境構築はどこに行ったのか?そして北陸進出
計画はなぜ越前市に来たとたんに足踏みしているのか?ねむいさんのぶろぐの
過去画像差し替えが完了するのはいつなのか?

答えは今回の命を賭した岡山県境越えそして鳥取県侵入に隠されている…!
かも?



●2022.11.19 中国自然歩道(東粟倉〜鳥取県境〜芦津〜智頭)

いきなりのくそみたいな展開…
人身事故3連発で使いたくもない貴重な株主優待拳を消費してしまう羽目に…
しかも自由席ガラガラで指定グリーンとか無意だったの…
とにもかくにも何とか岡山県は大原にたどり着きました。



今回は東粟倉にある愛の村パークなる研修施設に泊まりました…
なんと旅行支援も使ってないのに素泊まり2500円とすさまじいコスパで
温泉まで入れちゃいます!!まぁでも車持ってる人専用のお宿ですね〜

てなわけで12時間にわたる地獄開始!!!



朝の後山地区を駆ける。
今年初めに寄った道仙寺に今回もよりました。



道仙寺護摩堂です。前回の予習はここまで。
あとは未踏の戦いの場が始まります…!



護摩堂の近くには愛の水という湧水があるのですが金とるのか…
愛がないと思ったら奥に進むとちゃんとフリー湧き水ありました…
愛とは何か。



今までの中国自然歩道はひたすらアスファルトでだらだら長い印象ですが
今から急に難易度が跳ね上がり険しい山岳地帯となります…!
ねむいさんはここさえ攻略出来たら後は楽かとこの時は思ってました…。



岡山〜鳥取県境の山野は普通にクマが出没するそうです…
真っ赤な警告看板がガチ感出してて恐ろしいですね…
ねむいさんも10年前に買ってそのまま放置していた熊鈴を今回ついに
実践投入し程度見ます…そしてここから登山道…!



東海自然歩道の犬越路をほうふつとさせる石交じりの登山路です。
途中ではクマの糞も見つけちゃったりして警戒度上げつつ上りますが…



ありゃりゃ…なんだこれめちゃくちゃきついのぼりですよぅ…
ねむいさんが山に登るとよく遭遇する斜め50度くらいの世界に…
はぁはぁ…


滑落しないように慎重に上ると勾配が緩くなってきてだんだん歩きやすく
なってきました・・難所は越えたか…やった…


…!!!!!!!
ねむいさん道を間違えて危険なバリルートを上っていたようです…
道理できついわけだわ…


そこからはほどなくして後山分岐にそしてさくっと舟木山頂上です☆


自然歩道のルートではないですがもちろん後山にも向かいます…!



岡山県最高峰、後山です…。
大馬鹿だからこんな北伐ちゃれんぢするのですよぅ!



今度は進路を西にとって自然歩道ルート上のダルガ峰を目指します…!


絶対に許さないよ
(いやらしい角度に傾きながら)



標高1000m越えの天空のトレイルを走っているとどんどん晴れてきました。
途中の鍋が谷山です。


走りやすい素晴らしいトレイル区間…最高…♥




遺跡みたいな岩がちりばめられている駒の尾山頂です。
振り返ると後山がもうあんなにはるか彼方に見えます…!



次は最後のピークダルガ峰をめざします…
だんだんススキが目立ってきました。



岡山県の区切りとなるピークダルガ峰に到着です…!
ごらんのとおり“だるがなる”とよむ不思議な山頂です。




ダルガ峰からは大量の薄に囲まれて下っていきます…。
途中のダルガ峰山小屋では私もメッセージを残してきました!





一瞬車道に出たと思ったら今度は大崩壊というか自然に帰った
山道に…おろしたてのトレランシューズがあああ!!




何とかやばい空間を躱して大茅スキー場に到着です。
雪はないですが大量のススキがお出迎えです☆



スキー場のふもとでは自販機があったのでここで後半戦を戦う装備を
整えました…!いざ!


お次は若杉原生林と岡山県境です…
600mまで降りちゃったのでまた約550mくらい登り返さないといけません☠



若杉原生林駐車場です。
ここにもくまさん警報看板が大量にありました。




若杉原生林をかいくぐる…!
ここを上り詰めるといよいよ岡山・鳥取県境がある若杉峠です。



そしてお地蔵さんがある若杉峠に到着です。



ここから先は鳥取県になります…
がいきなり熊よりやばそうな脅し文句が
…たいしたことないでしょねむいさんを誰だと思ってるのよ



鳥取県になってから突然激しくなる上り下り…
がぁぁああああぁっぁぁあ



足を踏み入れるものを遮る鳥取警告看板が再び目に入る…
しかしねむいさんのライブラリに撤退というメソッドはない!



ていうの嘘ですすみませんもう帰して…
芦津・吉川越えです…


んあこたぁわかっとるわい!です!YO!



うっかり足をつった状態で何とか上ってきた狩谷山です…
ここでアミノ酸と天日塩の補給で足の回復を行いました。



狩谷山からはさらに上って標高1200mに…がぁぁぁぁあぁっぁぁあ
でもさっきのアミノ酸と天日塩が効いて足はちゃんと動きますが



1200m超えた地点で急に下りになったちょっと先に車道が…
やっと解放された…と思ったら今度は懲役8kmのアスファルトが…


まぁ標高1100mからのえんえん下り道なので多分非常に気楽です。
ススキがきれいですね〜(必死の形相で



懲役8kmと思いきや意外と見るものがありました。
かつては林業や鉱業が盛んだったようですね。


とそれに気を取られてこの穴ぼこにやられるところだった!1!!!11
こけそうになったけどでんぐり返りじゃなくて前回り受け身で奇跡的に
ノーダメでクリア!



そのまま駆け下りていくと本日最後のトレイル"三滝区間"にやってきました。
水洗トイレもあったので最後の補給をして挑みます…!



何気なく進むといきなり激しい落差になって気が置けません。


?????




三滝ダムです。


対岸に渡りトレイルは進みます。


この区間の見せ場、三滝です。



あとは安全な道を通って今回最後のトレイル区間終了です…
暗くなる前に何とかここまで攻略できました…



あとはアスファルト道を駆け下りていくだけ!
うぉぉおおおおお!!


急速に暗がりが広がってきましたがトレイル区間は抜けたので
街灯もあったりしてライト使わなくてもへっちゃらです…☆



ていうのはうそです…どんどん暗くなってきたので熊鈴をしまって
代わりにライトを装備して進みます。



すっかり日が落ちて夜になったころに芦津バス停に到着です。
ここが次回のエントリポイントになります。
あとは走って智頭駅に向かうのみ!


ぁー星空めっちゃきれい
(写真が失敗したわけではない)


暗くてよくわかりませんでしたがここもかつての街道で史跡がたくさん
みられるようですね。



国道にぶつかって今度は国道沿い西に進路を取りひたすら走ります!!!
足もちゃんと走れてるからいまだ問題なし!!


千代川沿いに走っていると智頭駅の看板が!!!
あと少し!!!!!1!!



…ッッ着いた…!はるばる58劼鯆兇┐童境を越えて鳥取県の智頭駅に
ついにゴールしました…!そしてスーパーが閉まるギリギリだったので感慨に
浸る間もなくお土産と晩飯を買い込む…。



ちなみにさっきのはJRの智頭駅で智頭急行の智頭駅もあります。
智頭急行のほうに鎮座する駅娘のえりおさんは芋くてあんましかわいくn
カワイイ


運転手さんの計らいで休日割引料金1200円でで上郡に帰れたりちょっと
助かりました。そしてあとは新快速で京都まで夢の中…
今回も無事にタフな戦いを制しました!





そんなわけで中国自然歩道岡山の最難関をクリアして鳥取県まで進攻できました
が!今回は序の口でさらにやばい区間が待ち構えているのでしっかりリサーチを
重ねて体力をつけて挑もうと思います!!
ぁーその前に北陸地方は新幹線が敦賀に通ってしまうまでに優先的に攻略して
金沢まで到達したいのでそちらが優先になるかとおもいますという複数正面作戦
状態となりますがなんとか頑張ってみますよぅ



●2022.11.19 中国自然歩道(東粟倉〜鳥取県境〜芦津〜智頭)GNSSログ


Go to top of page