!esp8266game
>>
text data bss dec hex filename
227180 2372 62232 291784 473c8 .pioenvs\esp_wroom_02\firmware.elf
<<
|text|227.1K|flash
|data|2.3K|flash + ram?
|bss|62.2K|variable
|dec|291.8K|total?
つまり
|place|now|max|memo
|flash|229.4K|4MB|余裕
|ram|64.5K|80K|VRAMとして使ってるから工夫すれば減らせそう
VRAM 16bit * 128 * 160 = 40960byte = 40.960Kbyte
パレットにすればかなり抑えられそう。
それでも16Kくらい余っている。Arduinoの時はそもそもが2Kしかなかったからすごい進歩だ。
そして128*64=8192bit=1024byte=1KをVRAMにしていたわけで残りは1Kだった。
!SSL通信できない
できないとき
>>
text data bss dec hex filename
280806 8728 62728 352262 56006 .pioenvs\esp_wroom_02\firmware.elf
<<
できるとき
>>
text data bss dec hex filename
276630 8544 29936 315110 4cee6 .pioenvs\esp_wroom_02\firmware.elf
<<
bssが多すぎるとだめか?RAMが足りないという説
RAMをケチってみる
>>
text data bss dec hex filename
284614 8784 29968 323366 4ef26 .pioenvs\esp_wroom_02\firmware.elf
<<
できた
やはりRAMらしい
>>
text data bss dec hex filename
282838 8792 46344 337974 52836 .pioenvs\esp_wroom_02\firmware.elf
<<
これでもできた httpsでつなぐときはBSSに注意する必要があるのだな
{{embed https://twitter.com/elect_gombe/status/846297562684411905}}
とのこと
できないときは data:8728, bss:62738で、合計71466, 80Kからすると9K程度空いているということで、確かに17Kは確保できていない。
メモリをつかう大半の理由は画面のダブルバッファリングだから、通信中は解放できるような仕組みにしても良いかもしれない。通信中は画面を動かすということはできなくなるが、そもそもCPUが忙しいので、画面は止めておくのがよさそう
!参考
- Adafruit GFX Graphics Libraryで行間を調節する https://github.com/adafruit/Adafruit-GFX-Library/blob/master/gfxfont.h
- いい感じの小さなフォント http://blog.mclemon.io/hacking-a-tiny-new-font-for-the-ssd1306-128x64-oled-screen
- 贅沢にArduinoのStringを使う https://www.arduino.cc/en/Reference/StringConstructor
- WifiClientSecureというのを使った http://eleclog.quitsq.com/2015/11/esp8266-https.html
-- HTTPClientでもTLS接続できる?
- wikipediaのAPI http://stackoverflow.com/questions/8555320/is-there-a-clean-wikipedia-api-just-for-retrieve-content-summary
- Adafruit GFX Graphics Libraryフォント周りhttps://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts
- Adafruit GFX Graphics Library 詳細 https://cdn-learn.adafruit.com/downloads/pdf/adafruit-gfx-graphics-library.pdf
- platformio ESP8266 http://docs.platformio.org/en/latest/platforms/espressif8266.html
- ESP8266をCUIで開発する http://qiita.com/hotchpotch/items/81162efb86d12b74c41a
- ESP8266 RAM周り http://tech.scargill.net/esp8266-ram/
- ESP8266用 ILI9163ライブラリ https://github.com/joaquimorg/ESP8266/tree/master/ILI9163
5643382
wiki
1490619841