2025年10月6日月曜日

バーサライタ方式の電光掲示板3 (フォントデータの第2水準対応)

 「バーサライタ方式の電光掲示板2」では、第1水準漢字まで対応するようにしました。

その後、BDFデータが第2水準漢字まで対応しているため、第2水準漢字まで変換できるようにしました。


第2水準漢字対応の時のメモリ領域

 第2水準まで対応させると、データ量が多くなるため、より多くのフラッシュメモリを必要とします。


 単純に合計するとデータ量は1.93MBのため、「Partition Scheme」を「No OTA(2MB APP/2MB SPIFFS)」にして、LittleFSにデータを転送すると、エラーとなります。

 1レコードのブロック長が4096バイトのため、4096バイト単位でファイルの読み書きが行われることになります。このため、1バイト書き込んでも、4096バイト必要になります。
 また、LittlesFSで確保されるサイズは0x1e0000=480ブロック(0x1e0000/4096=480)となります。
 今回、書き込むファイルから、必要となるブロック数は493ブロックのため、13ブロック、わずか52kB不足することになります。


 第2水準漢字に対応するには「Partition Scheme」を「No OTA(1MB APP/3MB SPIFFS)」として、LittleFSの領域を3MBにする必要があります。
 その分、プログラムを格納するエリアが1MBとなり、WiFiやWebServerなどライブラリの容量を多く使う場合に、プログラム領域が不足することになります。
 このため、以前の投稿では第1水準のみにして、「Partition Scheme」を標準の「Default 4MB with spiffs(1.2MB APP/1.5MB SPIFFS)」でも動作するようにしました。

第2水準対応のライブラリとサンプルプログラム

 第2水準対応のライブラリ・サンプルプログラム(ファイル名: disp_jiskan24dot-jis2.zip)をアップします。
 メインとなるプログラムは、データチェック用も兼ねて、半角・全角文字を表示させる部分を残してあります(コメントアウトしています)。
 

0 件のコメント:

コメントを投稿

LEDマトリックス表示装置の設計・製作 9(画像表示)

  LEDマトリックスに画像を表示させるには、いろいろな画像形式を知る必要があります。現在、よく使われるJPG形式やPNG形式は圧縮処理されて保存されています。これに対して、BMP形式やTIFF形式は非圧縮形式で、画像データがそのまま保存されています。このため、ファイルは大きくな...