
スタックチャンに GETコマンドを実装しようとしたら、server.streamFile( ) の所でロックしてしまった。エラーメセージから、 SDカードへの同時アクセスが原因かと思っていたら、そう単純ではないらしい。
① M5Core2_SG90_StackChan_VoiceText_Ataru
② M5Unified_StackChan_ChatGPT
でいろいろ試してみたところ、
cps->set(COLOR_PRIMARY, TFT_WHITE);
cps->set(COLOR_BACKGROUND, TFT_BLACK);
cps->set(COLOR_SECONDARY, TFT_WHITE);
Avatar avatar.setColorPalette(*cps)
と、COLOR_BACKGROUND に TFT_BLACK を設定すると SDアクセスのエラーが頻発して、server.streamFile( ) から戻ってこなくなる様だった。それを、
cps->set(COLOR_PRIMARY, TFT_BLACK);
cps->set(COLOR_BACKGROUND, TFT_WHITE);
cps->set(COLOR_SECONDARY, TFT_WHITE);
のように、バックグラウンドを白にするとエラーで止まることは無くなる。でも、② M5Unified_StackChan_ChatGPT で試すと、server.streamFile( ) で凄く時間が掛かってしまっている。① は、普通の速度で、セーフ。
「なんで、バックグラウンド・カラーが影響してんねん」
この対策をした『ぴっぴちゃん』は、上の写真の様な顔になる

Avatar ライブラリーに問題があるのかは、特定できていない。てか、ソースを読む気にならない。この問題は、とりあえず、バックグラウンドを白にしておけば動くので、一時棚上げして、次のテーマに入る。