1+
2+ #include " Stackchan_ex_config.h"
3+
4+ StackchanExConfig::StackchanExConfig () {};
5+ StackchanExConfig::~StackchanExConfig () {};
6+
7+ void StackchanConfig::loadExtendConfig (fs::FS& fs, const char *yaml_filename, uint32_t yaml_size) {
8+ M5_LOGI (" ----- StackchanExConfig::loadConfig:%s\n " , yaml_filename);
9+ File file = fs.open (yaml_filename);
10+ if (file) {
11+ DynamicJsonDocument doc (yaml_size);
12+ auto err = deserializeYml ( doc, file);
13+ if (err) {
14+ M5_LOGE (" yaml file read error: %s\n " , yaml_filename);
15+ M5_LOGE (" error%s\n " , err.c_str ());
16+ }
17+ serializeJsonPretty (doc, Serial);
18+ setExtendSettings (doc);
19+ }
20+ }
21+
22+ void StackchanExConfig::setExtendSettings (DynamicJsonDocument doc) {
23+ JsonObject app_param1 = doc[" app_parameters1" ];
24+ _ex_parameters.item1 = app_param1[" item1" ].as <String>(); // 文字列はこのように記述
25+ _ex_parameters.item2 = app_param1[" item2" ] // 数値
26+ _ex_parameters.item3 = app_param1[" item3" ].as <bool >(); // True/False/0/1
27+ JsonObject app_param2 = doc[" app_parameters2" ];
28+
29+ JsonArray list_str = app_param2[" list_str" ];
30+ _list_str_count = list_str.size ();
31+ for (int i=0 ; i<_list_str_count; i++) {
32+ _list_str[i] = list_str[i].as <String>();
33+ }
34+ JsonArray list_num = app_param2[" list_num" ];
35+ _list_num_count = list_num.size ();
36+ for (int i=0 ; i<_list_num_count; i++) {
37+ _list_num[i] = list_num[i];
38+ }
39+ }
40+
41+
42+ void StackchanExConfig::printExtParameters (void ) {
43+ M5_LOGI (" item1:%s\n " , _ex_parameters.item1 .c_str ());
44+ M5_LOGI (" item2:%d\n " , _ex_parameters.item2 );
45+ M5_LOGI (" item3:%s\n " , _ex_parameters.item3 ? " true" :" false" );
46+ M5_LOGI (" item4:%s\n " , _item4);
47+ for (int i=0 ; i<_list_str_count; i++) {
48+ M5_LOGI (" list_str[%d]: %s\n " , i, _list_str[i]);
49+ }
50+ for (int i=0 ; i<_list_num_count; i++) {
51+ M5_LOGI (" list_num[%d]: %d\n " , i, _list_num[i]);
52+ }
53+ }
0 commit comments