FabGLはFabrizio Di Vittorio氏によって公開されたプロジェクトで、github.comで入手できます。
DEKOのアヤシいお部屋さんのPCEmulator (FabGL)に関する詳細な情報が提供されており、日本で一番詳しい情報源と思われます。PCEmulatorの作成方法や操作方法を熟読することをお勧めします。
南極獅子さんによる電子工作向けの作品もあります。この作品は南極獅子さんのGithubで公開されており、「かっこよかった」という理由からこの作品を作成することを決めました。
JLPCBを使って基板を発注し、紫の基板が届きました。基板には南極獅子さんの指定する部品を実装しますが、苦労も待ち受けています。
最初にFabGLのPCEmulatorを使いたかったため、ESP32-DevKitC-VEが必要でした。通常のESP32WROOM-32Dでも問題ないのですが、PCEmulatorを使用する場合はESP32-DevKitC-VEが必要になります。これはPSRAMの有無の違いによるものです。
今回はbasara767676さんのPC8001FabGLという作品になります。
完成したFabGLですが、動作しない問題が発生しました。SDカードが見つかりませんとのエラーメッセージが表示されます。
南極獅子さんからのアドバイスをいただいた後、引き続きSDカードが見つからない問題に直面していました。
アドバイスに従ってピン設定を変更しましたが、問題は解決せず、状況は依然として困難でした。
アドバイスによるピン設定の変更は以下の通りです。
FabGLからだとSDカードはFileBrowserのオブジェクトでピン設定ができるので、
bool r = fb.mountSDCard(false, "/SD", 1, (16*1024), GPIO_NUM_35, GPIO_NUM_12, GPIO_NUM_14, GPIO_NUM_13);
PCEmulatorの391行目、
if (!FileBrowser::mountSDCard(false, SD_MOUNT_PATH, 8,(16*1024), GPIO_NUM_35, GPIO_NUM_12, GPIO_NUM_14, GPIO_NUM_13));
この問題により、私は困難な状況に立たされました。これはかなり深刻な問題であり、TFカードスロットの不良が原因ではないかと考えました。
HardwareTest.inoを書き込んだ結果、書き込みは成功しました。その後、TFカードの動作確認を行いましたが、結果は失敗となりました。
その後、色々な試行錯誤を行った結果、TFカードスロットの不良が確定しました。この問題の原因としては、TFカードスロットの半田付け不良か損傷が考えられます。
壱号機として完成した初期の作品は、このTFカードスロットの不良により解体せざるを得なくなりました。そこで、新たに弐号機を製作し、改めてTFカードスロットの問題を解決することにしました。
弐号機による再挑戦が始まり、苦労しながらも問題を克服していきました。そして、TFカードスロットを正常に動作させることに成功しました。
そこで、弐号機を作成し、南極獅子さんに教わった方法を試しました。これにより、PC8001FabGLが動作するようになりました。