diff --git a/README.md b/README.md
index b070edf..8a2f60c 100644
--- a/README.md
+++ b/README.md
@@ -2,54 +2,119 @@
https://user-images.githubusercontent.com/26270227/186464005-bfc6b1c4-3f5c-4e7f-b2bc-fb4b9d4b0df4.mp4
-|天気予報|気象衛星ひまわり画像|
-|---|---|
-|| |
+|天気予報|気象衛星ひまわり画像|WxBeacon2|WEATHEROID TypeA Airi ちゃん|
+|---|---|---|---|
+|| || |
-* WxBeacon2 から情報を取得し、ティッカーに表示、ポン子ちゃんアバターがアナウンスします。
-* 気象庁の天気予報 JSON データを取得し、全国の天気を表示、ポン子ちゃんアバターがアナウンスします。
-* **(Core2 のみ)** 気象衛星ひまわりの画像を取得し表示します。
-
## 概要
-[株式会社ウェザーニューズ](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%82%B6%E3%83%BC%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%BA)(以下 WNI )による 24 時間お天気番組[ウェザーニュースLiVE](https://weathernews.jp/web910/) とリンクしたアプリケーション [ウェザーニュース](https://weathernews.jp/app/) では サンクスポイント 2000 pt以上取得すると[ウェザービーコン2](https://weathernews.jp/smart/wxbeacon2/)(以下 WxBeacon2 ) をゲットできます。(別途[有償購入](https://weathernews.jp/sorashop/)も可能)
-
-|WxBeacon2|WEATHEROID TypeA Airi ちゃん|
-|---|---|
-|| |
-
+* WxBeacon2 から情報を取得し、ティッカーに表示、アバターがアナウンスします。
+* 気象庁の天気予報 JSON データを取得し、全国の天気を表示、アバターがアナウンスします。
+* **(PSRAM 搭載デバイスのみ)** 気象衛星ひまわりの画像を取得し表示します。
-M5Stack Basic, Gray, Core2 にて WxBeacon2 や気象庁からデータを取得し、
+M5Stack シリーズにて WxBeacon2 やインターネット経由でデータを取得し、
[AquesTalk ESP32](https://www.a-quest.com/products/aquestalk_esp32.html) で喋らせるアプリケーションです。
-どうせならウェザーニュースLiVE のマスコット、ポン子こと [WEATHEROID TypeA Airi](https://twitter.com/typea_airi) ちゃんに喋らせようという事で、アバターポン子ちゃんを作りました。
-
-
-## 必要なもの
+どうせならウェザーニュースLiVE のマスコット、ポン子こと [WEATHEROID TypeA Airi](https://twitter.com/typea_airi) ちゃんに喋らせようという事で、アバターポン子ちゃんを作りました。
+(ポン子ちゃんアバターこのリポジトリには含まれません、[こちら](#画像リソース)を参照して自作する必要があります)
-* M5Stack
-M5Stack Basic, Gray, Core2 のいずれか。
+### WxBeacon2
-* Wi-Fi接続可能な機器
-ルータやモバイル Wi-Fi 等。
+[株式会社ウェザーニューズ](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%82%B6%E3%83%BC%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%BA)(以下 WNI )による 24 時間お天気番組[ウェザーニュースLiVE](https://weathernews.jp/web910/) とリンクしたアプリケーション [ウェザーニュース](https://weathernews.jp/app/) では サンクスポイント 2000 pt 以上取得すると[ウェザービーコン2](https://weathernews.jp/smart/wxbeacon2/)(以下 WxBeacon2 ) をゲットできます。(別途[有償購入](https://weathernews.jp/sorashop/)も可能)
-* (持っていれば) WxBeacon2
実体は [OMRON 2JCIE-BL01](https://components.omron.com/jp-ja/products/sensors/2JCIE-BL) です。
WxBeacon2 でなく当該製品でも動作すると思われます(手元に無いので未確認)。
-## コンパイル
+
+## 対応デバイス
+M5Stack Basic, Gray, Core2 等の Wi-Fi / BLE 通信が可能で、M5Unfied が動作する物。
+
+## ビルド
### 依存ライブラリ
-* [M5Unified](https://github.com/m5stack/M5Unified) 0.1.3 or later (depends on [M5GFX](https://github.com/m5stack/M5GFX) 0.1.3 or later)
-* [NimBLE-Arduino](https://github.com/h2zero/NimBLE-Arduino) 1.4.0 or later
-* [gob_json](https://github.com/GOB52/gob_json.git) 0.0.3 or later
-* [gob_datetime](https://github.com/GOB52/gob_datetime.git) 0.1.1 or later
-* [AquesTalk ESP32](https://www.a-quest.com/products/aquestalk_esp32.html) 2.21 or later
+* [M5Unified](https://github.com/m5stack/M5Unified) 0.1.6
+* [M5GFX](https://github.com/m5stack/M5GFX) 0.1.6
+* [NimBLE-Arduino](https://github.com/h2zero/NimBLE-Arduino) 1.4.0
+* [gob_json](https://github.com/GOB52/gob_json.git) 0.0.4
+* [gob_datetime](https://github.com/GOB52/gob_datetime.git) 0.1.1
+* [AquesTalk ESP32](https://www.a-quest.com/products/aquestalk_esp32.html) 2.21
AquesTalk ESP32 は [こちら](https://www.a-quest.com/download.html) よりダウンロード後、プロジェクトの lib フォルダ(無ければ作成)に展開してください。
-### 画像リソース
-初期状態ではダミーとして私が作った顔とロゴが使用されます。
+### ビルド種別によって依存
+* [M5Stack-SD-Updater]([https://github.com/tobozo/M5Stack-SD-Updater) 1.2.5
+
+### 動作設定
+
+* タイムゾーン設定
+コンパイル時のオプション **M5S_WXBEACON2_TIMEZONE_LOCATION** (文字列) で指定します。
+デフォルトは **"Asia/Tokyo"** です。(M5Stack 内部では POSIX 表記を用いて設定されます)
+
+* データ自動取得間隔の設定
+コンパイル時のオプション **M5S_WXBEACON2_AUTO_REQUEST_INTERVAL_SEC** (数値)で指定します。
+デフォルトは 300 (5分間隔) です。
+(Core2 ではひまわりの画像取得のインターバルとなります)
+
+* ランダムお喋り間隔の設定
+コンパイル時のオプション **M5S_WXBEACON2_AUTO_TALK_INTERVAL_SEC** (数値)で指定します。
+デフォルトは 60 (1分間隔) です。
+
+
+### Wi-Fi SSID password
+
+インターネット経由のデータ取得と時刻設定の為、Wi-Fi 接続を行います。
+また RTC 非搭載デバイスでは起動時に Wi-Fi 接続で NTP サーバーへの接続を行います。
+(時刻の表示並びに、 WxBeacon2 のモードを出荷時に戻す際に、蓄積データの基準時刻を書き込む必要がある為)
+
+前もって接続する Wi-Fi の SSID とパスワードをハードに書き込む必要があります。(WiFi.begin() を引数なしで呼ぶと保存されている情報を元に接続します)
+
+SmartConfig 等を利用して SSID とパスワード書き込むか、 WiFi.begin(ssid, password); として一旦接続させるかして、ハードに情報を保存してください。
+@tnkmasayuki さんによる記事 [Lang-ship](https://lang-ship.com/blog/work/esp32-wi-fi-setting/) が参考になるでしょう。
+
+### AquesTalk ESP32 ライセンス
+評価版では諸々の制限があります。ライセンスを取得した場合は、 src/aq_talk.cpp のライセンス部分を書き換えてください。
+
+```cpp
+bool initialize(const UBaseType_t priority, const BaseType_t core, aq_talk_callback f)
+{
+ if(!task_handle)
+ {
+ xTaskCreateUniversal(talk_task, "aq_talk_task", 4 * 1024, nullptr, priority, &task_handle, core);
+ callbackOnEnd = f;
+ return task_handle
+ && CAqTkPicoF_Init(workbuf, LEN_FRAME, "XXX-XXX-XXX") == 0; // ここにライセンスコード
+ }
+ return true;
+}
+```
+
+## 動作
+
+WxBeacon2 は通常(出荷時状態)、計測データを内部に蓄積しますが、このアプリケーションでは蓄積モードではなく、ブロードキャストモードを利用します。後述の操作方法(\*1)より、ブロードキャストモードに変更する必要があります。
+**なおモードを変更した場合、蓄積したデータは全て失われる点、ウェザーニュースアプリとの連携ができなくなる点には注意です。**
+**後述の操作方法(\*2)によって出荷時に状態を戻し、再びウェザーニュースアプリとの連携を取ることができるようになります。**
+モードがブロードキャストモードではない場合は、ティッカーが紫色となり、ティッカーにその旨表示されます。。
+ブロードキャストモードであれば、起動時にデータを取得、ティッカーに表示してポン子ちゃんが喋ります。その際のティッカーの色は WBGT (熱中症危険度) のレベルに応じて青、黄、赤のいずれかの色となります。
+気象衛星ひまわりの画像の受信と表示は、メモリを大量に消費する為 PSRAM 搭載デバイスのみの動作(\*3)となります。
+
+### 操作方法
+
+|ボタン| 長押し(1.5秒以上) | クリック |
+|---|---|---|
+|A | 全国の天気を取得して喋る [Wi-Fi 通信] | WxBeacon2のデータを取得して喋る[BLE 通信]|
+|B | (\*2)WxBeacon2 を出荷時の状態へ戻す [BLE 通信] | (\*3)ひまわりの画像の受信と表示(PSRAM 搭載デバイスのみ) [Wi-Fi 通信]|
+|C | (\*1)WxBeacon2 をブロードキャストモードに変更する [BLE 通信] | ティッカー表示の ON/OFF |
+
+各通信は排他的に動作するので、通信動作させるボタンは通信中は動作しません。
+通信中は画面左下に Wi-Fi か BT マークが点滅表示されています。
+
+
+C 長押しでブロードキャストモードに上手くならなかった場合は、 B 長押しで出荷時に戻して再度試してください。
+
+
+## 画像リソース
+初期状態ではダミーとして私が作った顔とロゴが使用されます。
+
**権利上の問題でポン子ちゃんの画像などは当リポジトリには含まれません。**
ポン子ちゃんや他の画像を使いたい場合、自分で以下の条件を満たす画像を作成し、ソースファイルとして共にコンパイルする必要があります。
ダミーリソースは全て weak symbol として定義されているので、ダミーリソースのソースファイルは削除する必要はありません。
@@ -110,70 +175,6 @@ const size_t ponko_face_bmp_len = 38518;
詳しくは [各リソースの定義](src/res/resource.h) を参照してください。
-### 動作設定
-
-* タイムゾーン設定
-コンパイル時のオプション **M5S_WXBEACON2_TIMEZONE_LOCATION** (文字列) で指定します。
-デフォルトは **"Asia/Tokyo"** です。(M5Stack 内部では POSIX 表記を用いて設定されます)
-
-* データ自動取得間隔の設定
-コンパイル時のオプション **M5S_WXBEACON2_AUTO_REQUEST_INTERVAL_SEC** (数値)で指定します。
-デフォルトは 300 (5分間隔) です。
-(Core2 ではひまわりの画像取得のインターバルとなります)
-
-* ランダムお喋り間隔の設定
-コンパイル時のオプション **M5S_WXBEACON2_AUTO_TALK_INTERVAL_SEC** (数値)で指定します。
-デフォルトは 60 (1分間隔) です。
-
-
-### Wi-Fi SSID password
-
-指定したタイムゾーンでの時刻取得の為、起動時に Wi-Fi 接続で NTP サーバーへの接続を行います。
-(時刻の表示並びに、 WxBeacon2 のモードを出荷時に戻す際に、蓄積データの基準時刻を書き込む必要がある為)
-前もって接続する Wi-Fi の SSID とパスワードをハードに書き込む必要があります。(WiFi.begin() を引数なしで呼ぶと保存されている情報を元に接続します)
-SmartConfig 等を利用して SSID とパスワード書き込むか、 WiFi.begin(ssid, password); として一旦接続させるかして、ハードに情報を保存してください。
-@tnkmasayuki さんによる記事 [Lang-ship](https://lang-ship.com/blog/work/esp32-wi-fi-setting/) が参考になるでしょう。
-
-### AquesTalk ESP32 ライセンス
-評価版では諸々の制限があります。ライセンスを取得した場合は、 src/aq_talk.cpp のライセンス部分を書き換えてください。
-
-```cpp
-bool initialize(const UBaseType_t priority, const BaseType_t core, aq_talk_callback f)
-{
- if(!task_handle)
- {
- xTaskCreateUniversal(talk_task, "aq_talk_task", 4 * 1024, nullptr, priority, &task_handle, core);
- callbackOnEnd = f;
- return task_handle
- && CAqTkPicoF_Init(workbuf, LEN_FRAME, "XXX-XXX-XXX") == 0; // ここにライセンスコード
- }
- return true;
-}
-```
-
-## 動作
-
-WxBeacon2 は通常(出荷時状態)、計測データを内部に蓄積しますが、このアプリケーションでは蓄積モードではなく、ブロードキャストモードを利用します。後述の操作方法(\*1)より、ブロードキャストモードに変更する必要があります。
-**なおモードを変更した場合、蓄積したデータは全て失われる点、ウェザーニュースアプリとの連携ができなくなる点には注意です。**
-**後述の操作方法(\*2)によって出荷時に状態を戻し、再びウェザーニュースアプリとの連携を取ることができるようになります。**
-モードがブロードキャストモードではない場合は、ティッカーが紫色となり、ティッカーにその旨表示されます。。
-ブロードキャストモードであれば、起動時にデータを取得、ティッカーに表示してポン子ちゃんが喋ります。その際のティッカーの色は WBGT (熱中症危険度) のレベルに応じて青、黄、赤のいずれかの色となります。
-
-
-## 操作方法
-
-|ボタン| 長押し(1.5秒以上) | クリック |
-|---|---|---|
-|A | 全国の天気を取得して喋る [Wi-Fi 通信] | WxBeacon2のデータを取得して喋る[BLE 通信]|
-|B | (\*2)WxBeacon2 を出荷時の状態へ戻す [BLE 通信] | |
-|C | (\*1)WxBeacon2 をブロードキャストモードに変更する [BLE 通信] | ティッカー表示の ON/OFF |
-
-各通信は排他的に動作するので、通信動作させるボタンは通信中は動作しません。
-通信中は画面左下に Wi-Fi か BT マークが点滅表示されています。
-
-
-C 長押しでブロードキャストモードに上手くならなかった場合は、 B 長押しで出荷時に戻して再度試してください。
-
## Zenn の記事
- WxBeacon2 と M5Stack との NumBLE によるやり取り
こちらで[記事](https://zenn.dev/gob/articles/wxbeacon2_000_bbc2e4106f701c)にしました。
diff --git a/platformio.ini b/platformio.ini
index d7648c2..cc5569d 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -11,14 +11,15 @@ framework = arduino
board_build.flash_mode = qio
board_build.f_flash = 80000000L
-board_build.f_cpu = 240000000L
+board = m5stack-core-esp32
+board_build.partitions = min_spiffs.csv
; https://www.a-quest.com/download.html Download AquesTalk ESP32 and extract ./lib folder.
lib_ldf_mode = deep
-lib_deps = https://github.com/M5Stack/M5Unified.git @ ^0.1.6
- h2zero/NimBLE-Arduino @ ^1.4.0
- https://github.com/GOB52/gob_json.git @ ^0.0.4
- https://github.com/GOB52/gob_datetime.git @ ^0.1.1
+lib_deps = https://github.com/M5Stack/M5Unified.git @ 0.1.6
+ h2zero/NimBLE-Arduino @ 1.4.0
+ https://github.com/GOB52/gob_json.git @ 0.0.4
+ https://github.com/GOB52/gob_datetime.git @ 0.1.1
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
@@ -29,6 +30,7 @@ upload_speed = 921600
; M5S_WXBEACON2_AUTO_REQUEST_INTERVAL_SEC : Auto request interval (Unit: second)
; M5S_WXBEACON2_AUTO_TALK_INTERVAL_SEC : Auto talk interval (Unit; second)
build_flags = -Wall -Wextra -Wreturn-local-addr -Werror=format -Werror=return-local-addr
+ -D BOARD_HAS_PSRAM
-D M5S_WXBEACON2_TIMEZONE_LOCATION=\"Asia/Tokyo\"
-D M5S_WXBEACON2_AUTO_REQUEST_INTERVAL_SEC=300
-D M5S_WXBEACON2_AUTO_TALK_INTERVAL_SEC=60
@@ -55,88 +57,31 @@ build_flags = -DCORE_DEBUG_LEVEL=5
-DWB2_LOG_LEVEL=5
-DMYNEWT_VAL_BLE_HS_LOG_LVL=0
-; Choose board
-[core2_env]
-board = m5stack-core2
-
-[m5s_env]
-board = m5stack-core-esp32
-board_build.partitions = min_spiffs.csv
-
;-----------------------------------------------------------------------
-; M5Stack Core2
-[env:core2_master]
-extends = core2_env
+[env:master]
build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DNDEBUG
+build_flags=${env.build_flags} ${option_release.build_flags} -DNDEBUG
-[env:core2_release]
-extends = core2_env
+[env:master_SDU]
build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue
-
-[env:core2_master_SDU]
-extends = core2_env
-build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DNDEBUG -DM5S_WXBEACON2_ENABLE_SD_UPDATER
-lib_deps = ${env.lib_deps}
- tobozo/M5Stack-SD-Updater
-
-[env:core2_release_SDU]
-extends = core2_env
-build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DM5S_WXBEACON2_ENABLE_SD_UPDATER
+build_flags=${env.build_flags} ${option_release.build_flags} -DNDEBUG -DM5S_WXBEACON2_ENABLE_SD_UPDATER
lib_deps = ${env.lib_deps}
- tobozo/M5Stack-SD-Updater
-
-[env:core2_log]
-extends = core2_env
-build_type=release
-build_flags=${env.build_flags} ${option_log.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue
-
-[env:core2_debug]
-extends = core2_env
-build_type=debug
-build_flags=${env.build_flags} ${option_debug.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue
-
-; M5Stack BASIC
-[env:basic_master]
-extends = m5s_env
-build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DNDEBUG
-
-[env:basic_release]
-extends = m5s_env
-build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags}
+ tobozo/M5Stack-SD-Updater @ 1.2.5
-[env:basic_master_SDU]
-extends = m5s_env
+[env:release]
build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DNDEBUG -DM5S_WXBEACON2_ENABLE_SD_UPDATER
-lib_deps = ${env.lib_deps}
- tobozo/M5Stack-SD-Updater
+build_flags=${env.build_flags} ${option_release.build_flags}
-[env:basic_release_SDU]
-extends = m5s_env
+[env:release_SDU]
build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -DM5S_WXBEACON2_ENABLE_SD_UPDATER
+build_flags=${env.build_flags} ${option_release.build_flags} -DM5S_WXBEACON2_ENABLE_SD_UPDATER
lib_deps = ${env.lib_deps}
- tobozo/M5Stack-SD-Updater
-
-[env:basic_map]
-extends = m5s_env
-build_type=release
-build_flags=${env.build_flags} ${option_release.build_flags} -Wl,-Map,output.map
+ tobozo/M5Stack-SD-Updater @1.2.5
-[env:basic_log]
-extends = m5s_env
+[env:log]
build_type=release
-build_flags=${env.build_flags} ${option_log.build_flags}
+build_flags=${env.build_flags} ${option_log.build_flags}
-[env:basic_debug]
-extends = m5s_env
+[env:debug]
build_type=debug
-build_flags=${env.build_flags} ${option_debug.build_flags}
-
-
+build_flags=${env.build_flags} ${option_debug.build_flags}
diff --git a/src/himawari/himawari_screen.cpp b/src/himawari/himawari_screen.cpp
index 13c90f5..d740055 100644
--- a/src/himawari/himawari_screen.cpp
+++ b/src/himawari/himawari_screen.cpp
@@ -1,8 +1,7 @@
/*
Render himawari image
- */
-#ifdef ARDUINO_M5STACK_Core2
-
+ WARNING : Works only with devices that have PSRAM (Need huge memories)
+*/
#include "himawari_screen.hpp"
#include "wb2/wxbeacon2_log.hpp"
#include "res/resource.h"
@@ -29,5 +28,3 @@ void HimawariScreen::render(m5gfx::M5GFX* dst, const bool force)
dst->setFont(ofont);
dst->setTextColor(TFT_WHITE, TFT_BLACK);
}
-
-#endif
diff --git a/src/himawari/himawari_screen.hpp b/src/himawari/himawari_screen.hpp
index f28f351..3c6dd36 100644
--- a/src/himawari/himawari_screen.hpp
+++ b/src/himawari/himawari_screen.hpp
@@ -1,9 +1,9 @@
/*
Render himawari image
- */
-#ifdef ARDUINO_M5STACK_Core2
-# ifndef HIMAWARI_SCREEN_HPP
-# define HIMAWARI_SCREEN_HPP
+ WARNING : Works only with devices that have PSRAM (Need huge memories)
+*/
+#ifndef HIMAWARI_SCREEN_HPP
+#define HIMAWARI_SCREEN_HPP
#include
#include
@@ -32,5 +32,4 @@ class HimawariScreen
const uint8_t* _jpg{};
};
-# endif
#endif
diff --git a/src/himawari/himawari_task.cpp b/src/himawari/himawari_task.cpp
index f7b063d..ff57c78 100644
--- a/src/himawari/himawari_task.cpp
+++ b/src/himawari/himawari_task.cpp
@@ -1,9 +1,7 @@
/*
Request image of Weather Satellite "Himawari"
- M5Stack Core2 only
+ WARNING : Works only with devices that have PSRAM (Need huge memories)
*/
-#ifdef ARDUINO_M5STACK_Core2
-
#include
#include
#include
@@ -85,9 +83,9 @@ PROGMEM const char* areaTable[] =
PROGMEM const char HIMAWARI_URI_FORMAT[] = "https://www.data.jma.go.jp/mscweb/data/himawari/img/%s/%s_%s_%02d%02d.jpg";
// DigiCert Global Root CA of www.data.jma.go.jp.
-// Expire at Mon, 10 Nov 2031 00:00:00 GMT
+// If you get an X509 error, get the latest root certificate and rewrite this part.
PROGMEM const char root_ca_ECC[] =
- R"***(-----BEGIN CERTIFICATE-----
+R"***(-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl
MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe
U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX
@@ -295,4 +293,3 @@ bool request(const goblib::datetime::OffsetDateTime& odt, const Area area, const
}
//
}
-#endif
diff --git a/src/himawari/himawari_task.hpp b/src/himawari/himawari_task.hpp
index bdd6705..7db0168 100644
--- a/src/himawari/himawari_task.hpp
+++ b/src/himawari/himawari_task.hpp
@@ -1,10 +1,9 @@
/*
Request image of Weather Satellite "Himawari"
- M5Stack Core2 only
+ WARNING : Works only with devices that have PSRAM (Need huge memories)
*/
-#ifdef ARDUINO_M5STACK_Core2
-# ifndef HIMAWARI_TASK_HPP
-# define HIMAWARI_TASK_HPP
+#ifndef HIMAWARI_TASK_HPP
+#define HIMAWARI_TASK_HPP
#include "himawari.hpp"
#include
@@ -21,5 +20,4 @@ bool request(const goblib::datetime::OffsetDateTime& odt, const Area = Area::Jap
//
}
-# endif
#endif
diff --git a/src/jma/jma_task.cpp b/src/jma/jma_task.cpp
index f59583c..ba317a9 100644
--- a/src/jma/jma_task.cpp
+++ b/src/jma/jma_task.cpp
@@ -19,6 +19,7 @@ jma::progress_callback callbackOnProgress;
PROGMEM const char JMA_FORECAST_URI_FORMAT[] = "https://www.jma.go.jp/bosai/forecast/data/forecast/%06d.json";
// DigiCert Global Root CA of www.jma.go.jp.
+// If you get an X509 error, get the latest root certificate and rewrite this part.
PROGMEM const char root_ca_JMA[] =
R"***(-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl
diff --git a/src/main.cpp b/src/main.cpp
index 3dd542d..b113606 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,21 +1,21 @@
/*!
- Ponko avatar with WxBeacon2
- Receive data from WxBeacon2 (https://jp.weathernews.com/)
- [OEM OMRON 2JCIE-BL01]
+ Data from WxBeacon2 is received and displayed with avatars.
+ WxBeacon2 (https://jp.weathernews.com/) [OEM OMRON 2JCIE-BL01]
@file main.cpp
@brief Program entry
*/
-#ifdef ARDUINO_M5STACK_Core2
-#include
-#endif
#if defined(M5S_WXBEACON2_ENABLE_SD_UPDATER)
-#include
+# pragma message "[WB2] Enable SD-Updater"
+# include
#endif
+
#include
+
#if defined(M5S_WXBEACON2_ENABLE_SD_UPDATER)
-#include
+# include
#endif
+
#include
#include
@@ -46,11 +46,9 @@
#include
#include