obniz

2022年2月 3日 (木)

Wio_ExtFlashLoad(WriteSampleMenu.ino)スケッチをplatformioでビルドする

2022/2/3
初版

Wio_ExtFlashLoad sketch build by platformio

Wio_ExtFlashLoad sketch build by platformio

概要

Wio Ext Flash Load」、 「External Flash Loader library for Wio Terminal」 にあるWio_ExtFlashLoad(WriteSampleMenu.ino)スケッチをplatformioでビルドする。
arduinoのサンプル・スケッチとして提供されているものだが、plaformioビルド環境でビルドする。
Wio_ExtFlashLoadは、アプリを起動するメニューになっており、
SDカードにビルドした.binを起き、それを選択して起動する。

WriteSampleMenu.ino

以下の手順をダウンロード/ビルド/書き込みする:

# platformioの環境に入る # プロジェクト・ディレクトリを作成する mkdir Wio_ExtFlashLoad cd Wio_ExtFlashLoad mkdir src cd src wget https://raw.githubusercontent.com/ciniml/ExtFlashLoader/master/examples/WriteSampleMenu/WriteSampleMenu.ino wget https://raw.githubusercontent.com/ciniml/ExtFlashLoader/master/examples/WriteSampleMenu/menu_data.h cd .. gedit platformio.ini # 後節にあるplatformio.iniの内容を作成する # ビルド&書き込み pio run -t upload

以上で、実行すると、メニューが表示されるようになる。

platformio.ini

wio-terminal用:

[env:seeed_wio_terminal] platform = atmelsam board = seeed_wio_terminal framework = arduino build_flags = -DWIO_TERMINAL upload_protocol = sam-ba monitor_speed = 115200 lib_ldf_mode = deep+ lib_deps = https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls/archive/dev.zip https://github.com/Seeed-Studio/Seeed_Arduino_rpcUnified/archive/master.zip https://github.com/Seeed-Studio/Seeed_Arduino_rpcBLE/archive/master.zip https://github.com/Seeed-Studio/Seeed_Arduino_rpcWiFi/archive/master.zip https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS/archive/master.zip https://github.com/Seeed-Studio/Seeed_Arduino_FS/archive/master.zip https://github.com/Seeed-Studio/Seeed_Arduino_SFUD/archive/master.zip # https://github.com/Seeed-Studio/Seeed_Arduino_LCD/archive/master.zip # arduino-libraries/NTPClient@^3.1.0 # ciniml/ExtFlashLoader@^0.1.2

アプリ用.binを作成する

アプリ用SDの詳細は「External Flash Loader library for Wio Terminal」に記述されているので、その中に入れる.binの作成方法について説明する。

「pio run」でビルドすると
以下に.binができる:

.pio/build/seeed_wio_terminal/firmware.bin

これをfirmware.binをapp.binにリネームしてSDにコピーする。

これだけでメニューから起動できる。
ただ、このままだとアプリ起動後、
メニューに戻ることができないので
setup()にボタンAを押しながらリセットしたときに
メニューに戻るコードを埋め込む。

(1)TFT_eSPI対応アプリの場合、「External Flash Loader library for Wio Terminal」の「アプリケーションのメニューアプリ対応」を参照のこと。

(2)LGFX対応アプリの場合は
以下のコードを埋め込む:

以下のヘッダーを追加する: /////////////////////////////////////////// // application menu header #include <cstdint> #include <ExtFlashLoader.h> /////////////////////////////////////////// 変更前: void setup() { lcd.init(); ------------------- → 変更後: void setup() { //// goto application menu /////////////// lcd.init(); pinMode(WIO_KEY_A, INPUT_PULLUP); if( digitalRead(WIO_KEY_A) == LOW) { lcd.print("Launching QSPI application\r\n"); // for LGFX ExtFlashLoader::ExtFlashLoader loader; } ////////////////////////////////////////// // //lcd.init();

platformio.iniには
以下のライブラリを追加する:

lib_deps = ... <省略> ... # ciniml/ExtFlashLoader@^0.1.2

参照情報

terminal関連:
Bootterm – a developer-friendly serial terminal program

LovyanGFX関連:
LovyanGFX - Display (LCD / OLED / EPD) graphics library (for ESP32 SPI, I2C, 8bitParallel / ESP8266 SPI, I2C / ATSAMD51 SPI) - M5Stack / M5StickC / TTGO T-Watch / ODROID-GO / ESP-WROVER-KIT / WioTerminal / and more...
LovyanGFX LCD Graphics driver
LovyanGFX-Display ライブラリを使用したスケッチをplatformioでビルドする

platformio関連:
arduinoフレームワーク用platformio.ini集
Building Core2 FactoryDemo in PlatformIO
VSCodeとPlatformIOでM5Stack Core2開発
M5Stack Core2とVSCode + PlatformIOとでM5Stackプログラミングを始めてみた。

Arduino-IDE関連:
Arduino IDE environment - M5Paper
Arduino IDEのインストールと設定 (Windows, Mac, Linux対応)

以上

続きを読む "Wio_ExtFlashLoad(WriteSampleMenu.ino)スケッチをplatformioでビルドする"

| | コメント (0)

2019年2月11日 (月)

node.jsでobnizのLCDにadの値を表示する

node.jsでobnizのLCDにadの値を表示する

o.概要
webブラウザーではなく、node.jsを使って,obnizのLCDにadの値を表示する方法について記する。
基本的に考え方は、canvasに描画したイメージをobunizのLCDに送って表示する方法になる。

1.インストール
以下のコマンドで必要なものをインストールする:
mkdir app
cd app
sudo apt-get install libcairo2-dev
npm install canvas
npm install obniz
mkdir fonts
cd fonts
表示するためのfont(.ttf)をここに置く。

2.サンプルプログラムの実行
「obniz_sensor01.js.txt」をダウンロード
(0)上のURLからファイルをダウンロードする。
(1)ダウンロードしたファイル名をsensor01.jsにする。
(2)該当のファイルのXXXX-XXXXを実際に使用するobnizボートのIDに変更する。
(3)yyy...yyyを実際のAccessTokenに変更する。(AccessTokenを設定している場合)
(4)以下のコマンドを実行する:
node sensor01js
(5)obnizのLCDにad0からad3の値が表示される。

フラグ:
ソースの中のBigFontをtrueにして実行すると、
obunizのLCDに表示ラインが2行になるかわりに大きな文字でad0,ad1の値が表示される。

以上

| | コメント (0) | トラックバック (0)

2019年2月 3日 (日)

node.js+canvasでobnizのLCDに文字などを表示する


node.js+canvasでobnizのLCDに文字などを表示する

o.概要
webブラウザーではなく、node.jsを使って,obnizのLCDに文字などを表示する方法について記する。
基本的に考え方は、canvasに描画したイメージをobunizのLCDに送って表示する方法になる。

1.インストール
以下のコマンドで必要なものをインストールする:
mkdir app
cd app
sudo apt-get install libcairo2-dev
npm install canvas
npm install obniz

2.サンプルプログラムの実行
「obniz_node_canvas_sample00_index..js.txt」をダウンロード
(0)上のURLからファイルをダウンロードする。
(1)ダウンロードしたファイル名をindex.jsにする。
(2)該当のファイルのXXXX-XXXXを実際に使用するobnizボートのIDに変更する。
(3)YY..YYを実際のAccessTokenに変更する。(AccessTokenを設定している場合)
(4)以下のコマンドを実行する:
node index.js
(5)obnizのLCDに文字と直線が表示される。

デバッグ用フラグ:
ソースの中のPCoutをtrueにして実行すると、
obunizのLCDに文字が表示されるかわりに
ソースを置いているフォルダのなかに表示イメージのLCD.pngを作られる。
直接、本件に関係はい話ではあるが
VS codeでLCD.pngを開くと、そのイメージが表示され、
内容が変更されと自動的に再表示されるので、
デバッグ中に画像ビューアをいちいち開く必要がなくなり便利である。

以上


| | コメント (0) | トラックバック (0)