macsbug

Archive for the ‘SPRESENSE’ Category

GAME with SPRESENSE

leave a comment »

SPRESENSE で GAME。                     2024.03.24
  
3.5 inch 480 x 320 LCD と Spresense で ゲーム を動かしました。
  

  
費用:2200円。( Spresenseを除く。LCD代は 73% )
   LCD Interface は 300円です。
 ディスプレーは 3.5inch 480 x 320 LCD with Touchを使用し 見やすいサイズです。
 SPRESENSE と LCDの接続は LCD Interface基板を製作しました。
 LCD Interface基板は 3.5″ ILI9488, 3.5″ ST7796, 2.8″ ILI9341 に対応しています。
 基板の費用は コネクターと Level Shifter を含め 300円です。
  
LCD Interface基板:Gerber data を公開しました。
 Down Load:SPRESENSE LCD V_1_pcbe.zip ( pdf になっています)
 DL 又は pdf保存後に[ _-1.pdf ]を削除し[ SPRESENSE LCD V_1_pcbe.zip ]にします。
 🔴 Gerber data(zip)を JLCPCBへ発注すれば 低価格 (1枚 110円)で使用できます。
 発注時に PCB Thickness (基板の厚み) は 1.0mm にします。
 発注の詳細は macsbug ESP32 S3 v2.1 を参照ください。
 
ケース:Raspberry Pi 3 Case (91x62x31mm) を使用し低価格 (266円)で 綺麗です 。
  


  
構成:

LCD Interface , LCD Side LCD Interface , Spresense Side : 300円
上から LCD , LCD Interface , Spresense Raspberry Pi 3 Case:266円
Raspberry Pi 3 Case に装着 3.5 inch 480×320 + Spresense

 

Raspberry pi 4 Acrylic Case, 3.5″ LCD 
520円。
アクリルケースは
LCDを固定する ネジ穴4つの
工作のみで使用できます。

  


 
開発環境:
HARD:Spresense + Arduino 拡張基板
HARD:3.5inch 480×320 ILI9488 SPI LCD XPT2046 Touch
HARD:Spresense LCD Interface ( Gerber data public / macsbug production )
HARD:Raspberry Pi 3 Case
Dev environment : Arduino IDE 2.3.2
Board Manager  : arduino-esp32 2.0.14
Library:LovyanGFX 1.1.12
 
Down Load:
 Tetris_ILI9488_Spresense.zip  : 3.5 inch ILI9488用
 Tetris_ST7796_Spresense.zip  : 3.5 inch ST7796用
 Tetris_ILI9341_Spresense 2.zip : 2.8 inch ILI9341用
 3D_Cube_ILI9488_spresense.zip
 3D_Filled_Vector_ILI9488_Spresense.zip:18fps
 Maze_generator_ILI9488_Spresense.zip
 MovingCircles_ILI9488_Spresense.zip:7fps
 Raytrace_ILI9488_Spresense.zip
 Resistor_CALC_ILI9488_Spresense.zip
 uncannyEyes_ILI9488_Spresense.zip:リアルな目。
  
 Touch_Test_Spresense.zip :タッチ操作のテスト用。
 DL 又は pdf保存後に「.pdf」を削除し 「xxx.zip」 にします。
  


 
回路図:
 1. LCDのVCC(電源)は 5Vdcで Arduino拡張ボードの5Vを使用します。
   LCDのVCC(電源)は 5Vdcであることを確認します。(3.3Vの物もある為)
 2. LCDのSPI Display接続は Arduino拡張ボードの SPI4を使用します。
 3. LCDのSPI Touch接続は MAINボードの SPI5を使用します。
 4. Touch信号(3V3)は Level Shifter でレベル変換され SPI5(1V8)に接続。

 


 
基板:基板製作の経験ない人も基板を作れます。
Gerber data:SPRESENSE LCD V_1_pcbe.zipを入手します。
DL 又は pdf保存後に「.pdf」を削除し「spresense-lcd-v_1_pcbe.zip」 にします。
JLCPCBの発注方法は macsbug ESP32 S3 V2.1 か ネット記事を参照ください。

   


 
部品リスト1: 基本構成。

No. Nomen
Symbol
Spec
Quantity
Purchase
pcs, Price
Price
¥/1 Set
1 SPRESENSE
メインボード
1 pcs 秋月電子通商
114584
6050
2 SPRESENSE
拡張ボード
1 pcs 秋月電子通商
114585
3850
TOTAL ———- ———- 9900

  


  
部品リスト2: LCD と LCD Interface。
緑色を購入。灰色は参考です。灰色のLevel Shifterは検討が必要です。
費用:2200円。 LCDは 全体の73%で LCD Interface の費用は 300円です。

No. LCD Spec
Quantity
Purchase
pcs, Price
Price
¥/1 Set
1 ILI9488 , XPT2046
v1.0 , SKU=MPS3520
1 pcs JR E-Shop
輸送期間 = 6 day
1593
1 ILI9488 , XPT2046
SKU=MPS3520
1 pcs Hong Kong fend tai
輸送期間 = 9 day
1592
1 ST7796 , XPT2046 1 pcs HEHUI Electronic
輸送期間 = 6 day
1706
2 LCD Interface
1 pcs JLCPCB
5 pcs , $3.46
538円
108
3 ロープロファイル ピンヘッダ(低オス)
1×40(40P) 8.5mm
For Main Board. 13pin x 2pcs
1 pcs 秋月電子通商
102899
1個 ¥40
40
4 Level Shifter
1 pcs Diy-Modules
5 pcs 318円
64
4 Level Shifter 1 pcs 秋月電子通商
113837
1個 ¥200
200
5 シングルピンソケット (低メス)
1×20 (20P)
For LCD. 14pin
1 pcs 秋月電子通商
103138
1個 ¥80
80
6 ピンヘッダ 1×40 (40P)
For Arduino Connector
2 pcs 秋月電子通商
100167
1個 ¥35
70
7 Raspberry Pi 3 Case
1 pcs IC Supers
輸送期間=21 day
( 11 day )
266
7 Raspberry pi 4 Acrylic Case, 3.5″ LCD
1 pcs DIYzone Store
1個 520円
輸送期間=7 day
520
TOTAL ———- 2181

  


  
LCD:
JR E Shop の LCDは LCDからFlex Cableで Parallel信号も出ています。
Parallel動作をさせる時に Flex Connector で接続する事が出来ます。
RPi 3 Caseに入れる為に 基板工作時(切断)に便利な構造です。
参照:M5Stamp C3 BOX
  
Hong Kong fend の LCDは LCDから内部でハンダ付けされています。
参照:Use ILI9488 with M5Stack
  
HEHUI Electronics のST7796 LCD も同様のFlex wire接続です。
ただし Bus Freq_Writeは20MHz までで 表示速度は遅いです。
  


  
LCDの種類とLovyanGFXの設定:ILI9488は 複数の種類があります。

LovyanGFX setup bus bus panel Touch
LCD size setRotation spi_mode freq_write invert offset_rotation
ILI9488
JR E Shop
3.5″ 3 0 40MHz false 0
ILI9488
JR E Shop
3.5″ 3 0 40MHz true 0
ILI9488 v1.0
MSP3520
3.5″ 1 0 40MHz false 6
ST7796 v1.1 3.5″ 1 3 20MHz true 6
ILI9341 2.8″ 3 0 40MHz false 4

   


  
Level Shifter:ピン配置は多種ある為に要注意です。
GND:HV GNDとLV GNDは共通で浮いています。
基板のピン配置:🔴 GND, HV, GND, LV の配置を確認してください。
注意:配置の異なる基板や接続は Spresenseを破損する恐れがあります。
異なる配置により破損した場合は 自己責任でお願いします。
参照:レベル変換(6)I2C その1 MOSFET。GNDは共通で浮いています。

Aliexpress EC-Buying ALLは ピン配置が異なり 使用しない事。
秋月電子通商の Level Shifterは 今回の基板配置と異なり 使用しない事。

Aliexpress Diy-Modules
秋月電子通商
HV,GND, LV,GND は Aliexpressと逆の位置です。GNDは共通です。
左:HV, LVは 逆ですが 電源の位置は問題ありません。
右:GNDが共通の為に 🔴 HV(3V3)とLV(1V8)がSHORTします。

  


  
部品リスト3:スタンド。
スマホ用ですが 綺麗に乗せられます。LCDにタッチしても位置を保てます。
Aliexpresですが 2回とも3日で届きました。

No. Nomen
Symbol
Spec
Quantity
Purchase
pcs, Price
Price
¥/1 Set
1 Stand
1 pcs Mr. A’s mobile
phone accessories

1個 684円
輸送期間 3 day
684

 


 
工作:
LCD基板:
Raspberry Pi 3 Case (91x62x31mm)に入れる為に加工します。
 Raspberry Pi 3用のLCDは 高さのあるコネクターを使用していますので
 SPRESENSEは入りません。
 
 
コネクタ:1 か 2 の方法があります。
 1. ピン先を切る方法:
   先端のバリ取りは必要ですが簡単でピンヘッダ交換不要です。
 2. 高さ 8.5mmのピンヘッダを取り付けます。隙間のない長さが重要です。
  交換:
  ピンを一つづつ取り除き ロープロファイルピンヘッダ(低オス)をハンダ付け。
  3.5inch LCDは ケースにピッタリ入ります。
  LCD基板は長い為に 分解し SD SLOT側を切断します。
  注意:スルーホールを痛めない事とLCDのガラスは割れ易い為に注意です。
 
 
 
LCD Interface:
1. 低メスシングルピンソケットを LCDコネクター部(右)へ取り付けます。
2. オスピンヘッダを Arduinoコネクター部と Main Board部へ取り付けます。
  Main Boad部は Arduino側より低く 短いピン(8.5mm)を使用します。
 🔴 注意:ピンヘッダは 垂直に取り付ける必要があります。
   少しでも斜めになると SPRESENSE側のメスピンに正しく装着されず
   SPRESENSE側のメスピンを曲げる事になります。
   ハンダ付け前に SPRESENSEと接続し 位置極めをするのも手です。
    そのままハンダ付けをすると コネクターのプラスチック部分が
    溶けて溶着する場合があります。
   完成後の装着時は 垂直に接続します。斜めに装着しますと
   SPRESENSE側のピンが曲がり 入らなくなります。
3. Level Shiter基板を LCD IntaerfaceのSPRESENSE側へ取り付けます。
 🔴 注意:逆向きに付けると1V8と3V3の電源がショートします・
   LCD Interface基板とLevel Shift のスルーホールにハンダで埋めてから
   基板を重ねハンダ付けします。GNDはハンダ付け不用で位置決めに使用します。

  


  
2.8 inch 320 x 240 ILI9341 + Spresense 版の製作:
 画面が小さい為に ボタンの位置は 背景画像に重ねています。

2.8 inch 320 x 240 ILI9341 + Spresense

  


 
LCDと接続方式: SPI接続とParallel接続について。
Arduino MEGAやDUEでは 既に 8bit/16bit Parallelのdisplayが動作しています。
2023から2024年にかけて ESP32界隈でのLCD は 8bit Parallel 接続の時代へ。
TTGO や MakerFabsは 8bit Parallel を採用しています。
Libraryは LovyanGFXを採用しています。

最速の経験は Making a board of ST7789 8bit Parallel Display です。
MovingCirclesで 115 fps を達成しています。
3D Filled Vector Ext では
Super M5Stack 16bit Parallel:146fps。
ESP32 S3 + ST7789 8bit Parallel :100fps を達成しています。
Spresens + SPI ILI9488 は 18fps です。SPIは 遅すぎます。

SpresenseとLCD:
LCDは 4inch 800×480 16bit Parallel LCD を希望ですが まだ その環境では無いです。
理由は Parallel接続の Libraryが無い為です。
Library開発に費用をかけても Parallelの効果は大きいです。
LovyanGFXでの Spresense Parallel 対応を期待しています。
 
SpresenseとSD:JPG , PNGを直接操作できません。2024.03現在。
LovyanGFXの SD操作は SDFat , JPG , PNG の対応が可能です。
つまり SD内の JPG , PNGデーターを LCDに容易に表示できます。
それは 以下の命令でできます。
lcd.drawJpgFile(SD,file,x,y); // JPG
lcd.drawPngFile(SD,file,x,y); // PNG
SDを指定し SD内の File(JPG,PNG)を x,y に表示します。
この命令が無いと JPGDecode Libraryが必要になり複雑になります。
  


  
速度:
 TFT_Graphicstest_PDQで速度を計測し グラフは 短い方が速い事を示しています。
 Display Library には AdafuritGFX , TFT-eSPI , LovyanGFX があります。
  Adafurit-GFX は TFT-eSPI より遅く TFT-eSPI は LovyanGFX の1/2で遅いです。
 結果 Adafurit-GFX は 大変遅く LovyanGFX をお勧めします。
  参照:LCD and ESP32 speeds with LovyanGFX
  
 Spresenseと ILI9488 , ST7796 , ILI9341 の速度を計測しました。
  ILI9488 は bus freq_write = 40000000; で動作。( Max 40MHz )
  ST7796 は bus freq_write = 20000000; で動作。( Max 20MHz )
 結果 ILI9488 の方が速度は 速いです。

  
  ILI9341 は bus freq_write = 40000000; で動作。( Max 40MHz )
  ILI9488 を 320×240 サイズで測定。

 
 16bit Parallel, 8bit Parallel, SPI の比較。
 SPI:これまでの 比較で ILI9486 は 一番遅い Driver です。
    ILI9488 SPI + Spresense は ILI9486 よりは速いですが 他より遅いです。
    ILI9341 SPI + Spresense は M5Stack より遅いです。

 結論:Spresense は SPI接続で ESP32 より遅いです。
 対策:8bit 又は 16bit Parallel接続が必要です。
 


 
感想:
初めての SPRESENSEです。
見やすい 3.5inch 480×320 SPI LCD+Touchをを選択。
本家には Touchの接続方法や具体例は見つかりませんでした。
SPIは 低速ですが 高速なParallel接続の Libraryは無く 現状の選択です。
SPIは ESP32 Parallel 8bit と比較し Graphic表示で6倍遅いです。
3D_Filled_Vectorは 18fps , MovingCirclesは 7fps と遅いです。
SPRESENSEでは 我慢しかありません。
ケースは Raspberry Pi 3 Case (91x62x31 mm)(266円)を使用し ピッタリ収まります。
 
.
Spresense . LovyanGFX , Raspberry Pi 3 Case , SPI ,

Written by macsbug

3月 24, 2024 at 2:08 pm

カテゴリー: SPRESENSE

How to use LVGL9

with 6 comments

LVGL9 の 使用方法。                        2024.03.22
  
5種類のディスプレーと79のデモが動作します。

3.97 inch 800 x 480 MRB3973 ( NT35510 ) + ESP32 S3
3.5 inch 480 x 320 ILI9488 + Spresense
2.8 inch 320 x 240 ILI9341 + Spresense
2.8 inch 320 x 240 ESP32-2432S028R
 2 inch 320 x 240 M5Core2 

  


  
LVGL v9 は January 23, 2024 にリリースされました。
LVGL は バージョンアップ毎に 命令や使用方法が変化し解りづらいです。
v7 や v8 のスケッチは v9 では エラーが出て動作しません。
理解できていない所もあるかと思いますが v9 の使用方法を まとめました。
  
スケッチの例:
 以下のスケッチを参照してください。
 スケッチは demos , example , Widget の 79個のデモを 動作できます。
 Down Load:basic_configuration.zip
  内容: lv_conf.h , lv_demo_benchmark.c , lv_demo_music.c, lv_demo_render.c
  lv_conf.h:LVGLを動作させる設定。設定:1-2 で説明。
  lv_demo_benchmark.c, lv_demo_music.c, lv_demo_render.c
   コンパイルエラー防止の階層修正。設定:6-4 で説明。
 Down Load:LVGL9_exsample_MRB3973.zip ( NT35510 )
 Down Load:LVGL9_exsample_ILI9488_Spresense.zip ( with LCD Interface )
 Down Load:LVGL9_exsample_ILI9341_Spresense.zip ( with LCD Interface )
 Down Load:LVGL9_exsample_ESP32-2432S028.zip:ESP32-2432S028R
 Down Load:LVGL9_exsample_ESP32-8048S043C.zip:ESP32-8048S043C
 Down Load:LVGL9_exsample_M5Core2.zip:M5Core2
 Down Load 又は pdfで保存後に pdf を削除しzip にします。次に zipを解凍します。

結果:
 demos ( lv_demo_benchmark , lv_demo_keypad_encoder ,
 lv_demo_music , lv_demo_stress , lv_demo_widgets は 動作しています。
 example にある 76個のスケッチは 修正なくそのまま 69個動作しています。
 get_started (4個) , others (6個) も 動作しています。

 以下 setup中にある // を削除すると その行のデモが動作します。
 合計 79のデモが書かれてあり 試すことが出来ます。

 // You can use it by removing the comment symbol (//).
 // demos ------------------------------------------------------------
 //lv_demo_widgets();
 //lv_demo_benchmark();
 //lv_demo_keypad_encoder();
 //lv_demo_music();

  
開発環境:
 PC:Mac Studio 2023 , macOS Sonoma 14.4
 Arduino IDE 2.3.2
 esp32 by Espressif Systems 2.0.14
 HARD:MRB3973 ESP32 S3。他の ESP32 Boardでも同じです。
 LVGL ( Light and Versatile Graphics Library )
 LVGL Documentation 9.0 / Feb 27, 2023:LVGL9 Library pdf
 Llibrary:LovyanGFX 1.1.9
  
 SPRESENSE:タッチ操作の為に LCD Interafce ( 300円 )が必要です。
  GAME with SPRESENSE を参照ください。
  
  


  
設定:
1. 準備:
 1-1. LVGL9のDownload。Arduino IDE BOARD MANAGER から DLします。
 1-2. lv_conf.h の設定
    「実例:basic_configuration.zip」で DLした lv_conf.h を
     lvgl / src / の中(階層)へ入れてください。
    注意:lv_conf.h の変更は エラーが出てコンパイルできない場合があります。
    * src Foldeは 「#include」で使用できる階層です。
 1-3. Arduino IDE 2.3.2
 1-4. esp32 by Espressif Systems 2.0.14
    * 3.0.0-al がありますが エラーが出るために 2.0.14 にしています。
 1-5. Llibrary:LovyanGFX 1.1.9
 1-6. LVGLは lv_conf.h , Buffer , display , touch の準備が出来れば動作します。
  
2. Libraryと変数設定:
  * 4inch 800×480 MRB3973 LCD を LovyanGFX(lgfx_NT35510.h)で使用します。
  * 他の LCDでの場合は DLしたスケッチ内の説明を参照ください。
  * 画面サイズと Bufferの設定。
  * tick は 正しい時間を得る為に loopで使用。無いとtouch操作ができません。

 //===================================================
 #pragma GCC optimize("Ofast")
 #include <SPI.h>
 #include <lvgl.h>
 #define LGFX_USE_V1
 #include <LovyanGFX.hpp>
 #include "lgfx_NT35510.h"
 static const uint32_t screenWidth  = 800;
 static const uint32_t screenHeight = 480;
 static uint8_t draw_buf[screenWidth*screenHeight/10];
 static ulong lvgl_tick_millis = millis();
 //===================================================

  
3. display設定。
 * 上の init_display は display Initializeの為。
 * 下の flush は display部分。 LovyanGFX display を使用する為に
   lgfx::rgb565_t * で接続しています。

 //===================================================
 void init_display(){
   static lv_display_t *disp;
   disp =lv_display_create(screenWidth, screenHeight);
   lv_display_set_flush_cb(disp, flush);
   lv_display_set_buffers (disp, draw_buf, NULL, sizeof(draw_buf), 
                           LV_DISPLAY_RENDER_MODE_PARTIAL);
 }
 //===================================================
 void flush(lv_display_t *disp,const lv_area_t *area,uint8_t *px_map){
   uint32_t w = (area->x2 - area->x1 + 1);
   uint32_t h = (area->y2 - area->y1 + 1);
   tft.setAddrWindow(area-&gt;x1, area->x1, area->y1, w, h);
 //tft.pushColors((uint16_t *)px_map, w * h, true);
   tft.writePixelsDMA((lgfx::rgb565_t *)px_map, w * h); // LGFX
   tft.endWrite();
   lv_display_flush_ready(disp);
 }
 //===================================================

3. touch設定。
 * 上の init_touch は touch Initializeの為。
   ただし この Initialize だけでは touch機能は動作しません。
   変数設定の tick と loop 内の tick で動作します。
   v8 との大きな違いです。
 * 下の my_touchpad_read は touch入力(tft.getTouch)の為です。

 //====================================================
 void init_touch() {
   lv_indev_t *indev = lv_indev_create();
   lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER); 
                   //Touchpad should have POINTER type
   lv_indev_set_read_cb(indev, my_touchpad_read);
 }
 //====================================================
 void my_touchpad_read(lv_indev_t *indev, lv_indev_data_t *data) {
   uint16_t touchX, touchY;
   bool touched = tft.getTouch( &touchX, &touchY );
   if(!touched){ data->state = LV_INDEV_STATE_REL; return;}
   if(touchX < screenWidth && touchY < screenWidth{
   data->state = LV_INDEV_STATE_PR;
     data->point.x = touchX;
     data->point.y = touchY;
     //Serial.printf("%d,%d\n", touchX, touchY);
   }
 }
 //=====================================================

  
4. setup:
 * lvgl, display , touch を Initialize します。
 * LVGLの表示とタッチの準備ができました。
 * これ以降に example とかを配置し実行されます。

 //===================================================== 
 void setup(){
   tft.begin();
   tft.setRotation(1);
   tft.fillScreen(TFT_BLUE);
   lv_init();
   init_display();
   init_touch();

   lv_example_button_2();
 }
 //======================================================

  
5. loop:
 * v8 では lv_timer_handler でしたが v9 では lv_task_handler。
 * 正しい時間を取得するために tick を使用します。
 * この tick が無いと touch は動作しません。
 * v8 との大きな違いです。

 //======================================================
 void loop(){
   lv_task_handler();
   unsigned long tick_millis = millis() - lvgl_tick_millis;
   lvgl_tick_millis = millis();
   lv_tick_inc(tick_millis);
   yield();
   delay(5);
 }
 //======================================================

  
6. demos と example Folder:
 6-1. lvgl の中に demos があります。この位置では呼び出せません。
    呼び出す為には demos Folder を src Foleder内に移動します。
 6-2. lvgl の中に example があります。この位置では呼び出せません。
    呼び出す為には example Folder を src Foleder内に移動します。
    
 6-3. demos と example を使用する為に Libraryと変数設定の下に追加(12,13,14)します。

 #pragma GCC optimize("Ofast")
 #include <SPI.h>
 #include <lvgl.h>
 #define LGFX_USE_V1
 #include <LovyanGFX.hpp>
 #include "lgfx_NT35510.h"
 static const uint32_t screenWidth  = 800;
 static const uint32_t screenHeight = 480;
 static uint8_t draw_buf[screenWidth*screenHeight/10];
 static ulong lvgl_tick_millis = millis();

 #include <examples/lv_examples.h>
 #include <examples/widgets/lv_example_widgets.h>
 #include <demos/lv_demos.h>
 

  
 6-4. コンパイル時にエラーが出る為に 3箇所 修正し入れ替えます。
   「実例:basic_configuration.zip」で DLした
    lv_demo_benchmark.c と lv_demo_music.c と lv_demo_render.c
     の修正済みを入れ替えます。
    1. 修正内容:lvgl / src / demos / benchmark / lv_demo_benchmark.c
     27 ../../ を ../ に変更。
     28 ../../ を ../ に変更。
    2. 修正内容:lvgl / src / demos / music / lv_demo_music.c
     13 ../../ を ../ に変更。
    3. 修正内容:lvgl / src / demos / render / lv_demo_render.c
     13 ../../ を ../ に変更。
     14 ../../ を ../ に変更。
    コンパイル時に関連する箇所も見るようで エラーが出る場合があります。
 6-5. include で example や demos等を接定すると関連先をチェックしながら進みます。
    関連先が不完全の場合 エラーが出ます。lv_conf.h 設定との関係もあります。
    LVGL9 documentationを読むのは重要です。ただし v8 までしか選択できません。
    LVGL forum も参考になります。
 6-6. Memory : demos の4つのデモは 大きなMemory容量を必要とします。
     Spresense は “768 KB (Default)” で不足しますので 最大 “1536 KB” にします。
     ESP32 S3 ( ESP32-S3-WROOM-1-N16R8 ) は 16MB Flashです。
     N16R8の書き込める最大容量は 3.3MBです。画像等を多用する時は注意します。
 6-7. exampleを Librayから呼ぶ方法もありますがスケッチ内への配置も可能です。
 6-8. demos や example 内のスケッチを .bin file にすると50MB程になります。
    ESP32 S3 は. .bin file があると PC上の ESP32 S3(USB OTG:ESP32-FWMSC)
    アイコンに Drag & Drop で動作します。
  


  
感想:
 V9 のサンプルを動かせる様になりました。
 V7 でなんとか動作し V8 で 命令の変更等で全てのサンプル動作をチェック。
 その内に V9 が出てきて 再度 全てのサンプルをチェックしました。
 全体像が少し把握できた感じで 忘れない内に 備忘録として まとめておきました。
  
 画面サイス:
  冒頭の画像を見ると解りますが 画面が小さいと 見ずらいです。
  操作もしにくいです。よって 4 inch 800 x 480 が必要になります。
  さらに Parallel 接続が必要になります。

 ESP32 S3 USB OTG:
  USB OTG で bin を S3のアイコンに Dog and Drop するとデモが起動します。
  既に 79の bin のデモ ( 50MB ) を作成してあり 直ぐ試すことができています。
  
 SPI接続:
  SPI接続の表示速度は遅いです。特に demos の様な大きな容量は 遅くなります。
  
  
  
  
  


LVGL9 , example , demos ,

Written by macsbug

3月 22, 2024 at 4:42 pm

カテゴリー: ESP32, M5STACK, SPRESENSE