mbed-ce でelecrowのe-paper動かせた
やっと、ここまできた?、、という感じかな
mbed-ce難航中3
この波線が消えんのよ!
このままでもビルドはできて、できたバイナリは正常に動作するのだが。気持ち悪い。これはTargetがF411で、
problemsのところに、『ソース ファイルを開けません "stm32f4xx.h" (dependency of "mbed.h")』 と出てる。
インテリセンス?構文のヒントというか定義への説明などはうまくできてない感じがするねー。いくつかググったのをやったりずっとしてるんだけど。そもそも、いつから波線になったのかが不明だし。
ベリカード
ベリカードって知ってる?もう死語かなー
先日、朝日新聞の投稿欄に書かれていた、同年代だなぁ。懐かしい。
mbed-ce難航中2
Macを買い換えました・・・AppleSilliconになったのはいいけど、いくつか上手く動かないものが出てきて、いくつかrosettaを入れたが。そのうちの一つにAnacondaがあった。それで一旦消して再インストしたからだと思うが、ビルドでエラーが出る。
エラーのところ注意深くみると、pythonのモジュールが無いって言ってる。結局出るたびにインストールしてビルドはできた。
pip install prettytable
pip install future
pip install intelhex
最後のは、なんとなくわかるが、上の二つは何する人ぞって感じ・・・ このpipもなぁ、そもそもanacondaのモジュールでインストールされてるのかも不明だ。
上記のpipをやる前に、Toolchain-Setup-Guideにある下記を実行している。
mbed-ce難航しとります
下記プロジェクトを使ってやってみましたが・・・(ToolChainのインストールでも一悶着あったが気がしてるんだが、忘れた。ずいぶんやり始めてから時間が経ったから)、環境はMacOS Sonoma14.7.2(intel)です。このマシンは今秋のUpdateには漏れてしまった。また初売りで買おうかな・・
VS-codeでビルドするところまでガイドに沿ってできていると思うのだが、
OSをビルドする時点でエラーが出ている。というかこれはエラーなのか?
Elecrowのe-Paperモジュール
Elecrowだから?CrowPanelとかと呼んでいるらしいが、Elecrowのメーリンリストでシリ、またOLEDが出回りにくくなっており手を出してみた。また、mbed終焉ということもありArduinoに手をだしてみるも、難航・・ 購入したものはこれ
さくらインターネットWAFを有効にしたら投稿に添付ファイルをつけられない
タイトル通りなんですが、さくらインターネットのコントロールパネルで重要事項としてずっと上がっていた設定の中でWAFを有効にしましたところ、Drupalで、投稿や記事作成はできるが添付ファイルやColorboxで画像入れようとすると
Frobidden
のsakuraが出す画面が出てしまうという現象に引っ掛かりました。
キャッシュクリアやアクセス権の構築をやっても状況は変わらず、ググっても情報もなくあきらめていましたが、ここにヒントがありました
https://techmebrains.co.jp/knowledge/errorlog/post-error-waf/
ヒントというか、そのものです。
さくらのコントロールパネルからセキュリティー、WAF設定ドメインで、Drupalのサイトを無効に設定することで回避できました。
無効にすると、下記が出てやなんですが・・
Nucleo mbedのSPI
いまさら?、初めて知ったんですが、mbedのNucleoでSPIを宣言するとき、MISOをNCにするとプログラムが全く動かなくなる。
SPI name(mosi, miso, sclk);
マスタ側の宣言でデータ送信しかしないとき、例えばHC595にデータを送るようなとき、MISOを使わないのでLATなどに割り振ってmisoにNCを入れて宣言すると、プログラムが動かない。下記例、FRDM-K64ではこれは動く
SPI spi(PTD2,NC,PTD1);
DigitalOut Latch(PTD3);
Nucleoの場合、miso部分に使わないがmiso端子を割り当てる必要があるということが分かった
そんなことより、はやくmbed-ceを使えるようにしないと・・・
MicroPythonとByteから整数へ
MicroPythonで、I2Cでバイアスからのデータを入出力をする時、データをByte型で与えたり受けたりしないといけない。よくわかんなくて値を直接書いたりしていたのだが、どうもうまくいかず・・・
文字列で指定できれば楽だが値は文字列で表現できないため、書き込みの場合はコマンドバッファを作ってポインタを渡す
from machine import Pin, I2C
im = I2C(1,scl=Pin(19),sda=Pin(18),freq=10000);
cmd2=bytearray(2);
cmd2[0]=0x4E; # Command
cmd2[1]=0x02; # Data
im.writeto(0x68,cmd2);
で、読み込みの場合は、読み込みバイト数に合わせてBufferを作り取り出せばいいのだが、ここでByteOrderというエンディアンでつまづいた。