commit 235a77d788d3dc8616452debf7c27d5ca399e8aa Author: Jason Harrell Date: Sat Feb 17 22:47:44 2018 -0700 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..383c5a7 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,22 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "type": "mos", + "problemMatcher": { + "owner": "cpp", + "fileLocation": ["relative", "${workspaceRoot}"], + "pattern": { + "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", + "file": 1, + "line": 2, + "column": 3, + "severity": 4, + "message": 5 + } + } + } + ] +} \ No newline at end of file diff --git a/LilyGO_HiGrow_Rev1_PhotoFrontHiGrow.jpg b/LilyGO_HiGrow_Rev1_PhotoFrontHiGrow.jpg new file mode 100644 index 0000000..967cfd1 Binary files /dev/null and b/LilyGO_HiGrow_Rev1_PhotoFrontHiGrow.jpg differ diff --git a/README.md b/README.md new file mode 100755 index 0000000..db22df0 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# LilyGo HiGrow ESP32 Plant Monitoring Sensor Firmware + +

+ +

+ +## Overview + +- Use this code with the LilyGo HiGrow ESP32 Plant Monitoring Sensor board to obtain sensor readings and control LED's +- Boards can be purchased directly from LilyGo on [AliExpress](https://www.aliexpress.com/item/ESP32-WIFI-Bluetooth-battery-soil-Moisture-Senson-DHT/32815782900.html) +- Set your device `bt_devname` in the **mos.yml** file. In order for it to work with the HiGrow app, each name should start with "Higrow". According to HiGrow, this will be fixed in a future realease. +- Visit http://www.higrow.tech/en/ more info on the HiGrow project. + +## How to install this app using MongooseOS + +- Install and start [mos tool](https://mongoose-os.com/software.html) +- Switch to the Project page, find and import this app, build and flash it: + +

+ +

diff --git a/build/build.local.log b/build/build.local.log new file mode 100644 index 0000000..6ebd524 --- /dev/null +++ b/build/build.local.log @@ -0,0 +1,2 @@ +Connecting to https://mongoose.cloud, user test +Uploading sources (2437 bytes) diff --git a/build/build.log b/build/build.log new file mode 100644 index 0000000..e98c40d --- /dev/null +++ b/build/build.log @@ -0,0 +1,920 @@ +Handling lib "bt-service-config"... +Handling lib "ca-bundle"... +Handling lib "wifi"... +Handling lib "dht"... +Handling lib "adc"... +Handling lib "rpc-service-fs"... +Handling lib "rpc-uart"... +Handling lib "mjs"... +Handling lib "rpc-service-config"... +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +The --lib flag was not given for it, checking repository +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs" is updated recently enough, don't touch it +Prebuilt binary for "rpc-service-config" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config" +Prebuilt binary for "rpc-uart" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart" +Handling lib "rpc-common"... +The --lib flag was not given for it, checking repository +Lib "rpc-common" is already handled, skipping +Prebuilt binary for "rpc-service-fs" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs" +Prebuilt binary for "adc" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc" +Prebuilt binary for "bt-service-config" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config" +Lib "rpc-common" is already handled, skipping +Handling lib "bt-common"... +The --lib flag was not given for it, checking repository +Prebuilt binary for "dht" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht" +Prebuilt binary for "ca-bundle" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle" +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common" is updated recently enough, don't touch it +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common" is updated recently enough, don't touch it +Prebuilt binary for "bt-common" already exists +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common" +Falling back to sources for "wifi" (failed to fetch prebuilt binary: got 404 status code when accessed https://github.com/mongoose-os-libs/wifi/releases/download/latest/libwifi-esp32.a) +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi" +Falling back to sources for "rpc-common" (failed to fetch prebuilt binary: got 404 status code when accessed https://github.com/mongoose-os-libs/rpc-common/releases/download/latest/librpc-common-esp32.a) +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common" +Lib "http-server" is optional, skipping +Falling back to sources for "mjs" (failed to fetch prebuilt binary: got 404 status code when accessed https://github.com/mongoose-os-libs/mjs/releases/download/latest/libmjs-esp32.a) +Prepared local dir: "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs" +The flag --module is not given for the module "mjs_module", going to use the repository +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module" is updated recently enough, don't touch it +The flag --repo is not given, going to use mongoose-os repository +Repository "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os" is updated recently enough, don't touch it +Sources: [/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/deps_init.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src/esp32_adc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt_gap.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gap.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gattc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gatts.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32/esp32_bt_svc_config.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src/mgos_ca_bundle.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src/mgos_dht.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src/mos_mjs.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src/esp32_mjs.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_http.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_ws.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mgos_rpc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src/mgos_service_config.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src/mgos_service_filesystem.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src/mgos_rpc_channel_uart.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mgos_wifi.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mjs_wifi.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src/esp32_wifi.c] +Include dirs: [/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32 /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include] +Binary libs: [] +Building... +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226" to "/app" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os" to "/mongoose-os" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs" +mount from "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen" to "/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen" +Docker arguments: run --name mos_build_2018-02-18T01-15-42-00_4208775313945273571 --rm -i -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os:/mongoose-os -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32 -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32 -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32 -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226:/app -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mongoose-os -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build -v /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src:/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src --user 0:0 docker.cesanta.com/esp32-build:3.0-rc1-r4 /bin/bash -c nice make '-j' '16' '-C' '/app' '-f' '/mongoose-os/fw/platforms/esp32/Makefile.build' 'all' 'MGOS_HAVE_RPC_SERVICE_CONFIG=1' 'BUILD_DIR=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs' 'MGOS_WIFI_ENABLE_AP_STA=1' 'MGOS_HAVE_CA_BUNDLE=1' 'MGOS_PATH=/mongoose-os' 'APP_INCLUDES=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32 /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include' 'MGOS_HAVE_ADC=1' 'MGOS_HAVE_MJS=1' 'APP_BIN_LIBS=' 'ESP_IDF_EXTRA_COMPONENTS= bt' 'MGOS_HAVE_BT_COMMON=1' 'MGOS_HAVE_RPC_SERVICE_FS=1' 'APP_FS_FILES=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs/ca.pem /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_bitbang.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_config.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_events.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_gpio.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_grove.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_http.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_log.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_net.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_sys.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_timer.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_uart.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/init.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_dataview.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_file.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_math.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs/api_adc.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs/api_dht.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs/api_rpc.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs/api_wifi.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs/api_arch_uart.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs/api_esp32.js /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs/init.js' 'MGOS_HAVE_RPC_COMMON=1' 'FW_DIR=build/fw' 'GEN_DIR=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen' 'APP_CXXFLAGS=-DMGOS_HAVE_RPC_SERVICE_FS=1 -DMGOS_HAVE_ADC=1 -DMGOS_HAVE_WIFI=1 -DMGOS_HAVE_RPC_COMMON=1 -DMG_ENABLE_DNS_SERVER=1 -DMGOS_HAVE_BT_SERVICE_CONFIG=1 -DMGOS_HAVE_RPC_SERVICE_CONFIG=1 -DMGOS_HAVE_DHT=1 -DMGOS_HAVE_BT_COMMON=1 -DMGOS_HAVE_CA_BUNDLE=1 -DMGOS_ENABLE_RPC_CHANNEL_WS=1 -DMGOS_ENABLE_SYS_SERVICE=1 -DMGOS_HAVE_RPC_UART=1 -DMGOS_HAVE_MJS=1 -DMGOS_ENABLE_RPC_CHANNEL_HTTP=1 -DMGOS_WIFI_ENABLE_AP_STA=1' 'APP=LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware' 'APP_SOURCES=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/deps_init.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src/esp32_adc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt_gap.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gap.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gattc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gatts.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32/esp32_bt_svc_config.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src/mgos_ca_bundle.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src/mgos_dht.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src/mos_mjs.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src/esp32_mjs.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_http.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_ws.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mgos_rpc.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src/mgos_service_config.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src/mgos_service_filesystem.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src/mgos_rpc_channel_uart.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mgos_wifi.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mjs_wifi.c /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src/esp32_wifi.c' 'APP_CONF_SCHEMA=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mos_conf_schema.yml' 'ESP_IDF_SDKCONFIG_OPTS= CONFIG_BT_ENABLED=y CONFIG_BLUEDROID_ENABLED=y CONFIG_BTC_TASK_STACK_SIZE=6144 CONFIG_BLUEDROID_MEM_DEBUG= CONFIG_CLASSIC_BT_ENABLED= CONFIG_BT_DRAM_RELEASE=y CONFIG_GATTS_ENABLE=y CONFIG_GATTC_ENABLE=y CONFIG_BLE_SMP_ENABLE=y CONFIG_BT_STACK_NO_LOG= CONFIG_BT_ACL_CONNECTIONS=4 CONFIG_BTDM_CONTROLLER_RUN_CPU=0 CONFIG_SMP_ENABLE=y CONFIG_BT_RESERVE_DRAM=0x10000 CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=500' 'MGOS_HAVE_BT_SERVICE_CONFIG=1' 'MGOS_HAVE_DHT=1' 'FS_STAGING_DIR=build/fs' 'MGOS_HAVE_WIFI=1' 'PLATFORM=esp32' 'APP_CFLAGS=-DMGOS_ENABLE_RPC_CHANNEL_HTTP=1 -DMGOS_WIFI_ENABLE_AP_STA=1 -DMGOS_HAVE_RPC_UART=1 -DMGOS_HAVE_MJS=1 -DMGOS_HAVE_WIFI=1 -DMGOS_HAVE_RPC_COMMON=1 -DMG_ENABLE_DNS_SERVER=1 -DMGOS_HAVE_RPC_SERVICE_FS=1 -DMGOS_HAVE_ADC=1 -DMGOS_HAVE_DHT=1 -DMGOS_HAVE_BT_COMMON=1 -DMGOS_HAVE_CA_BUNDLE=1 -DMGOS_HAVE_BT_SERVICE_CONFIG=1 -DMGOS_HAVE_RPC_SERVICE_CONFIG=1 -DMGOS_ENABLE_RPC_CHANNEL_WS=1 -DMGOS_ENABLE_SYS_SERVICE=1' 'MGOS_HAVE_RPC_UART=1' 'FFI_SYMBOLS=' 'APP_VERSION=1.0' 'MANIFEST_FINAL=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mos_final.yml' +make: Entering directory '/app' +including /opt/Espressif/esp-idf/components/bootloader/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/bootloader_support/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/esp32/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/esptool_py/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/partition_table/Makefile.projbuild... +/mongoose-os/fw/platforms/esp32/Makefile.build:181: warning: overriding recipe for target 'defconfig' +/opt/Espressif/esp-idf/make/project_config.mk:71: warning: ignoring old recipe for target 'defconfig' +/mongoose-os/fw/platforms/esp32/Makefile.build:181: warning: overriding recipe for target 'menuconfig' +/opt/Espressif/esp-idf/make/project_config.mk:58: warning: ignoring old recipe for target 'menuconfig' +/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/sdkconfig:71:warning: override: reassigning to symbol ESP32_DEEP_SLEEP_WAKEUP_DELAY +# +# configuration written to /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/sdkconfig +# +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cs_mbedtls' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spiffs' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cryptoauthlib' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/mosapp' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/micro-ecc' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/partition_table' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/partition_table' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cryptoauthlib' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/micro-ecc' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spiffs' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cs_mbedtls' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esptool_py' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esptool_py' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/mosapp' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt' +including /opt/Espressif/esp-idf/components/bootloader/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/bootloader_support/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/esp32/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/esptool_py/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/partition_table/Makefile.projbuild... +Building partitions from /mongoose-os/fw/platforms/esp32/src/partitions_mgos.csv... +make[1]: Entering directory '/opt/Espressif/esp-idf/components/bootloader/subproject' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update/esp_ota_ops.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace/app_trace_util.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace/app_trace.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace/host_file_io.o +CXX /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx/cxx_guards.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/bootloader_flash.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/emac_dev.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal/esp_adc_cal_lookup_tables.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat/library/xmlparse.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/spi_common.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log/log.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap/heap_caps_init.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/panic.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/ringbuf.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_intr.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal/esp_adc_cal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace/gcov/gcov_rtio.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/efuse.o +including /opt/Espressif/esp-idf/components/esptool_py/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/bootloader_support/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/bootloader/subproject/main/Makefile.projbuild... +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/queue.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/emac_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/croutine.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/secure_boot.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal/libesp_adc_cal.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap/heap_caps.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/list.o +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/main' +Building component project variables list /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/main/component_project_vars.mk +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/pppapi.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/main' +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update/libapp_update.a +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace/libapp_trace.a +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/soc' +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update' +Building component project variables list /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/soc/component_project_vars.mk +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib' +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/soc' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib/time.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/spi_master.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log/liblog.a +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/micro-ecc' +Building component project variables list /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/micro-ecc/component_project_vars.mk +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/stack_check.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log' +CXX /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash/src/nvs_page.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/sigmadelta.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/micro-ecc' +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/log' +Building component project variables list /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/log/component_project_vars.mk +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/bootloader_clock.o +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/spi_flash' +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/log' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_init.o +Building component project variables list /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/spi_flash/component_project_vars.mk +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader_support' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/netdb.o +Building component project variables list /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader_support/component_project_vars.mk +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/esptool_py' +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader_support' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/api_lib.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/spi_flash' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/netifapi.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/esptool_py' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/event_default_handlers.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/secure_boot_signatures.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/port.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/uart.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib/syscalls.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/event_groups.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/flash_partitions.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/tcpip.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap/multi_heap.o +including /opt/Espressif/esp-idf/components/esptool_py/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/bootloader_support/Makefile.projbuild... +including /opt/Espressif/esp-idf/components/bootloader/subproject/main/Makefile.projbuild... +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/netbuf.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/eth_phy/phy_common.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/esp_image_format.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib/syscall_table.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/bootloader_sha.o +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader_support' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/task_wdt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/eth_phy/phy_lan8720.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/flash_encrypt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/err.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/tasks.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/api_msg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib/locks.o +CXX /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx/cxx_exception_stubs.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/eth_phy/phy_tlk110.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/src/bootloader_random.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/api/sockets.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/sdspi_transaction.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx/libcxx.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap/heap_trace.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread/pthread_local_storage.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/smartconfig.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib/libnewlib.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/sleep_modes.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/spiram.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/libethernet.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib' +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/libbootloader_support.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter/tcpip_adapter_lwip.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/flash_mmap.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/rtc_pm.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support' +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap/libheap.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/i2s.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/cpu_start.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/cpu_util.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread/pthread_cond_var.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/lib_printf.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/gdbstub.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/soc_memory_layout.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/wifi_internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/rtc_init.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/partition.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/crosscore_int.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread/pthread.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/phy_init.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/pm_trace.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/wifi_init.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/rtc_sleep.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/esp_timer_esp32.o +CXX /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash/src/nvs_item_hash_list.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/spiram_psram.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/spi_flash_rom_patch.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/clk.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/cache_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/freertos_hooks.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/fast_crypto_ops.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/rtc_time.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread/libpthread.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs/vfs_uart.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/timers.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/FreeRTOS-openocd.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_overlay_os_hook.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/cache_err_int.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/ipc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/intr_alloc.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter/libtcpip_adapter.a +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader_support' +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/log' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/flash_ops.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/esp32/rtc_clk.o +AS /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_intr_asm.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/aes-internal-enc.o +AS /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_context.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/ets_timer_legacy.o +AS /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_vectors.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/core_dump.o +AS /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/xtensa_vector_defaults.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/pm_locks.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs/vfs.o +AS /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/portasm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/periph_ctrl.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/ledc.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/log' +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/spi_flash' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/sha256-internal.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/libfreertos.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/md5-internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/event_loop.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/aes-internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/pm_esp32.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/sdspi_host.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module/trax.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/libsoc.a +CXX /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash/src/nvs_storage.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc' +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/mosapp' + GEN /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mgos_config.c +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/libspi_flash.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/apps/dhcpserver.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/hw_random.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/esp_timer.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module/libxtensa-debug-module.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module' + GEN /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/ffi_exports.c +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/aes-internal-dec.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/spi_flash' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/sha1.o +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/soc' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/aes-unwrap.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs/libvfs.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/dport_access.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/restore.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/crypto_internal-rsa.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/des-internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/system_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/dh_group5.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/crypto_internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/gpio.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat/port/minicheck.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/timer.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/brownout.o +make[1]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_sco.o +make[2]: Entering directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/main' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/aes-wrap.o +CC mgos_debug.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat/port/chardata.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/apps/sntp/sntp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/apps/ping/ping.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/apps/ping/esp_ping.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/int_wdt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/sha1-internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_ci.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_act.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/soc' +Target 'component-bootloader_support-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader_support/libbootloader_support.a' +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat/libexpat.a +Target 'component-log-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/log/liblog.a' +CC mgos_net.o +CXX /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash/src/nvs_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/mem.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/inet_chksum.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/pcnt.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat' +Target 'component-app_trace-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_trace/libapp_trace.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/mcpwm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/rmt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/init.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_pm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/hwcrypto/sha.o +make[2]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/main' +CC mgos_bitbang.o +Target 'component-spi_flash-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/spi_flash/libspi_flash.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/memp.o +Target 'component-micro-ecc-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/micro-ecc/libmicro-ecc.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_main.o +Target 'component-soc-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/soc/libsoc.a' +Target 'component-main-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/main/libmain.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/dm/bta_dm_cfg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gattc_main.o +CC mgos_config_util.o +CC mgos_core_dump.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/md4-internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/hwcrypto/aes.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/sys.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gatt_common.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gatts_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/sdmmc_transaction.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/spi_slave.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/sdmmc_host.o +CC mgos_dlsym.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gattc_cache.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/tcp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gatts_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gattc_api.o +AS /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/dport_panic_highint_hdl.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/dh_groups.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/i2c.o +CC mgos_event.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/libesp32.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/sha256.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/rtc_module.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32' +Target 'component-app_update-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/app_update/libapp_update.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gatts_act.o +Target 'component-bootloader_support-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader_support/libbootloader_support.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gattc_ci.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gattc_utils.o +Target 'component-cxx-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cxx/libcxx.a' +Target 'component-esp_adc_cal-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp_adc_cal/libesp_adc_cal.a' +Target 'component-esp32-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/esp32/libesp32.a' +esptool.py v2.2.1 +make[1]: Leaving directory '/opt/Espressif/esp-idf/components/bootloader/subproject' +Target 'component-expat-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/expat/libexpat.a' +Target 'component-freertos-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/freertos/libfreertos.a' +CC mgos_hal_freertos.o +Target 'component-heap-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/heap/libheap.a' +CC mgos_gpio.o +Target 'component-ethernet-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ethernet/libethernet.a' +CC mgos_init.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gattc_act.o +CC mgos_mmap_esp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/gatt/bta_gatts_utils.o +Target 'component-micro-ecc-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/micro-ecc/libmicro-ecc.a' +CC mgos_mongoose.o +Target 'component-log-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/log/liblog.a' +Target 'component-newlib-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/newlib/libnewlib.a' +Target 'component-pthread-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/pthread/libpthread.a' +CC mgos_sys_config.o +Target 'component-soc-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/soc/libsoc.a' +Target 'component-spi_flash-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spi_flash/libspi_flash.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/rc4.o +Target 'component-tcpip_adapter-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/tcpip_adapter/libtcpip_adapter.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/md5.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/aes-cbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/sha1-pbkdf2.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/bignum.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/dns.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/hh/bta_hh_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/hh/bta_hh_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/crypto_internal-modexp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/hh/bta_hh_le.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/hh/bta_hh_act.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mgos_config.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/hh/bta_hh_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/hh/bta_hh_cfg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sdp/bta_sdp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/crypto_internal-cipher.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sdp/bta_sdp_act.o +Target 'component-vfs-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/vfs/libvfs.a' +Target 'component-xtensa-debug-module-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/xtensa-debug-module/libxtensa-debug-module.a' +Target 'component-spiffs-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/spiffs/libspiffs.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/crypto/ms_funcs.o +Target 'component-cs_mbedtls-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cs_mbedtls/libcs_mbedtls.a' +Target 'component-cryptoauthlib-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/cryptoauthlib/libcryptoauthlib.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sdp/bta_sdp_cfg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sdp/bta_sdp_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_api.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash/libnvs_flash.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash' +Target 'component-nvs_flash-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/nvs_flash/libnvs_flash.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/port/os_xtensa.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_cfg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_ssm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_ci.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_aes-wrap.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_sha256-internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_aes-cbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_crypto_internal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_sha256.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ip.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_act.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_crypto_internal-modexp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_aes-unwrap.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/src/fast_crypto/fast_crypto_internal-cipher.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/tcp_in.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/raw.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_sbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/av/bta_av_aact.o +CC mgos_ro_vars.o +CC mgos_hw_timers.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/pbuf.o +CC mgos_time.o +CC mgos_system.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/netif.o +CC mgos_timers.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/stats.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/ar/bta_ar.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/libdriver.a +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sys/bta_sys_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/timers.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/def.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sys/utl.o +Target 'component-driver-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/driver/libdriver.a' +CC mgos_utils.o +CC mgos_uart.o +CC mgos_vfs.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/udp.o +CC mgos_vfs_dev.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/tcp_out.o +CC mgos_vfs_dev_ram.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/ip_frag.o +CC mgos_vfs_fs_spiffs.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/sys/bta_sys_conn.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/libwpa_supplicant.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/jv/bta_jv_api.o +Target 'component-wpa_supplicant-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/wpa_supplicant/libwpa_supplicant.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/dhcp.o +CC esp32_debug.o +CC esp32_crypto.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/ip4_addr.o +CC esp32_exc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/igmp.o +CC esp32_fs.o +CC esp32_fs_crypt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/jv/bta_jv_act.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/ip4.o +CC esp32_vfs_dev_partition.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/autoip.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv4/icmp.o +CC esp32_gpio.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/ip6_frag.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/jv/bta_jv_main.o +CC esp32_hal.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/dhcp6.o +CC esp32_hw_timers.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/inet6.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/bta/jv/bta_jv_cfg.o +CC esp32_main.o +CC esp32_mdns.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/ip6_addr.o +CC esp32_uart.o +CC cs_crc32.o +CC cs_dbg.o +CC cs_file.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/ip6.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/nd6.o +CC json_utils.o +CC frozen.o +CC cs_rbuf.o +CC mongoose.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btcore/bdaddr.o +CC deps_init.o +CC esp32_adc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btif/bta_gatts_co.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/mld6.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/ethip6.o +CC mgos_bt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/core/ipv6/icmp6.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/netif/slipif.o +CC mgos_bt_gap.o +CC esp32_bt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btif/bta_dm_co.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btif/bta_gattc_co.o +CC esp32_bt_gap.o +CC esp32_bt_gattc.o +CC esp32_bt_gatts.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/netif/etharp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/device/interop.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/netif/ethernet.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/netif/lowpan6.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/netif/ethernetif.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/port/freertos/sys_arch.o +CC esp32_bt_svc_config.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/device/controller.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/hci/buffer_allocator.o +CC mgos_ca_bundle.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/port/netif/wlanif.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/port/netif/ethernetif.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/port/vfs_lwip.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/port/debug/lwip_debug.o +CC mgos_dht.o +CC mos_mjs.o +CC mjs.o +CC esp32_mjs.o +CC mg_rpc.o +CC mg_rpc_channel.o +CC mg_rpc_channel_http.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/hci/hci_hal_h4.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/hci/hci_packet_parser.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/hci/hci_layer.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/hci/packet_fragmenter.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/hci/hci_packet_factory.o +CC mg_rpc_channel_ws.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/main/bte_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/main/bte_init.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/liblwip.a +CC mgos_rpc.o +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip' +CC mgos_service_config.o +Target 'component-lwip-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/lwip/liblwip.a' +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/future.o +CC mgos_service_filesystem.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/semaphore.o +CC mgos_wifi.o +CC mjs_wifi.o +CC mgos_rpc_channel_uart.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/hash_map.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/fixed_queue.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/config.o +CC esp32_wifi.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/ffi_exports.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/list.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/mutex.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/osi.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/alarm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/buffer.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/osi/allocator.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/bitstream-decode.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/synthesis-sbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/decoder-oina.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/synthesis-dct8.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/framing.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/dequant.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/alloc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/bitalloc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/decoder-private.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/synthesis-8-generated.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/oi_codec_version.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/framing-sbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/bitalloc-sbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_dct.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_packing.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/decoder/srce/decoder-sbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_enc_bit_alloc_ste.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_enc_coeffs.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_analysis.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_enc_bit_alloc_mono.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_dct_coeffs.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_task.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/external/sbc/encoder/srce/sbc_encoder.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_util.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_dev.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_storage.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_profile_queue.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_ble_storage.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_sm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_alarm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_manage.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_dm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/esp/blufi/blufi_prf.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/core/btc_config.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/esp/blufi/blufi_protocol.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/gap/btc_gap_bt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/gatt/btc_gatts.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/gap/btc_gap_ble.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/gatt/btc_gatt_util.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/gatt/btc_gattc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/gatt/btc_gatt_common.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/a2dp/btc_a2dp_sink.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/a2dp/btc_a2dp_source.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/a2dp/btc_a2dp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/a2dp/btc_av.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/a2dp/bta_av_co.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/a2dp/btc_a2dp_control.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/spp/btc_spp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/btc/profile/std/avrc/btc_avrc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_cont_energy.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_batchscan.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_sec.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_pm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_adv_filter.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_inq.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_dev.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_privacy.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_acl.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_bgconn.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_gap.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_multi_adv.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_ble_addr.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_sco.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btm/btm_devctl.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btu/btu_hcif.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btu/btu_init.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/btu/btu_task.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gap/gap_ble.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gap/gap_conn.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gap/gap_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gap/gap_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_db.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_cl.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_attr.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_sr.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/att_protocol.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_auth.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/gatt/gatt_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/hcic/hciblecmds.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/hcic/hcicmds.o + GEN /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mg_build_info.c +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_ucd.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_csm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_fcr.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_link.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/l2cap/l2c_ble.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/sdp/sdp_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/sdp/sdp_db.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/sdp/sdp_discovery.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/sdp/sdp_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/sdp/sdp_server.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/sdp/sdp_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_act.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_keys.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_br_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/aes.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_cmac.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/p_256_multprecision.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/smp/smp_l2c.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avct/avct_lcb.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avct/avct_lcb_act.o +CC mg_build_info.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avct/avct_l2c.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avct/avct_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avct/avct_ccb.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_pars_ct.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_pars_tg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_opt.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_bld_ct.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_bld_tg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avrc/avrc_sdp.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_l2c.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_ccb_act.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_ccb.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_msg.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_scb.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_scb_act.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/avdt/avdt_ad.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/a2dp/a2d_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/a2dp/a2d_sbc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/rfc_port_if.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/port_rfc.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/rfc_mx_fsm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/rfc_port_fsm.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/port_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/rfc_l2cap_if.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/port_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/rfc_ts_frames.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/stack/rfcomm/rfc_utils.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_avrc_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_spp_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_bt_main.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_gap_bt_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_bt_device.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_a2dp_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_gattc_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_blufi_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_gap_ble_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_gatts_api.o +CC /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/bluedroid/api/esp_gatt_common_api.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/libbt.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt' +Target 'component-bt-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bt/libbt.a' + GEN /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/build_info.c +CC build_info.o +AR /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/mosapp/libmosapp.a +make[1]: Leaving directory '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/mosapp' +Target 'component-mosapp-build' responsible for '/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/mosapp/libmosapp.a' +esptool.py v2.2.1 + Generating breakdown + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs/ca.pem -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_bitbang.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_config.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_events.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_gpio.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_grove.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_http.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_log.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_net.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_sys.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_timer.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_uart.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/init.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_dataview.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_file.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_math.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs/api_adc.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs/api_dht.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs/api_rpc.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs/api_wifi.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs/api_arch_uart.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs/api_esp32.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs/init.js -> build/fs + CP /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/conf0.json -> build/fs + MKFS /usr/local/bin/mkspiffs8 262144 4096 256 4096 build/fs -> /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/fw_temp/fs.img + Adding api_file.js: 2105 + Adding ca.pem: 17334 + Adding conf0.json: 2448 + Adding api_math.js: 1890 + Adding api_dataview.js: 7433 + Adding api_wifi.js: 1020 + Adding api_grove.js: 2327 + Adding api_http.js: 3812 + Adding api_bitbang.js: 815 + Adding api_timer.js: 1736 + Adding api_esp32.js: 460 + Adding init.js: 2374 + Adding api_config.js: 2170 + Adding api_sys.js: 1641 + Adding api_arch_uart.js: 1206 + Adding api_gpio.js: 2731 + Adding api_log.js: 2005 + Adding api_dht.js: 1404 + Adding api_adc.js: 803 + Adding api_events.js: 3398 + Adding api_net.js: 5122 + Adding api_uart.js: 5772 + Adding api_rpc.js: 2741 + Image stats: size=262144, space: total=233681, used=81073, free=152608 + GEN /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/fw_temp/manifest.json + ZIP /app/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-last.zip + Adding /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/fw_temp/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware.bin + Adding /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/fw_temp/bootloader.bin + Adding /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/fw_temp/fs.img + Adding /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/fw_temp/partitions_mgos.bin + Built LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32 version 1.0 (20180218-011554/???) +To flash all build output, run 'make flash' or: +python /opt/Espressif/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 1500000 --before default_reset --after hard_reset write_flash -z --flash_mode qio --flash_freq 40m --flash_size detect 0x1000 /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/bootloader/bootloader.bin 0x10000 /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware.bin 0x8000 /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/partitions_mgos.bin +make: Leaving directory '/app' +Success, built LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32 version 1.0 (20180218-011554/???). +Firmware saved to build/fw.zip diff --git a/build/fs/api_adc.js b/build/fs/api_adc.js new file mode 100644 index 0000000..b08c649 --- /dev/null +++ b/build/fs/api_adc.js @@ -0,0 +1,22 @@ +let ADC = { + // ## **`ADC.enable(pin)`** + // Configure and enable ADC for a `pin`, + // return 1 if success, 0 otherwise. + enable: ffi('int mgos_adc_enable(int)'), + // ## **`ADC.read(pin)`** + // Read `pin` analog value, return an integer. + // + // Note for ESP8266 platform: + // with this function, you can also measure the power voltage + // of VDD33 pin 3 and 4. Then: + // 1) TOUT pin has to be floating in the circuit + // (not connected to anything); + // 2) In mos.yaml must be set this feature: + // build_vars: + // MGOS_ADC_MODE_VDD: 1 + // 3) The return value may be different in different Wi-Fi modes, + // for example, in Modem-sleep mode or in normal Wi-Fi working + // mode. + // Return value: Power voltage of VDD33; unit: 1/1024 V. + read: ffi('int mgos_adc_read(int)'), +}; diff --git a/build/fs/api_arch_uart.js b/build/fs/api_arch_uart.js new file mode 100644 index 0000000..ded2874 --- /dev/null +++ b/build/fs/api_arch_uart.js @@ -0,0 +1,34 @@ +// esp32 architecture-dependent UART wrappers +UART._arch = { + _pins: ffi('void esp32_uart_config_set_pins(int, void *, int, int, int, int)'), + _fifo: ffi('void esp32_uart_config_set_fifo(int, void *, int, int, int, int)'), + + // Set arch-dependent UART config + scfg: function(uartNo, cfg, param) { + if (param.esp32 === undefined) return; + + // Set GPIO params + if (param.esp32.gpio !== undefined) { + let dgpio = param.esp32.gpio; + + let rx = (dgpio.rx !== undefined ? dgpio.rx : -1); + let tx = (dgpio.tx !== undefined ? dgpio.tx : -1); + let cts = (dgpio.cts !== undefined ? dgpio.cts : -1); + let rts = (dgpio.rts !== undefined ? dgpio.rts : -1); + + this._pins(uartNo, cfg, rx, tx, cts, rts); + } + + // Set FIFO params + if (param.esp32.fifo !== undefined) { + let dfifo = param.esp32.fifo; + + let ft = (dfifo.rxFullThresh !== undefined ? dfifo.rxFullThresh : -1); + let fct = (dfifo.rxFcThresh !== undefined ? dfifo.rxFcThresh : -1); + let alarm = (dfifo.rxAlarm !== undefined ? dfifo.rxAlarm : -1); + let et = (dfifo.txEmptyThresh !== undefined ? dfifo.txEmptyThresh : -1); + + this._fifo(uartNo, cfg, ft, fct, alarm, et); + } + }, +}; diff --git a/build/fs/api_bitbang.js b/build/fs/api_bitbang.js new file mode 100644 index 0000000..b1f9d7e --- /dev/null +++ b/build/fs/api_bitbang.js @@ -0,0 +1,19 @@ +let BitBang = { + DELAY_MSEC: 0, + DELAY_USEC: 1, + DELAY_100NSEC: 2, + + // ## **`BitBang.write(pin, delay_unit, t0h, t0l, t1h, t1l, ptr, len)`** + // Write bits to a given `pin`. `delay_unit` is one of the: + // `BitBang.DELAY_MSEC`, `BitBang.DELAY_USEC`, `BitBang.DELAY_100NSEC`. + // `ptr, len` is a bit pattern to write. `t0h, t0l` is the time pattern + // for zero bit, `t1h, t1l` is the time pattern for 1. The time pattern + // specifies the number of time units to hold the pin high, and the number + // of units to hold the pin low. Return value: none. + write: function(pin, delay_unit, t0h, t0l, t1h, t1l, ptr, len) { + let t = (t0h << 24) | (t0l << 16) | (t1h << 8) | t1l; + this._wb(pin, delay_unit, t, ptr, len); + }, + + _wb: ffi('void mgos_bitbang_write_bits_js(int, int, int, void *, int)'), +}; diff --git a/build/fs/api_config.js b/build/fs/api_config.js new file mode 100644 index 0000000..000866a --- /dev/null +++ b/build/fs/api_config.js @@ -0,0 +1,63 @@ +let Cfg = { + _get: ffi('void *mgos_mjs_get_config()'), + _set: ffi('bool mgos_config_apply(char *, bool)'), + _desc: ffi('void *mgos_config_schema()'), + _find: ffi('void *mgos_conf_find_schema_entry(char *, void *)'), + _type: ffi('int mgos_conf_value_type(void *)'), + _str: ffi('char *mgos_conf_value_string_nonnull(void *, void *)'), + _int: ffi('int mgos_conf_value_int(void *, void *)'), + _dbl: ffi('double mgos_conf_value_double(void *, void *)'), + _INT: 0, + _BOOL: 1, + _DBL: 2, + _STR: 3, + _OBJ: 4, + + // ## **`Cfg.get(path)`** + // Get the config value by the configuration variable. Currently, only + // simple types are returned: strings, ints, booleans, doubles. Objects + // are not yet supported. + // + // Examples: + // ```javascript + // load('api_config.js'); + // Cfg.get('device.id'); // returns a string + // Cfg.get('debug.level'); // returns an integer + // Cfg.get('wifi.sta.enable'); // returns a boolean + // ``` + get: function(path) { + let entry = this._find(path, this._desc()); + if (entry === null) return undefined; + let type = this._type(entry); + let cfg = this._get(); + if (type === this._STR) { + return this._str(cfg, entry); + } else if (type === this._INT) { + return this._int(cfg, entry); + } else if (type === this._DBL) { + return this._dbl(cfg, entry); + } else if (type === this._BOOL) { + return (this._int(cfg, entry) !== 0); + } else if (type === this._OBJ) { + /* TODO */ + return undefined; + } else { + /* TODO: an error */ + return undefined; + } + }, + + // ## **`Cfg.set(obj, opt_save)`** + // Set the configuration. `obj` must be a subset of the whole configuation + // tree. `save` is boolean flag that indicating whether the change should + // be saved - it could be omitted, in which case it defaults to `true`. + // Examples: + // ```javascript + // load('api_config.js'); + // Cfg.set({wifi: {ap: {enable: false}}}); // Disable WiFi AP mode + // Cfg.set({debug: {level: 3}}); // Set debug level to 3 + // ``` + set: function(obj, save) { + return this._set(JSON.stringify(obj), save === undefined ? true : save); + }, +}; diff --git a/build/fs/api_dataview.js b/build/fs/api_dataview.js new file mode 100644 index 0000000..428216a --- /dev/null +++ b/build/fs/api_dataview.js @@ -0,0 +1,222 @@ +// **DataView API** +// +// See the original API definition at [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView). +// +// mJS DataView diverges from the original in the following ways: +// +// - No `ArrayBuffer`; plain pointers should be used instead; +// - Since there are no constructors in mJS, `DataView.create()` should be +// used instead; +// - No float support yet (will be added) + +let DataView = { + // ## **`DataView.create(buf, offset, len)`** + // Create a DataView object instance. `buf` is a pointer to a plain byte + // array, `offset` is an offset in in this buffer to start dataview from, and + // `len` is a length managed by dataview. + // + // Return value: an object with the methods described below. + // + // Example: + // ```javascript + // load("api_dataview.js"); + // let calloc = ffi('void *calloc(int, int)'); + // let ptr = calloc(100, 1); + // let dw = DataView.create(ptr, 0, 100); + // + // dw.setUint8(2, 0xff); + // ``` + create: function(buf, off, len) { + let ret = Object.create(this._prot); + if (off !== undefined) { + buf += off; + } + ret._buf = buf; + ret._len = len; + return ret; + }, + + _prot: { + + // ## **`myDW.getInt8(idx)`** + // Get a signed byte value from the dataview's buffer at the given index + // `idx`. Returned value: a number from -128 to 127. + getInt8: function(idx) { + if (!DataView._cl(idx, this._len, 1)) { + return undefined; + } + return DataView._gets( + DataView._pk(this._buf, idx), 1, false + ); + }, + + // ## **`myDW.getUint8(idx)`** + // Get an unsigned byte value from the dataview's buffer at the given index + // `idx`. Returned value: a number from 0 to 255. + getUint8: function(idx) { + if (!DataView._cl(idx, this._len, 1)) { + return undefined; + } + return DataView._getu( + DataView._pk(this._buf, idx), 1, false + ); + }, + + // ## **`myDW.getInt16(idx, le)`** + // Get a signed 2-byte value from the dataview's buffer at the given index + // `idx`. By default the data interpreted as big-endian; if `le` is true, + // then little-endian will be used. + // Returned value: a number from -32768 to 32767. + getInt16: function(idx, le) { + if (!DataView._cl(idx, this._len, 2)) { + return undefined; + } + return DataView._gets( + DataView._pk(this._buf, idx), 2, !le + ); + }, + + // ## **`myDW.getUint16(idx, le)`** + // Get an unsigned 2-byte value from the dataview's buffer at the given + // index `idx`. By default the data interpreted as big-endian; if `le` is + // true, then little-endian will be used. + // Returned value: a number from 0 to 65535. + getUint16: function(idx, le) { + if (!DataView._cl(idx, this._len, 2)) { + return undefined; + } + return DataView._getu( + DataView._pk(this._buf, idx), 2, !le + ); + }, + + // ## **`myDW.getInt32(idx, le)`** + // Get a signed 4-byte value from the dataview's buffer at the given index + // `idx`. By default the data interpreted as big-endian; if `le` is true, + // then little-endian will be used. + // Returned value: a number from -2147483648 to 2147483647. + getInt32: function(idx, le) { + if (!DataView._cl(idx, this._len, 4)) { + return undefined; + } + return DataView._gets( + DataView._pk(this._buf, idx), 4, !le + ); + }, + + // ## **`myDW.getUint32(idx, le)`** + // Get an unsigned 4-byte value from the dataview's buffer at the given + // index `idx`. By default the data interpreted as big-endian; if `le` is + // true, then little-endian will be used. + // Returned value: a number from 0 to 4294967295. + getUint32: function(idx, le) { + if (!DataView._cl(idx, this._len, 4)) { + return undefined; + } + return DataView._getu( + DataView._pk(this._buf, idx), 4, !le + ); + }, + + // ## **`myDW.setInt8(idx, val)`** + // Set a signed byte value into the dataview's buffer at the given index + // `idx`. `val` should be a number from -128 to 127. + // Returned value: none. + setInt8: function(idx, val) { + if (!DataView._cl(idx, this._len, 1)) { + return undefined; + } + DataView._setu( + DataView._pk(this._buf, idx), val, 1, false + ); + }, + + // ## **`myDW.setUint8(idx, val)`** + // Set an unsigned byte value into the dataview's buffer at the given index + // `idx`. `val` should be a number from -128 to 127. + // Returned value: none. + setUint8: function(idx, val) { + if (!DataView._cl(idx, this._len, 1)) { + return undefined; + } + DataView._setu( + DataView._pk(this._buf, idx), val, 1, false + ); + }, + + // ## **`myDW.setInt16(idx, val, le)`** + // Set a signed 2-byte value into the dataview's buffer at the given index + // `idx`. `val` should be a number from -32768 to 32767. By default the + // data is written in big-endian format; if `le` is true, then + // little-endian will be used. + // Returned value: none. + setInt16: function(idx, val, le) { + if (!DataView._cl(idx, this._len, 2)) { + return undefined; + } + DataView._setu( + DataView._pk(this._buf, idx), val, 2, !le + ); + }, + + // ## **`myDW.setUint16(idx, val, le)`** + // Set an unsigned 2-byte value into the dataview's buffer at the given + // index `idx`. `val` should be a number from 0 to 65535. By default the + // data is written in big-endian format; if `le` is true, then + // little-endian will be used. + // Returned value: none. + setUint16: function(idx, val, le) { + if (!DataView._cl(idx, this._len, 2)) { + return undefined; + } + DataView._setu( + DataView._pk(this._buf, idx), val, 2, !le + ); + }, + + // ## **`myDW.setInt32(idx, val, le)`** + // Set a signed 4-byte value into the dataview's buffer at the given index + // `idx`. `val` should be a number from -2147483648 to 2147483647. By + // default the data is written in big-endian format; if `le` is true, then + // little-endian will be used. + // Returned value: none. + setInt32: function(idx, val, le) { + if (!DataView._cl(idx, this._len, 4)) { + return undefined; + } + DataView._setu( + DataView._pk(this._buf, idx), val, 4, !le + ); + }, + + // ## **`myDW.setUint32(idx, val, le)`** + // Set an unsigned 4-byte value into the dataview's buffer at the given + // index `idx`. `val` should be a number from 0 to 4294967295. By default + // the data is written in big-endian format; if `le` is true, then + // little-endian will be used. + // Returned value: none. + setUint32: function(idx, val, le) { + if (!DataView._cl(idx, this._len, 4)) { + return undefined; + } + DataView._setu( + DataView._pk(this._buf, idx), val, 4, !le + ); + }, + }, + + _cl: function(idx, len, ilen) { + if (len !== undefined && idx + ilen > len) { + die(DataView._errm); + return false; + } + return true; + }, + + _p: ffi('void *mjs_mem_to_ptr(int)'), + _pk: ffi('void *mjs_mem_get_ptr(void *, int)'), + _getu: ffi('double mjs_mem_get_uint(void *, int, int)'), + _gets: ffi('double mjs_mem_get_int(void *, int, int)'), + _setu: ffi('void mjs_mem_set_uint(void *, int, int, int)'), + _errm: "Offset is outside of the bounds of the DataView", +}; diff --git a/build/fs/api_dht.js b/build/fs/api_dht.js new file mode 100644 index 0000000..0d2137d --- /dev/null +++ b/build/fs/api_dht.js @@ -0,0 +1,51 @@ +// Mongoose OS DHT library API. Source C API is defined at: +// [mgos_dht.h](https://github.com/mongoose-os-libs/dht/tree/master/src/mgos_dht.h) + +let DHT = { + _crt: ffi('void *mgos_dht_create(int, int)'), + _cls: ffi('void mgos_dht_close(void *)'), + _gt: ffi('float mgos_dht_get_temp(void *)'), + _gh: ffi('float mgos_dht_get_humidity(void *)'), + + // Define type of sensors. + DHT11: 11, + DHT21: 21, + AM2301: 21, + DHT22: 22, + AM2302: 22, + + // **`DHT.create(pin, type)`** + // Create a DHT object. `type` could be `DHT.DHT11`, `DHT.DHT21`, + // `DHT.DHT22`. Return value: an object with the methods described below, or + // 'null' in case of a failure. + // Example: + // ```javascript + // let mydht = DHT.create(5, DHT.DHT11); + // print('Temperature:', mydht.getTemp()); + // ``` + create: function(pin, type) { + let obj = Object.create(DHT._proto); + obj.dht = DHT._crt(pin, type); + return obj; + }, + + _proto: { + // **`mydht.close()`** + // Close DHT handle. Return value: none. + close: function() { + return DHT._cls(this.dht); + }, + + // **`mydht.getTemp()`** + // Return temperature in degrees C or 'NaN' in case of a failure. + getTemp: function() { + return DHT._gt(this.dht); + }, + + // **`mydht.getHumidity()`** + // Return humidity in RH% or 'NaN' in case of a failure. + getHumidity: function() { + return DHT._gh(this.dht); + }, + }, +}; diff --git a/build/fs/api_esp32.js b/build/fs/api_esp32.js new file mode 100644 index 0000000..398185e --- /dev/null +++ b/build/fs/api_esp32.js @@ -0,0 +1,14 @@ +let ESP32 = { + // ## **`ESP32.temp()`** + // Read built-in temperature sensor. Return value: integer. + temp: ffi('int temprature_sens_read(void)'), + + // ## **`ESP32.hall()`** + // Read built-in Hall sensor. Return value: integer. + hall: ffi('int hall_sens_read(void)'), + + // ## **`ESP32.deepSleep(microseconds)`** + // Deep Sleep given number of microseconds. + // Return value: does not return. + deepSleep: ffi('void mgos_esp_deep_sleep_d(double)'), +}; diff --git a/build/fs/api_events.js b/build/fs/api_events.js new file mode 100644 index 0000000..824c278 --- /dev/null +++ b/build/fs/api_events.js @@ -0,0 +1,102 @@ +let Event = { + // ## **`Event.addHandler(ev, callback, userdata)`** + // Add a handler for the given event `ev`. Callback should look like: + // + // function(ev, evdata, userdata) { /* ... */ } + // + // Example: + // ```javascript + // + // Event.addHandler(Event.REBOOT, function(ev, evdata, ud) { + // print("Going to reboot!"); + // }, null); + // ``` + addHandler: ffi( + 'bool mgos_event_add_handler(int, void(*)(int, void *, userdata), userdata)'), + + // ## **`Event.addGroupHandler(evgrp, callback, userdata)`** + // Like `Event.addHandler()`, but subscribes on all events in the given + // event group `evgrp`. Event group includes all events from `evgrp & ~0xff` + // to `evgrp | 0xff`. + // + // Example: + // ```javascript + // + // Event.addGroupHandler(Event.SYS, function(ev, evdata, ud) { + // print("Sys event:", ev); + // }, null); + // ``` + addGroupHandler: ffi( + 'bool mgos_event_add_group_handler(int, void(*)(int, void *, userdata), userdata)'), + + // ## **`Event.regBase(base_event_number, name)`** + // Register a base event number in order to prevent event number conflicts. + // Use `Event.baseNumber(id)` to get `base_event_number`; `name` is an + // arbitrary event name. + // + // Example: + // ```javascript + // let bn = Event.baseNumber("ABC"); + // if (!Event.regBase(bn, "My module")) { + // die("Failed to register base event number"); + // } + // + // let MY_EVENT_FOO = bn + 0; + // let MY_EVENT_BAR = bn + 1; + // let MY_EVENT_BAZ = bn + 2; + // ``` + regBase: ffi('bool mgos_event_register_base(int, char *)'), + + // ## **`Event.baseNumber(id)`** + // Generates unique base event number (32-bit) by a 3-char string. + // LSB is always zero, and a library can use it to create up to 256 unique + // events. + // + // A library should call `Event.regBase()` in order to claim + // it and prevent event number conflicts. (see example there) + baseNumber: function(id) { + if (id.length !== 3) { + die("Base event id should have exactly 3 chars"); + return -1; + } + + return (id.at(0) << 24) | (id.at(1) << 16) | (id.at(2) << 8); + }, + + // ## **`Event.trigger(ev, evdata)`** + // Trigger an event with the given id `ev` and event data `evdata`. + trigger: ffi('int mgos_event_trigger(int, void *)'), + + // ## **`Event.evdataLogStr(evdata)`** + // Getter function for the `evdata` given to the event callback for the event + // `Event.LOG`, see `Event.addHandler()`. + evdataLogStr: function(evdata) { + return mkstr(Event._gdd(evdata), 0, Event._gdl(evdata), true); + }, + + _gdd: ffi('void *mgos_debug_event_get_ptr(void *)'), + _gdl: ffi('int mgos_debug_event_get_len(void *)'), +}; + +Event.SYS = Event.baseNumber("MOS"); + +// NOTE: INIT_DONE is unavailable here because init.js is executed in +// INIT_DONE hook + +// ## **`Event.LOG`** +// System event which is triggered every time something is printed to the +// log. In the callback, use `Event.evdataLogStr(evdata)` to get string +// which was printed. +Event.LOG = Event.SYS + 1; + +// ## **`Event.REBOOT`** +// System event which is triggered right before going to reboot. `evdata` +// is irrelevant for this event. +Event.REBOOT = Event.SYS + 2; + +// ## **`Event.OTA_STATUS`** +// System event which is triggered when OTA status changes. +// +// In the callback, use `OTA.evdataOtaStatusMsg(evdata)` from `api_ota.js` to +// get the OTA status message. +Event.OTA_STATUS = Event.SYS + 3; diff --git a/build/fs/api_file.js b/build/fs/api_file.js new file mode 100644 index 0000000..ea01b8d --- /dev/null +++ b/build/fs/api_file.js @@ -0,0 +1,63 @@ +let File = { + // **`File.read(name)`** + // Read the whole file into a string variable. + // + // Return value: a string contents of the file. + // If file does not exist, an empty string is returned. + // + // Example: read a .json configuration file into a config object: + // ```javascript + // let obj = JSON.parse(File.read('settings.json')); + // ``` + read: function(path) { + let n = 0; let res = ''; let buf = 'xxxxxxxxxx'; // Should be > 5 + let fp = File.fopen(path, 'r'); + if (fp === null) return null; + while ((n = File.fread(buf, 1, buf.length, fp)) > 0) { + res += buf.slice(0, n); + } + File.fclose(fp); + return res; + }, + + // **`File.remove(name)`** + // Delete file with a given name. Return value: 0 + // on success, non-0 on failure. + remove: ffi('int remove(char *)'), + + // **`File.rename(old, new)`** + // Rename file `old` to `new`. Return 0 on success, non-0 on failure. + rename: ffi('int rename(char *, char *)'), + + // **`File.write(str, name, mode)`** + // Write string `str` into file `name`. + // + // If file does not exist, it is created. `mode` is an optional file open + // mode argument, `'w'` by default, which means that previous content is + // deleted. Set `mode` to `'a'` in order to append to the existing content. + // Return value: number of bytes written. + // + // Example - write a configuration object into a file: + // ```javascript + // File.write(JSON.stringify(obj, 'settings.json')); + // ``` + write: function(str, path, oMode) { + let fp = File.fopen(path, oMode || 'w'); + if (fp === null) return 0; + let off = 0; let tot = str.length; + while (off < tot) { + let len = 5; // Use light 5-byte strings for writing + if (off + len > tot) len = tot - off; + let n = File.fwrite(str.slice(off, off + len), 1, len, fp); + // if (n <= 0) break; + off += n; + } + File.fclose(fp); + return off; + }, + + fopen: ffi('void *fopen(char *, char *)'), + fclose: ffi('void fclose(void *)'), + fread: ffi('int fread(char *, int, int, void *)'), + fwrite: ffi('int fwrite(char *, int, int, void *)'), +}; diff --git a/build/fs/api_gpio.js b/build/fs/api_gpio.js new file mode 100644 index 0000000..9656ed4 --- /dev/null +++ b/build/fs/api_gpio.js @@ -0,0 +1,75 @@ +let GPIO = { + // ## **`GPIO.set_mode(pin, mode)`** + // Set GPIO pin mode. + // `mode` can be either `GPIO.MODE_INPUT` or `GPIO.MODE_OUTPUT`. + set_mode: ffi('int mgos_gpio_set_mode(int,int)'), + MODE_INPUT: 0, + MODE_OUTPUT: 1, + + // ## **`GPIO.set_pull(pin, type)`** + // Set GPIO pin pull type. + // `type` can be either `GPIO.PULL_NONE`, `GPIO.PULL_UP`, or `GPIO.PULL_DOWN`. + set_pull: ffi('int mgos_gpio_set_pull(int,int)'), + PULL_NONE: 0, + PULL_UP: 1, + PULL_DOWN: 2, + + // ## **`GPIO.toggle(pin)`** + // Toggle the level of certain GPIO pin. + // Return value: 0 or 1, indicating the resulting pin level. + toggle: ffi('int mgos_gpio_toggle(int)'), + + // ## **`GPIO.write(pin, level)`** + // Set GPIO pin level to either 0 or 1. Return value: none. + write: ffi('void mgos_gpio_write(int,int)'), + + // ## **`GPIO.read(pin)`** + // Read GPIO pin level. Return value: 0 or 1. + read: ffi('int mgos_gpio_read(int)'), + + // ## **`GPIO.enable_int(pin)`** + // Enable interrupts on GPIO pin. + // This function must be called AFTER the interrupt handler is installed. + // Return value: 1 in case of success, 0 otherwise. + enable_int: ffi('int mgos_gpio_enable_int(int)'), + + // ## **`GPIO.disable_int(pin)`** + // Disable interrupts on GPIO pin. + // Return value: 1 in case of success, 0 otherwise. + disable_int: ffi('int mgos_gpio_disable_int(int)'), + + // ## **`GPIO.set_int_handler(pin, mode, handler)`** + // Install GPIO interrupt handler. `mode` could be one of: `GPIO.INT_NONE`, + // `GPIO.INT_EDGE_POS`, `GPIO.INT_EDGE_NEG`, `GPIO.INT_EDGE_ANY`, + // `GPIO.INT_LEVEL_HI`, `GPIO.INT_LEVEL_LO`. + // Return value: 1 in case of success, 0 otherwise. + // Example: + // ```javascript + // GPIO.set_mode(pin, GPIO.MODE_INPUT); + // GPIO.set_int_handler(pin, GPIO.INT_EDGE_NEG, function(pin) { + // print('Pin', pin, 'got interrupt'); + // }, null); + // GPIO.enable_int(pin); + // ``` + set_int_handler: ffi('int mgos_gpio_set_int_handler(int,int,void(*)(int,userdata),userdata)'), + INT_NONE: 0, + INT_EDGE_POS: 1, + INT_EDGE_NEG: 2, + INT_EDGE_ANY: 3, + INT_LEVEL_HI: 4, + INT_LEVEL_LO: 5, + + // ## **`GPIO.set_button_handler(pin, pull, intmode, period, handler)`** + // Install + // GPIO button handler. `pull` is pull type, `intmode` is interrupt mode, + // `period` is debounce interval in milliseconds, handler is a function that + // receives pin number. + // Return value: 1 in case of success, 0 otherwise. + // Example: + // ```javascript + // GPIO.set_button_handler(pin, GPIO.PULL_UP, GPIO.INT_EDGE_NEG, 200, function(x) { + // print('Button press, pin: ', x); + // }, null); + // ``` + set_button_handler: ffi('int mgos_gpio_set_button_handler(int,int,int,int,void(*)(int, userdata), userdata)'), +}; diff --git a/build/fs/api_grove.js b/build/fs/api_grove.js new file mode 100644 index 0000000..2579c09 --- /dev/null +++ b/build/fs/api_grove.js @@ -0,0 +1,88 @@ +load('api_gpio.js'); +load('api_adc.js'); + +let Grove = { + Button: { + // ## **`Grove.Button.attach(pin, handler)`** + // Attach a handler for the button on the given pin. Example: + // ```javascript + // Grove.Button.attach(pin, function(pin) { + // print('Button event at pin', pin); + // }, null); + // ``` + attach: function(pin, handler) { + GPIO.set_button_handler(pin, GPIO.PULL_UP, GPIO.INT_EDGE_NEG, 200, + handler, true); + }, + }, + _motionHandler: undefined, + MotionSensor: { + // ## **`Grove.MotionSensor.attach(pin, handler)`** + // Attach a handler for the motion sensor on the given pin. Example: + // ```javascript + // Grove.MotionSensor.attach(pin, function(pin) { + // print('Motion sensor event at pin', pin); + // }, null); + // ``` + attach: function(pin, handler) { + GPIO.set_mode(pin, GPIO.MODE_INPUT); + GPIO.set_int_handler(pin, GPIO.INT_EDGE_POS, handler, null); + GPIO.enable_int(pin); + Grove._motionHandler = handler; + }, + }, + LightSensor: { + // ## **`Grove.LightSensor.get(pin)`** + // Not implemented yet + get: function(pin) { + return ADC.read(pin); + }, + }, + MoistureSensor: { + // ## **`Grove.MoistureSensor.get(pin)`** + // Not implemented yet + get: function(pin) { + return ADC.read(pin); + }, + }, + UVSensor: { + // ## **`Grove.MoistureSensor.get(pin)`** + // Not implemented yet + get: function(pin) { + return ADC.read(pin); + }, + }, + _relayInited: undefined, + _relayClosed: 0, + Relay: { + _init: function(pin) { + if (Grove._relayInited !== 1) { + GPIO.set_mode(pin, GPIO.MODE_OUTPUT); + GPIO.set_pull(pin, GPIO.PULL_DOWN); + Grove._relayInited = 1; + } + }, + + // ## **`Grove.Relay.open(pin)`** + // Open relay at the given pin. + open: function(pin) { + this._init(pin); + GPIO.write(pin, 0); + Grove._relayClosed = 0; + }, + + // ## **`Grove.Relay.close(pin)`** + // Close relay at the given pin. + close: function(pin) { + this._init(pin); + GPIO.write(pin, 1); + Grove._relayClosed = 1; + }, + + // ## **`Grove.Relay.isClosed(pin)`** + // Returns 0 if relay is opened, or 1 if it's closed. + isClosed: function(pin) { + return Grove._relayClosed; + }, + }, +}; diff --git a/build/fs/api_http.js b/build/fs/api_http.js new file mode 100644 index 0000000..d88047d --- /dev/null +++ b/build/fs/api_http.js @@ -0,0 +1,111 @@ +load('api_net.js'); + +let URL = { + // ## **`URL.parse(url)`** + // Parse URL string, return and object with `ssl`, `addr`, `uri` keys. + // + // Example: + // ```javascript + // print(JSON.stringify(URL.parse('https://a.b:1234/foo?bar'))); + // // Prints: {"uri":"/foo?bar","addr":"a.b:1234","ssl":true} + // ``` + parse: function(url) { + let ssl = false, addr, port = '80', uri = '/', app = true; + if (url.slice(0, 8) === 'https://') { + port = '443'; + ssl = true; + url = url.slice(8); + } + if (url.slice(0, 7) === 'http://') { + url = url.slice(7); + } + addr = url; + for (let i = 0; i < url.length; i++) { + let ch = url[i]; + if (ch === ':') app = false; + if (ch === '/') { + addr = url.slice(0, i); + uri = url.slice(i); + break; + } + } + if (app) addr += ':' + port; + return {ssl: ssl, addr: addr, uri: uri}; + }, +}; + +let HTTP = { + _getm: ffi('void *mgos_get_msg_ptr(void *)'), + _getb: ffi('void *mgos_get_body_ptr(void *)'), + _mgp: ffi('void *mgos_get_mgstr_ptr(void *)'), + _mgl: ffi('int mgos_get_mgstr_len(void *)'), + + _c: ffi('void *mgos_connect_http(char *, void (*)(void *, int, void *, userdata), userdata)'), + _cs: ffi('void *mgos_connect_http_ssl(char *, void (*)(void *, int, void *, userdata), userdata, char *, char *, char *)'), + _sp: ffi('void mg_set_protocol_http_websocket(void *)'), + + _mstr: function(hmptr, func) { + let mgstr = func(hmptr); + return mkstr(this._mgp(mgstr), this._mgl(mgstr)); + }, + + // ## **`HTTP.query(options);`** + // Send HTTP request. Options object accepts the following fields: + // `url` - mandatory URL to fetch, `success` - optional callback function + // that receives reply body, `error` - optional error callback that receives + // error string, `data` - optional object with request parameters. + // By default, `GET` method is used. If `data` is specified, POST method + // is used, the `data` object gets `JSON.stringify()`-ed and used as a + // HTTP message body. + // + // In order to send HTTPS request, use `https://...` URL. Note that in that + // case `ca.pem` file must contain CA certificate of the requested server. + // + // Example: + // ```javascript + // HTTP.query({ + // url: 'http://httpbin.org/post', + // headers: { 'X-Foo': 'bar' }, // Optional - headers + // data: {foo: 1, bar: 'baz'}, // Optional. If set, JSON-encoded and POST-ed + // success: function(body, full_http_msg) { print(body); }, + // error: function(err) { print(err); }, // Optional + // }); + // ``` + query: function(opts) { + let url = URL.parse(opts.url || ''); + return Net.connect({ + addr: url.addr, + ssl: url.ssl, + u: url, + opts: opts, + onconnect: function(conn, edata, ud) { + let opts = ud.opts; + let body = opts.data || ''; + if (typeof(body) !== 'string') body = JSON.stringify(body); + let meth = body ? 'POST' : 'GET'; + let host = 'Host: ' + ud.u.addr + '\r\n'; + let cl = 'Content-Length: ' + JSON.stringify(body.length) + '\r\n'; + let hdrs = opts.headers || {}; + for (let k in hdrs) { + cl += k + ': ' + hdrs[k] + '\r\n'; + } + let req = meth + ' ' + ud.u.uri + ' HTTP/1.0\r\n' + host + cl + '\r\n'; + Net.send(conn, req); + Net.send(conn, body); + HTTP._sp(conn); + }, + onevent: function(conn, buf, ev, edata, ud) { + if (ev === 101 && ud.opts.success) { + let body = HTTP._mstr(edata, HTTP._getb); + let full = HTTP._mstr(edata, HTTP._getm); + ud.opts.success(body, full); + ud.ok = true; + } + }, + onclose: function(conn, ud) { + let opts = ud.opts; + if (!ud.ok && opts.error) opts.error('', 'Request failed', opts); + }, + }); + }, +}; diff --git a/build/fs/api_log.js b/build/fs/api_log.js new file mode 100644 index 0000000..fab9e3d --- /dev/null +++ b/build/fs/api_log.js @@ -0,0 +1,76 @@ +let Log = { + // ## **`Log.print(level, msg)`** + // Print message to stderr if provided + // level is >= `Cfg.get('debug.level')`. Possible levels are: + // - `Log.ERROR` (0) + // - `Log.WARN` (1) + // - `Log.INFO` (2) + // - `Log.DEBUG` (3) + // - `Log.VERBOSE_DEBUG` (4) + print: function(level, msg) { + let mjs = getMJS(); + // Frame number: we're starting from the third frame, ignoring the first + // two: + // - this._off() or this._fn() + // - Log.print() + let cfn = 2; + + // bcode offset of interest, and the corresponding function:lineno + let offs, fn, ln; + + // We'll go up by call trace until we find the frame not from the current + // file + while (true) { + offs = this._off(mjs, cfn) - 1; + fn = this._fn(mjs, offs); + if (fn !== "api_log.js") { + // Found the first frame from other file, we're done. + break; + } + cfn++; + } + ln = this._ln(mjs, offs); + this._pr(fn, ln, level, msg); + }, + + // ## **`Log.error(msg)`** + // Shortcut for `Log.print(Log.ERROR, msg)` + error: function(msg) { + this.print(this.ERROR, msg); + }, + + // ## **`Log.warn(msg)`** + // Shortcut for `Log.print(Log.WARN, msg)` + warn: function(msg) { + this.print(this.WARN, msg); + }, + + // ## **`Log.info(msg)`** + // Shortcut for `Log.print(Log.INFO, msg)` + info: function(msg) { + this.print(this.INFO, msg); + }, + + // ## **`Log.debug(msg)`** + // Shortcut for `Log.print(Log.DEBUG, msg)` + debug: function(msg) { + this.print(this.DEBUG, msg); + }, + + // ## **`Log.verboseDebug(msg)`** + // Shortcut for `Log.print(Log.VERBOSE_DEBUG, msg)` + verboseDebug: function(msg) { + this.print(this.VERBOSE_DEBUG, msg); + }, + + ERROR: 0, + WARN: 1, + INFO: 2, + DEBUG: 3, + VERBOSE_DEBUG: 4, + + _pr: ffi('void mgos_log(char *, int, int, char *)'), + _fn: ffi('char *mjs_get_bcode_filename_by_offset(void *, int)'), + _ln: ffi('int mjs_get_lineno_by_offset(void *, int)'), + _off: ffi('int mjs_get_offset_by_call_frame_num(void *, int)'), +}; diff --git a/build/fs/api_math.js b/build/fs/api_math.js new file mode 100644 index 0000000..2ca7f0f --- /dev/null +++ b/build/fs/api_math.js @@ -0,0 +1,62 @@ +let Math = { + + // ## **`Math.ceil(x)`** + // Rounds x upward, returning the smallest integral value that is not less + // than x. + ceil: ffi('double ceil(double)'), + + // ## **`Math.floor(x)`** + // Rounds x downward, returning the largest integral value that is not + // greater than x. + floor: ffi('double floor(double)'), + + // ## **`Math.round(x)`** + // Returns the integral value that is nearest to x, with halfway cases + // rounded away from zero. + round: ffi('double round(double)'), + + // ## **`Math.max(x, y)`** + // Returns the larger of its arguments: either `x` or `y`. + // If one of the arguments in a NaN, the other is returned. + max: ffi('double fmax(double, double)'), + + // ## **`Math.min(x, y)`** + // Returns the smaller of its arguments: either `x` or `y`. + // If one of the arguments in a NaN, the other is returned. + min: ffi('double fmin(double, double)'), + + // ## **`Math.abs(x)`** + // Returns the absolute value of `x`: |x|. + abs: ffi('double fabs(double)'), + + // ## **`Math.sqrt(x)`** + // Returns the square root of `x`. + sqrt: ffi('double sqrt(double)'), + + // ## **`Math.floor(x)`** + // Returns the base-e exponential function of `x`, which is e raised to the + // power `x`. + exp: ffi('double exp(double)'), + + // ## **`Math.log(x)`** + // Returns the natural logarithm of `x`. + log: ffi('double log(double)'), + + // ## **`Math.pow(base, exponent)`** + // Returns `base` raised to the power `exponent` + pow: ffi('double pow(double, double)'), + + // ## **`Math.sin(x)`** + // Returns the sine of an angle of `x` radians. + sin: ffi('double sin(double)'), + + // ## **`Math.cos(x)`** + // Returns the cosine of an angle of `x` radians. + cos: ffi('double cos(double)'), + + // ## **`Math.random(x)`** + // Returns the pseudo-random number from 0.0 to 1.0 + random: function() { return Math.rand() / 0x7fffffff; }, + + rand: ffi('int rand()'), +}; diff --git a/build/fs/api_net.js b/build/fs/api_net.js new file mode 100644 index 0000000..6e0376b --- /dev/null +++ b/build/fs/api_net.js @@ -0,0 +1,136 @@ +load('api_events.js'); + +let Net = { + _rb: ffi('void *mgos_get_recv_mbuf(void *)'), + _mptr: ffi('void *mgos_get_mbuf_ptr(void *)'), + _glen: ffi('int mgos_get_mbuf_len(void *)'), + _mrem: ffi('void mbuf_remove(void *, int)'), + _isin: ffi('bool mgos_is_inbound(void *)'), + + _bind: ffi('void *mgos_bind(char *, void (*)(void *, int, void *, userdata), userdata)'), + _c: ffi('void *mgos_connect(char *, void (*)(void *, int, void *, userdata), userdata)'), + _cs: ffi('void *mgos_connect_ssl(char *, void (*)(void *, int, void *, userdata), userdata, char *, char *, char *)'), + _send: ffi('void mg_send(void *, void *, int)'), + _ctos: ffi('int mg_conn_addr_to_str(void *, char *, int, int)'), + + // Return string contained in connection's recv_mbuf + _rbuf: function(conn) { + let rb = this._rb(conn); + return mkstr(this._mptr(rb), this._glen(rb)); + }, + + // **`Net.ctos(conn, local, ip, port)`** + // Convert address of a connection `conn` to string. Set `local` to + // `true` to stringify local address, otherwise `false` to stringify remote. + // Set `ip` to `true` to stringify IP, `port` to stringify port. Example: + // ```javascript + // print('Connection from:', Net.ctos(conn, false, true, true)); + // ``` + ctos: function(conn, local, ip, port) { + let buf = ' '; + let flags = (local ? 0 : 4) | (ip ? 1 : 0) | (port ? 2 : 0); + let n = this._ctos(conn, buf, buf.length, flags); + return buf.slice(0, n); + }, + + // **`Net.discard(conn, len)`** + // Remove initial `len` bytes of data from the connection's `conn` + // receive buffer in order to discard that data and reclaim RAM to the system. + discard: function(conn, len) { + this._mrem(this._rb(conn), len); + }, + + // Event handler. Expects an object with connect/data/close/event user funcs. + _evh: function(conn, ev, edata, obj) { + if (ev === 0) return; + + if (ev === 1 || ev === 2) { + if (obj.onconnect) obj.onconnect(conn, edata, obj); + } else if (ev === 3) { + if (obj.ondata) obj.ondata(conn, Net._rbuf(conn), obj); + } else if (ev === 5) { + if (obj.onclose) obj.onclose(conn, obj); + let inb = Net._isin(conn); // Is this an inbound connection ? + if (!inb) ffi_cb_free(Net._evh, obj); + } else if (ev >= 6) { + if (obj.onevent) obj.onevent(conn, Net._rbuf(conn), ev, edata, obj); + } + }, + + // ## **`Net.serve(options)`** + // Start TCP or UDP server. `options` is an object: + // ```javascript + // { + // // Required. Port to listen on, 'tcp://PORT' or `udp://PORT`. + // addr: 'tcp://1234', + // // Optional. Called when connection is established. + // onconnect: function(conn) {}, + // // Optional. Called when new data is arrived. + // ondata: function(conn, data) {}, + // // Optional. Called when protocol-specific event is triggered. + // onevent: function(conn, data, ev, edata) {}, + // // Optional. Called when the connection is about to close. + // onclose: function(conn) {}, + // // Optional. Called when on connection error. + // onerror: function(conn) {}, + // } + // ``` + // Example - a UDP echo server. Change `udp://` to `tcp://` to turn this + // example into the TCP echo server: + // ```javascript + // Net.serve({ + // addr: 'udp://1234', + // ondata: function(conn, data) { + // print('Received from:', Net.ctos(conn, false, true, true), ':', data); + // Net.send(conn, data); // Echo received data back + // Net.discard(conn, data.length); // Discard received data + // }, + // }); + // ``` + serve: function(obj) { + return this._bind(obj.addr, this._evh, obj); + }, + + // ## **`Net.connect(options)`** + // Connect to a remote host. `options` is the same as for the `Net.serve`. + // The addr format is `[PROTO://]HOST:PORT`. `PROTO` could be `tcp` or + // `udp`. `HOST` could be an IP address or a host name. If `HOST` is a name, + // it will be resolved asynchronously. + // + // Examples of valid addresses: `google.com:80`, `udp://1.2.3.4:53`, + // `10.0.0.1:443`, `[::1]:80`. + connect: function(obj) { + if (obj.ssl) { + return this._cs(obj.addr, this._evh, obj, obj.cert || '', obj.key || '', obj.ca_cert || 'ca.pem'); + } else { + return this._c(obj.addr, this._evh, obj); + } + }, + + // ## **`Net.close(conn)`** + // Send all pending data to the remote peer, + // and disconnect when all data is sent. + // Return value: none. + close: ffi('void mgos_disconnect(void *)'), + + // ## **`Net.send(conn, data)`** + // Send data to the remote peer. `data` is an mJS string. + // Return value: none. + send: function(c, msg) { + return Net._send(c, msg, msg.length); + }, + + // ## **`Net.EVENT_GRP`** + // Net events group, to be used with `Event.addGroupHandler()`. Possible + // events are: + // - `Net.STATUS_DISCONNECTED` + // - `Net.STATUS_CONNECTING` + // - `Net.STATUS_CONNECTED` + // - `Net.STATUS_GOT_IP` + EVENT_GRP: Event.baseNumber("NET"), +}; + +Net.STATUS_DISCONNECTED = Net.EVENT_GRP + 0; +Net.STATUS_CONNECTING = Net.EVENT_GRP + 1; +Net.STATUS_CONNECTED = Net.EVENT_GRP + 2; +Net.STATUS_GOT_IP = Net.EVENT_GRP + 3; diff --git a/build/fs/api_rpc.js b/build/fs/api_rpc.js new file mode 100644 index 0000000..7fb16bc --- /dev/null +++ b/build/fs/api_rpc.js @@ -0,0 +1,71 @@ +let RPC = { + _sdup: ffi('void *strdup(char *)'), + _ah: ffi('void *mgos_rpc_add_handler(void *, void (*)(void *, char *, char *, userdata), userdata)'), + _resp: ffi('bool mgos_rpc_send_response(void *, char *)'), + _call: ffi('bool mgos_rpc_call(char *, char *, char *, void (*)(char *, int, char *, userdata), userdata)'), + _err: ffi('bool mg_rpc_send_errorf(void *, int, char *, char *)'), + + _ahcb: function(ri, args, src, ud) { + // NOTE(lsm): not using `this` here deliberately. Calleth from C. + let resp = ud.cb(JSON.parse(args || 'null'), src, ud.ud); + if (typeof(resp) === 'object' && typeof(resp.error) === 'number') { + RPC._err(ri, resp.error, '%s', resp.message || ''); + } else { + RPC._resp(ri, JSON.stringify(resp)); + } + // NOTE: we don't call ffi_cb_free here because this handler might be used + // more than once + }, + + _ccb: function(res, code, msg, ud) { + ud.cb(res ? JSON.parse(res) : null, code, msg, ud.ud); + ffi_cb_free(RPC._ccb, ud); + }, + + LOCAL: "RPC.LOCAL", + + // ## **`RPC.addHandler(name, handler)`** + // Add RPC handler. `name` is a string like `'MyMethod'`, `handler` + // is a callback function which takes `args` arguments object. + // If a handler returns an object with a numeric `error` attribute and + // optional `message` string attribute, the caller will get a failure. + // + // Return value: none. + // + // Example: + // ```javascript + // RPC.addHandler('Sum', function(args) { + // if (typeof(args) === 'object' && typeof(args.a) === 'number' && + // typeof(args.b) === 'number') { + // return args.a + args.b; + // } else { + // return {error: -1, message: 'Bad request. Expected: {"a":N1,"b":N2}'}; + // } + // }); + // ``` + addHandler: function(name, cb, ud) { + let data = {cb: cb, ud: ud}; + // TODO(lsm): get rid of this strdup() leak. One-off, but still ugly. + this._ah(this._sdup(name), this._ahcb, data); + }, + + // ## **`RPC.call(dst, method, args, callback)`** + // Call remote or local RPC service. + // Return value: true in case of success, false otherwise. + // + // If `dst` is empty, connected server is implied. `method` is a string + // like "MyMethod", `callback` is a callback function which takes the following + // arguments: res (results object), err_code (0 means success, or error code + // otherwise), err_msg (error messasge for non-0 error code), userdata. Example: + // + // ```javascript + // RPC.call(RPC.LOCAL, 'Config.Save', {reboot: true}, function (resp, ud) { + // print('Response:', JSON.stringify(resp)); + // }, null); + // ``` + call: function(dst, name, args, cb, ud) { + let data = {cb: cb, ud: ud}; + return this._call(dst, name, JSON.stringify(args), this._ccb, data); + }, +}; + diff --git a/build/fs/api_sys.js b/build/fs/api_sys.js new file mode 100644 index 0000000..14df2c8 --- /dev/null +++ b/build/fs/api_sys.js @@ -0,0 +1,46 @@ +let Sys = { + // ## **`Sys._sbuf(len)`** + // Helper function to allocate string of at least given length. Note that + // the resulting string is usually bigger than this, and it is always + // longer than 5 bytes; that's to guarantee that the string data is stored in + // a common buffer and not inlined into mjs_val_t, thus the buffer can be + // used as an "output" buffer: a string can be passed to some function which + // will alter the contents, and these changes will be visible to the caller. + _sbuf: function(len) { + let chunk = ' ', buf = chunk; + while (buf.length < len) buf += chunk; + return buf; + }, + + // ## **`Sys.calloc(nmemb, size)`** + // Allocate a memory region. + // Note: currently memory allocated this way must be explicitly released with `free()`. + malloc: ffi('void *malloc(int)'), + free: ffi('void free(void *)'), + + // ## **`Sys.total_ram()`** + // Return total available RAM in bytes. + total_ram: ffi('int mgos_get_heap_size()'), + + // ## **`Sys.free_ram()`** + // Return free available RAM in bytes. + free_ram: ffi('int mgos_get_free_heap_size()'), + + // ## **`Sys.reboot(us)`** + // Reboot the system after `us` microseconds. Return value: none. + reboot: ffi('void mgos_system_restart(int)'), + + // ## **`Sys.uptime()`** + // Return number of seconds since last reboot. + uptime: ffi('double mgos_uptime()'), + + // ## **`Sys.usleep(microseconds)`** + // Sleep given number of microseconds. + // Return value: none. + usleep: ffi('void mgos_usleep(int)'), + + // ## **`Sys.wdt_feed()`** + // Feed the watchdog timer. + // Return value: none. + wdt_feed: ffi('void mgos_wdt_feed()') +}; diff --git a/build/fs/api_timer.js b/build/fs/api_timer.js new file mode 100644 index 0000000..e324086 --- /dev/null +++ b/build/fs/api_timer.js @@ -0,0 +1,54 @@ +load('api_math.js'); + +let Timer = { + _f: ffi('int mgos_strftime(char *, int, char *, int)'), + + // ## **`Timer.set(milliseconds, flags, handler, userdata)`** + // Setup timer with `milliseconds` timeout and `handler` as a callback. + // `flags` can be either 0 or `Timer.REPEAT`. In the latter case, the call + // will be repeated indefinitely (but can be cancelled with `Timer.del()`), + // otherwise it's a one-off. + // + // Return value: numeric timer ID. + // + // Example: + // ```javascript + // // Call every second + // Timer.set(1000, Timer.REPEAT, function() { + // let value = GPIO.toggle(2); + // print(value ? 'Tick' : 'Tock'); + // }, null); + // ``` + set: ffi('int mgos_set_timer(int,int,void(*)(userdata),userdata)'), + + REPEAT: 1, + + // ## **`Timer.now()`** + // Return current time as double value, UNIX epoch (seconds since 1970). + now: ffi('double mg_time(void)'), + + // ## **`Timer.del(id)`** + // Cancel previously installed timer. + del: ffi('void mgos_clear_timer(int)'), + + // ## **`Timer.fmt(fmt, time)`** + // Formats the time 'time' according to the strftime-like format + // specification 'fmt'. The strftime reference can be found e.g. + // [here](http://www.cplusplus.com/reference/ctime/strftime/). + // Example: + // ```javascript + // let now = Timer.now(); + // let s = Timer.fmt("Now it's %I:%M%p.", now); + // print(s); // Example output: "Now it's 12:01AM." + // ``` + fmt: function(fmt, time) { + if (!fmt) return 'invalid format'; + let res = 0, t = Math.round(time || Timer.now()), s = ' '; + while (res === 0) { + res = this._f(s, s.length, fmt, t); + if (res === -1) return 'invalid time'; + if (res === 0) s += ' '; + } + return s.slice(0, res); + }, +}; diff --git a/build/fs/api_uart.js b/build/fs/api_uart.js new file mode 100644 index 0000000..9346395 --- /dev/null +++ b/build/fs/api_uart.js @@ -0,0 +1,165 @@ +// UART API. Source C API is defined at: +// [mgos_uart.h](https://github.com/cesanta/mongoose-os/blob/master/fw/src/mgos_uart.h) +let UART = { + _free: ffi('void free(void *)'), + _cdef: ffi('void *mgos_uart_config_get_default(int)'), + _cbp: ffi('void mgos_uart_config_set_basic_params(void *, int, int, int, int)'), + _crx: ffi('void mgos_uart_config_set_rx_params(void *, int, int, int)'), + _ctx: ffi('void mgos_uart_config_set_tx_params(void *, int, int)'), + _cfg: ffi('int mgos_uart_configure(int, void *)'), + _wr: ffi('int mgos_uart_write(int, char *, int)'), + _rd: ffi('int mgos_uart_read(int, void *, int)'), + + // ## **`UART.setConfig(uartNo, param)`** + // Set UART config. `param` is an + // object with the following optional fields: + // + // - `baudRate`: baud rate, integer, default: 115200; + // - `numDataBits`: Number of data bits, default: 8; + // - `parity`: Parity: 0 - none, 1 - even, 2 - odd; default: none; + // - `numStopBits`: Number of stop bits: 1 - 1 bit, 2 - 2 bits, 3 - 1.5; default: 1; + // - `rxBufSize`: size of the Rx buffer, integer, default: 256; + // - `rxFlowControl`: whether Rx flow control (RTS pin) is enabled, boolean, + // default: false; + // - `rxLingerMicros`: how many microseconds to linger after Rx fifo + // is empty, in case more data arrives. Integer, default: 15; + // - `txBufSize`: size of the Tx buffer, integer, default: 256; + // - `txFlowControl`: whether Tx flow control (CTS pin) is enabled, boolean, + // default: false; + // + // Other than that, there are architecture-dependent settings, grouped in + // the objects named with the architecture name: "esp32", "esp8266", etc. + // + // Settings for esp32: + // + // ``` + // esp32: { + // /* + // * GPIO pin numbers, default values depend on UART. + // * + // * UART 0: Rx: 3, Tx: 1, CTS: 19, RTS: 22 + // * UART 1: Rx: 13, Tx: 14, CTS: 15, RTS: 16 + // * UART 2: Rx: 17, Tx: 25, CTS: 26, RTS: 27 + // */ + // gpio: { + // rx: number, + // tx: number, + // cts: number, + // rts: number, + // }, + // + // /* Hardware FIFO tweaks */ + // fifo: { + // /* + // * A number of bytes in the hardware Rx fifo, should be between 1 and 127. + // * How full hardware Rx fifo should be before "rx fifo full" interrupt is + // * fired. + // */ + // rxFullThresh: number, + // + // /* + // * A number of bytes in the hardware Rx fifo, should be more than + // * rx_fifo_full_thresh. + // * + // * How full hardware Rx fifo should be before CTS is deasserted, telling + // * the other side to stop sending data. + // */ + // rxFcThresh: number, + // + // /* + // * Time in uart bit intervals when "rx fifo full" interrupt fires even if + // * it's not full enough + // */ + // rxAlarm: number, + // + // /* + // * A number of bytes in the hardware Tx fifo, should be between 1 and 127. + // * When the number of bytes in Tx buffer becomes less than + // * tx_fifo_empty_thresh, "tx fifo empty" interrupt fires. + // */ + // txEmptyThresh: number, + // }, + // } + // ``` + setConfig: function(uartNo, param) { + let cfg = this._cdef(uartNo); + + this._cbp(cfg, param.baudRate || 115200, + param.numDataBits || 8, + param.parity || 0, + param.numStopBits || 1); + + this._crx( + cfg, + param.rxBufSize || 256, + param.rxFlowControl || false, + param.rxLingerMicros || 15 + ); + + this._ctx( + cfg, + param.txBufSize || 256, + param.txFlowControl || false + ); + + // Apply arch-specific config + if (this._arch !== undefined) { + this._arch.scfg(uartNo, cfg, param); + } + + let res = this._cfg(uartNo, cfg); + + this._free(cfg); + cfg = null; + + return res; + }, + + // ## **`UART.setDispatcher(uartNo, callback, userdata)`** + // Set UART dispatcher + // callback which gets invoked when there is a new data in the input buffer + // or when the space becomes available on the output buffer. + // + // Callback receives the following arguments: `(uartNo, userdata)`. + setDispatcher: ffi('void mgos_uart_set_dispatcher(int, void(*)(int, userdata), userdata)'), + + // ## **`UART.write(uartNo, data)`** + // Write data to the buffer. Returns number of bytes written. + // + // Example usage: `UART.write(1, "foobar")`, in this case, 6 bytes will be written. + write: function(uartNo, data) { + this._wr(uartNo, data, data.length); + }, + + // ## **`UART.writeAvail(uartNo)`** + // Return amount of space available in the output buffer. + writeAvail: ffi('int mgos_uart_write_avail(int)'), + + // ## **`UART.read(uartNo)`** + // It never blocks, and returns a string containing + // read data (which will be empty if there's no data available). + read: function(uartNo) { + let n = 0; let res = ''; let buf = 'xxxxxxxxxx'; // Should be > 5 + while ((n = this._rd(uartNo, buf, buf.length)) > 0) { + res += buf.slice(0, n); + } + return res; + }, + // ## **`UART.readAvail(uartNo)`** + // Return amount of data available in the input buffer. + readAvail: ffi('int mgos_uart_read_avail(int)'), + + // ## **`UART.setRxEnabled(uartNo)`** + // Set whether Rx is enabled. + setRxEnabled: ffi('void mgos_uart_set_rx_enabled(int, int)'), + // ## **`UART.isRxEnabled(uartNo)`** + // Returns whether Rx is enabled. + isRxEnabled: ffi('int mgos_uart_is_rx_enabled(int)'), + + // ## **`UART.flush(uartNo)`** + // Flush the UART output buffer, wait for the data to be sent. + flush: ffi('void mgos_uart_flush(int)'), +}; + +// Load arch-specific API +load('api_arch_uart.js'); diff --git a/build/fs/api_wifi.js b/build/fs/api_wifi.js new file mode 100644 index 0000000..b3d9c1a --- /dev/null +++ b/build/fs/api_wifi.js @@ -0,0 +1,36 @@ +// Wifi global object is created during C initialization. + +// ## **`Wifi.scan(cb)`** +// Scan WiFi networks, call `cb` when done. +// `cb` accepts a single argument `results`, which is +// either `undefined` in case of error, or an array of object containing: +// ```javascript +// { +// "ssid": "NetworkName", +// "bssid": "12:34:56:78:90:ab", +// "authMode": Wifi.AUTH_MODE_WPA_PSK, // Auth mode, one of AUTH constants. +// "channel": 11, +// "rssi": -70 +// } +// ``` +// Example: +// ```javascript +// Wifi.scan(function(results) { +// print(JSON.stringify(results)); +// }); +// ``` + +// Must be kept in sync with enum mgos_wifi_auth_mode +// ## **Auth modes** +// - `Wifi.AUTH_MODE_OPEN` +// - `Wifi.AUTH_MODE_WEP` +// - `Wifi.AUTH_MODE_WPA_PSK` +// - `Wifi.AUTH_MODE_WPA2_PSK` +// - `Wifi.AUTH_MODE_WPA_WPA2_PSK` +// - `Wifi.AUTH_MODE_WPA2_ENTERPRISE` +Wifi.AUTH_MODE_OPEN = 0; +Wifi.AUTH_MODE_WEP = 1; +Wifi.AUTH_MODE_WPA_PSK = 2; +Wifi.AUTH_MODE_WPA2_PSK = 3; +Wifi.AUTH_MODE_WPA_WPA2_PSK = 4; +Wifi.AUTH_MODE_WPA2_ENTERPRISE = 5; diff --git a/build/fs/ca.pem b/build/fs/ca.pem new file mode 100644 index 0000000..1953559 --- /dev/null +++ b/build/fs/ca.pem @@ -0,0 +1,298 @@ +Subject: O=Digital Signature Trust Co., CN=DST Root CA X3 +Not Before: Sep 30 21:12:19 2000 GMT +Not After : Sep 30 14:01:15 2021 GMT +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root +Not Before: May 12 18:46:00 2000 GMT +Not After : May 12 23:59:00 2025 GMT +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA +Not Before: May 21 04:00:00 2002 GMT +Not After : May 21 04:00:00 2022 GMT +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, CN=Symantec Class 3 ECC 256 bit SSL CA - G2 +Not Before: May 12 00:00:00 2015 GMT +Not After : May 11 23:59:59 2025 GMT +-----BEGIN CERTIFICATE----- +MIIEajCCA1KgAwIBAgIQP5KHvp0dpKN6nfYoLndaxDANBgkqhkiG9w0BAQsFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTUwNTEyMDAwMDAwWhcNMjUwNTExMjM1OTU5WjCBgDEL +MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYD +VQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEwLwYDVQQDEyhTeW1hbnRlYyBD +bGFzcyAzIEVDQyAyNTYgYml0IFNTTCBDQSAtIEcyMFkwEwYHKoZIzj0CAQYIKoZI +zj0DAQcDQgAEDxukkdfnrOfRTk63ZFvhj39uBNOrONtEt0Bcbb2WljffeYmGZ/ex +Hwie/WM7RoyfvVPoFdyXPiuBRq2Gfw4BOaOCAV0wggFZMC4GCCsGAQUFBwEBBCIw +IDAeBggrBgEFBQcwAYYSaHR0cDovL3Muc3ltY2QuY29tMBIGA1UdEwEB/wQIMAYB +Af8CAQAwZQYDVR0gBF4wXDBaBgpghkgBhvhFAQc2MEwwIwYIKwYBBQUHAgEWF2h0 +dHBzOi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUFBwICMBkaF2h0dHBzOi8vZC5z +eW1jYi5jb20vcnBhMC8GA1UdHwQoMCYwJKAioCCGHmh0dHA6Ly9zLnN5bWNiLmNv +bS9wY2EzLWc1LmNybDAOBgNVHQ8BAf8EBAMCAQYwKwYDVR0RBCQwIqQgMB4xHDAa +BgNVBAMTE1NZTUMtRUNDLUNBLXAyNTYtMjIwHQYDVR0OBBYEFCXwiuFLetkBlQrt +xlPxjHgf2fP4MB8GA1UdIwQYMBaAFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBCwUAA4IBAQAMMGUXBaWTdaLxsTGtcB/naqjIQrLvoV9NG+7MoHpGd/69 +dZ/h2zOy7sGFUHoG/0HGRA9rxT/5w5GkEVIVkxtWyIWWq6rs4CTZt8Bej/KHYRbo +jtEDUkCTZSTLiCvguPyvinXgxy+LHT+PmdtEfXsvcdbeBSWUYpOsDYvD2hNtz9dw +Od5nBosMApmdxt+z7LQyZu8wMnfI1U6IMO+RWowxZ8uy0oswdFYd32l9xe+aAE/k +y9alLu/M9pvxiUKufqHJRgDBKA6uDjHLMPX+/nxXaNCPX3SI4KVZ1stHQ/U5oNlM +dHN9umAvlU313g0IgJrjsQ2nIdf9dsdP+6lrmP7s +-----END CERTIFICATE----- + +Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 +Not Before: Nov 8 00:00:00 2006 GMT +Not After : Jul 16 23:59:59 2036 GMT +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +Subject: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority +Not Before: Jun 29 17:06:20 2004 GMT +Not After : Jun 29 17:06:20 2034 GMT +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +Subject: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority +Not Before: Jun 29 17:39:16 2004 GMT +Not After : Jun 29 17:39:16 2034 GMT +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +Not Before: Sep 1 00:00:00 2009 GMT +Not After : Dec 31 23:59:59 2037 GMT +Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2 +Not Before: Sep 1 00:00:00 2009 GMT +Not After : Dec 31 23:59:59 2037 GMT +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +Subject: OU=GlobalSign Root CA - R2, O=GlobalSign, CN=GlobalSign +Not Before: Dec 15 08:00:00 2006 GMT +Not After : Dec 15 08:00:00 2021 GMT +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA +Not Before: Nov 10 00:00:00 2006 GMT +Not After : Nov 10 00:00:00 2031 GMT +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- diff --git a/build/fs/conf0.json b/build/fs/conf0.json new file mode 100644 index 0000000..0a6820f --- /dev/null +++ b/build/fs/conf0.json @@ -0,0 +1,115 @@ +{ + "device": { + "id": "HiGrow_??????", + "password": "" + }, + "debug": { + "udp_log_addr": "", + "level": 2, + "filter": "", + "stdout_uart": 0, + "stderr_uart": 0, + "factory_reset_gpio": -1, + "mg_mgr_hexdump_file": "", + "mbedtls_level": 0 + }, + "sys": { + "mount": { + "path": "", + "dev_type": "", + "dev_opts": "", + "fs_type": "", + "fs_opts": "" + }, + "tz_spec": "", + "wdt_timeout": 30, + "pref_ota_lib": "", + "esp32_adc_vref": 0 + }, + "conf_acl": "*", + "bt": { + "enable": true, + "dev_name": "HiGrowBT_", + "adv_enable": true, + "scan_rsp_data_hex": "", + "keep_enabled": false, + "allow_pairing": true, + "max_paired_devices": -1, + "random_address": true, + "gatts": { + "min_sec_level": 0, + "require_pairing": false + }, + "config_svc_enable": true + }, + "mjs": { + "generate_jsc": true + }, + "rpc": { + "enable": true, + "max_frame_size": 4096, + "max_queue_length": 25, + "default_out_channel_idle_close_timeout": 10, + "acl_file": "", + "auth_domain": "", + "auth_file": "", + "ws": { + "enable": true, + "server_address": "", + "reconnect_interval_min": 1, + "reconnect_interval_max": 60, + "ssl_server_name": "", + "ssl_ca_file": "", + "ssl_client_cert_file": "" + }, + "uart": { + "uart_no": 0, + "baud_rate": 115200, + "fc_type": 2, + "wait_for_start_frame": true + } + }, + "wifi": { + "sta": { + "enable": false, + "ssid": "", + "pass": "", + "user": "", + "anon_identity": "", + "cert": "", + "key": "", + "ca_cert": "", + "ip": "", + "netmask": "", + "gw": "", + "nameserver": "", + "dhcp_hostname": "" + }, + "ap": { + "enable": false, + "ssid": "Mongoose_??????", + "pass": "Mongoose", + "hidden": false, + "channel": 6, + "max_connections": 10, + "ip": "192.168.4.1", + "netmask": "255.255.255.0", + "gw": "192.168.4.1", + "dhcp_start": "192.168.4.2", + "dhcp_end": "192.168.4.100", + "trigger_on_gpio": -1, + "disable_after": 0, + "hostname": "", + "keep_enabled": true + } + }, + "higrow": { + "deviceId": "", + "temperature": 0.0, + "humidity": 0.0, + "light": 0, + "moisture": 0, + "connected": false, + "battery_calibration": 2360 + } +} \ No newline at end of file diff --git a/build/fs/init.js b/build/fs/init.js new file mode 100644 index 0000000..0593ab1 --- /dev/null +++ b/build/fs/init.js @@ -0,0 +1,95 @@ +load('api_config.js'); +load('api_events.js'); +load('api_gpio.js'); +load('api_http.js'); +load('api_net.js'); +load('api_sys.js'); +load('api_timer.js'); +load('api_esp32.js'); +load('api_dht.js'); +load('api_adc.js'); +load('api_rpc.js'); + +//Pins +let ResetPin = 0; +let LedPin = 16; +let DHTpin = 22; +let SOILpin = 32; +let LIGHTpin = 34; + +// Turn on status led +GPIO.set_mode(LedPin, GPIO.MODE_OUTPUT); +GPIO.write(LedPin, 0); + +//Reset Handler +GPIO.set_mode(ResetPin, GPIO.MODE_INPUT); +GPIO.set_int_handler(ResetPin, GPIO.INT_EDGE_NEG, function(ResetPin) { + print('Pin', ResetPin, 'got interrupt'); + GPIO.toggle(LedPin); + Sys.usleep(200000); + GPIO.toggle(LedPin); + Sys.usleep(200000); + GPIO.toggle(LedPin); + Sys.usleep(200000); + GPIO.toggle(LedPin); + Sys.usleep(200000); + GPIO.toggle(LedPin); + Sys.usleep(200000); + GPIO.write(LedPin, 0); + + Cfg.set({bt:{enable:true}}); + Cfg.set({wifi:{sta:{enable:false}}}); + Cfg.set({wifi:{ap:{enable:false}}}); + Cfg.set({wifi:{sta:{ssid:'',pass:''}}}); + + Sys.reboot(1000); +}, null); +GPIO.enable_int(ResetPin); + +ADC.enable(SOILpin); +let dht = DHT.create(DHTpin, DHT.DHT11); +let deviceId = Cfg.get("higrow.deviceId"); +if (deviceId === "") +{ + deviceId = Cfg.get("device.id"); + Cfg.set("higrow.devideId", deviceId); +} + +let connected = false; +let readSensors = Timer.set(15000, Timer.REPEAT, function() { + let t = dht.getTemp(); + let h = dht.getHumidity(); + let m = ADC.read(SOILpin); + let l = ADC.read(LIGHTpin); + + print("DeviceId:", deviceId,"Temperature:",t,"Humidity:",h,"Moisture:",m,"Light:",l); + + //Timer.del(readSensors); + + //ESP32.deepSleep(3600000000); //3600 seconds / 60 minutes + /* + Cfg.set({higrow:{temperature:jsonData.Temperature}}); + Cfg.set({higrow:{moisture:jsonData.Water}}); + Cfg.set({higrow:{humidity:jsonData.Humidity}}); + Cfg.set({higrow:{light:jsonData.Light}}); + */ +}, null); + +// Monitor network connectivity. +Event.addGroupHandler(Net.EVENT_GRP, function(ev, evdata, arg) { + let status = true && connected; + let evs = '???'; + if (ev === Net.STATUS_DISCONNECTED) { + evs = 'DISCONNECTED'; + connected = false; + } else if (ev === Net.STATUS_CONNECTING) { + evs = 'CONNECTING'; + connected = false; + } else if (ev === Net.STATUS_CONNECTED) { + evs = 'CONNECTED'; + connected = false; + } else if (ev === Net.STATUS_GOT_IP) { + evs = 'GOT_IP'; + connected = true; + } +}, null); diff --git a/build/fw.zip b/build/fw.zip new file mode 100644 index 0000000..f5bdf88 Binary files /dev/null and b/build/fw.zip differ diff --git a/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-1.0.zip b/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-1.0.zip new file mode 100644 index 0000000..f5bdf88 Binary files /dev/null and b/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-1.0.zip differ diff --git a/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-last.zip b/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-last.zip new file mode 100644 index 0000000..f5bdf88 Binary files /dev/null and b/build/fw/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware-esp32-last.zip differ diff --git a/build/gen/build_ctx.txt b/build/gen/build_ctx.txt new file mode 100644 index 0000000..62c9e2c --- /dev/null +++ b/build/gen/build_ctx.txt @@ -0,0 +1 @@ +build_ctx_913791226 \ No newline at end of file diff --git a/build/gen/build_info.c b/build/gen/build_info.c new file mode 100644 index 0000000..4c1bc95 --- /dev/null +++ b/build/gen/build_info.c @@ -0,0 +1,4 @@ +/* Auto-generated, do not edit. */ +const char *build_id = "20180218-011554/???"; +const char *build_timestamp = "2018-02-18T01:15:54Z"; +const char *build_version = "1.0"; diff --git a/build/gen/build_info.json b/build/gen/build_info.json new file mode 100644 index 0000000..6d77d19 --- /dev/null +++ b/build/gen/build_info.json @@ -0,0 +1,5 @@ +{ + "build_id": "20180218-011554/???", + "build_timestamp": "2018-02-18T01:15:54Z", + "build_version": "1.0" +} \ No newline at end of file diff --git a/build/gen/build_stat.json b/build/gen/build_stat.json new file mode 100644 index 0000000..11dbf02 --- /dev/null +++ b/build/gen/build_stat.json @@ -0,0 +1,6 @@ +{ + "arch": "esp32", + "platform": "esp32", + "app_name": "LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware", + "build_time_ms": 31259 +} \ No newline at end of file diff --git a/build/gen/conf0.json b/build/gen/conf0.json new file mode 100644 index 0000000..0a6820f --- /dev/null +++ b/build/gen/conf0.json @@ -0,0 +1,115 @@ +{ + "device": { + "id": "HiGrow_??????", + "password": "" + }, + "debug": { + "udp_log_addr": "", + "level": 2, + "filter": "", + "stdout_uart": 0, + "stderr_uart": 0, + "factory_reset_gpio": -1, + "mg_mgr_hexdump_file": "", + "mbedtls_level": 0 + }, + "sys": { + "mount": { + "path": "", + "dev_type": "", + "dev_opts": "", + "fs_type": "", + "fs_opts": "" + }, + "tz_spec": "", + "wdt_timeout": 30, + "pref_ota_lib": "", + "esp32_adc_vref": 0 + }, + "conf_acl": "*", + "bt": { + "enable": true, + "dev_name": "HiGrowBT_", + "adv_enable": true, + "scan_rsp_data_hex": "", + "keep_enabled": false, + "allow_pairing": true, + "max_paired_devices": -1, + "random_address": true, + "gatts": { + "min_sec_level": 0, + "require_pairing": false + }, + "config_svc_enable": true + }, + "mjs": { + "generate_jsc": true + }, + "rpc": { + "enable": true, + "max_frame_size": 4096, + "max_queue_length": 25, + "default_out_channel_idle_close_timeout": 10, + "acl_file": "", + "auth_domain": "", + "auth_file": "", + "ws": { + "enable": true, + "server_address": "", + "reconnect_interval_min": 1, + "reconnect_interval_max": 60, + "ssl_server_name": "", + "ssl_ca_file": "", + "ssl_client_cert_file": "" + }, + "uart": { + "uart_no": 0, + "baud_rate": 115200, + "fc_type": 2, + "wait_for_start_frame": true + } + }, + "wifi": { + "sta": { + "enable": false, + "ssid": "", + "pass": "", + "user": "", + "anon_identity": "", + "cert": "", + "key": "", + "ca_cert": "", + "ip": "", + "netmask": "", + "gw": "", + "nameserver": "", + "dhcp_hostname": "" + }, + "ap": { + "enable": false, + "ssid": "Mongoose_??????", + "pass": "Mongoose", + "hidden": false, + "channel": 6, + "max_connections": 10, + "ip": "192.168.4.1", + "netmask": "255.255.255.0", + "gw": "192.168.4.1", + "dhcp_start": "192.168.4.2", + "dhcp_end": "192.168.4.100", + "trigger_on_gpio": -1, + "disable_after": 0, + "hostname": "", + "keep_enabled": true + } + }, + "higrow": { + "deviceId": "", + "temperature": 0.0, + "humidity": 0.0, + "light": 0, + "moisture": 0, + "connected": false, + "battery_calibration": 2360 + } +} \ No newline at end of file diff --git a/build/gen/deps_init.c b/build/gen/deps_init.c new file mode 100644 index 0000000..0e6ad3c --- /dev/null +++ b/build/gen/deps_init.c @@ -0,0 +1,105 @@ +#include +#include + +#include "common/cs_dbg.h" + +#include "mgos_app.h" + + +extern bool mgos_adc_init(void); +extern bool mgos_bt_common_init(void); +extern bool mgos_bt_service_config_init(void); +extern bool mgos_ca_bundle_init(void); +extern bool mgos_dht_init(void); +extern bool mgos_mjs_init(void); +extern bool mgos_rpc_common_init(void); +extern bool mgos_rpc_service_config_init(void); +extern bool mgos_rpc_service_fs_init(void); +extern bool mgos_rpc_uart_init(void); +extern bool mgos_wifi_init(void); + +static const struct lib_descr { + const char *title; + bool (*init)(void); +} descrs[] = { + + // "adc". deps: [ ] + { + .title = "adc", + .init = mgos_adc_init, + }, + + // "bt_common". deps: [ ] + { + .title = "bt_common", + .init = mgos_bt_common_init, + }, + + // "bt_service_config". deps: [ "bt-common" ] + { + .title = "bt_service_config", + .init = mgos_bt_service_config_init, + }, + + // "ca_bundle". deps: [ ] + { + .title = "ca_bundle", + .init = mgos_ca_bundle_init, + }, + + // "dht". deps: [ ] + { + .title = "dht", + .init = mgos_dht_init, + }, + + // "mjs". deps: [ ] + { + .title = "mjs", + .init = mgos_mjs_init, + }, + + // "rpc_common". deps: [ "http-server" ] + { + .title = "rpc_common", + .init = mgos_rpc_common_init, + }, + + // "rpc_service_config". deps: [ "rpc-common" ] + { + .title = "rpc_service_config", + .init = mgos_rpc_service_config_init, + }, + + // "rpc_service_fs". deps: [ "rpc-common" ] + { + .title = "rpc_service_fs", + .init = mgos_rpc_service_fs_init, + }, + + // "rpc_uart". deps: [ "rpc-common" ] + { + .title = "rpc_uart", + .init = mgos_rpc_uart_init, + }, + + // "wifi". deps: [ ] + { + .title = "wifi", + .init = mgos_wifi_init, + }, + +}; + +bool mgos_deps_init(void) { + size_t i; + for (i = 0; i < sizeof(descrs) / sizeof(struct lib_descr); i++) { + LOG(LL_DEBUG, ("init %s...", descrs[i].title)); + if (!descrs[i].init()) { + LOG(LL_ERROR, ("%s init failed", descrs[i].title)); + return false; + } + } + + return true; +} diff --git a/build/gen/ffi_exports.c b/build/gen/ffi_exports.c new file mode 100644 index 0000000..4147c7e --- /dev/null +++ b/build/gen/ffi_exports.c @@ -0,0 +1,239 @@ +/* Auto-generated, do not edit. */ + +/* + * Symbols filtered by the following globs: + */ + +#include + +#include "mgos_dlsym.h" + +/* NOTE: signatures are fake */ +double ceil(double); +double cos(double); +void esp32_uart_config_set_fifo(int, void *, int, int, int, int); +void esp32_uart_config_set_pins(int, void *, int, int, int, int); +double exp(double); +double fabs(double); +void fclose(void *); +double floor(double); +double fmax(double, double); +double fmin(double, double); +void * fopen(char *, char *); +int fread(char *, int, int, void *); +void free(void *); +void free(void *); +int fwrite(char *, int, int, void *); +int hall_sens_read(void); +double log(double); +void * malloc(int); +void mbuf_remove(void *, int); +int mg_conn_addr_to_str(void *, char *, int, int); +bool mg_rpc_send_errorf(void *, int, char *, char *); +void mg_send(void *, void *, int); +void mg_set_protocol_http_websocket(void *); +double mg_time(void); +int mgos_adc_enable(int); +int mgos_adc_read(int); +void * mgos_bind(char *, void (*)(void *, int, void *, void *), void *); +void mgos_bitbang_write_bits_js(int, int, int, void *, int); +void mgos_clear_timer(int); +void * mgos_conf_find_schema_entry(char *, void *); +double mgos_conf_value_double(void *, void *); +int mgos_conf_value_int(void *, void *); +char * mgos_conf_value_string_nonnull(void *, void *); +int mgos_conf_value_type(void *); +bool mgos_config_apply(char *, bool); +void * mgos_config_schema(); +void * mgos_connect(char *, void (*)(void *, int, void *, void *), void *); +void * mgos_connect_http(char *, void (*)(void *, int, void *, void *), void *); +void * mgos_connect_http_ssl(char *, void (*)(void *, int, void *, void *), void *, char *, char *, char *); +void * mgos_connect_ssl(char *, void (*)(void *, int, void *, void *), void *, char *, char *, char *); +int mgos_debug_event_get_len(void *); +void * mgos_debug_event_get_ptr(void *); +void mgos_dht_close(void *); +void * mgos_dht_create(int, int); +float mgos_dht_get_humidity(void *); +float mgos_dht_get_temp(void *); +void mgos_disconnect(void *); +void mgos_esp_deep_sleep_d(double); +bool mgos_event_add_group_handler(int, void(*)(int, void *, void *), void *); +bool mgos_event_add_handler(int, void(*)(int, void *, void *), void *); +bool mgos_event_register_base(int, char *); +int mgos_event_trigger(int, void *); +void * mgos_get_body_ptr(void *); +int mgos_get_free_heap_size(); +int mgos_get_heap_size(); +int mgos_get_mbuf_len(void *); +void * mgos_get_mbuf_ptr(void *); +int mgos_get_mgstr_len(void *); +void * mgos_get_mgstr_ptr(void *); +void * mgos_get_msg_ptr(void *); +void * mgos_get_recv_mbuf(void *); +int mgos_gpio_disable_int(int); +int mgos_gpio_enable_int(int); +int mgos_gpio_read(int); +int mgos_gpio_set_button_handler(int,int,int,int,void(*)(int, void *), void *); +int mgos_gpio_set_int_handler(int,int,void(*)(int,void *),void *); +int mgos_gpio_set_mode(int,int); +int mgos_gpio_set_pull(int,int); +int mgos_gpio_toggle(int); +void mgos_gpio_write(int,int); +bool mgos_is_inbound(void *); +void mgos_log(char *, int, int, char *); +void * mgos_mjs_get_config(); +void * mgos_rpc_add_handler(void *, void (*)(void *, char *, char *, void *), void *); +bool mgos_rpc_call(char *, char *, char *, void (*)(char *, int, char *, void *), void *); +bool mgos_rpc_send_response(void *, char *); +int mgos_set_timer(int,int,void(*)(void *),void *); +int mgos_strftime(char *, int, char *, int); +void mgos_system_restart(int); +void * mgos_uart_config_get_default(int); +void mgos_uart_config_set_basic_params(void *, int, int, int, int); +void mgos_uart_config_set_rx_params(void *, int, int, int); +void mgos_uart_config_set_tx_params(void *, int, int); +int mgos_uart_configure(int, void *); +void mgos_uart_flush(int); +int mgos_uart_is_rx_enabled(int); +int mgos_uart_read(int, void *, int); +int mgos_uart_read_avail(int); +void mgos_uart_set_dispatcher(int, void(*)(int, void *), void *); +void mgos_uart_set_rx_enabled(int, int); +int mgos_uart_write(int, char *, int); +int mgos_uart_write_avail(int); +double mgos_uptime(); +void mgos_usleep(int); +void mgos_wdt_feed(); +char * mjs_get_bcode_filename_by_offset(void *, int); +int mjs_get_lineno_by_offset(void *, int); +int mjs_get_offset_by_call_frame_num(void *, int); +double mjs_mem_get_int(void *, int, int); +void * mjs_mem_get_ptr(void *, int); +double mjs_mem_get_uint(void *, int, int); +void mjs_mem_set_uint(void *, int, int, int); +void * mjs_mem_to_ptr(int); +double pow(double, double); +int rand(); +int remove(char *); +int rename(char *, char *); +double round(double); +double sin(double); +double sqrt(double); +void * strdup(char *); +int temprature_sens_read(void); + +const struct mgos_ffi_export ffi_exports[] = { + {"ceil", ceil}, + {"cos", cos}, + {"esp32_uart_config_set_fifo", esp32_uart_config_set_fifo}, + {"esp32_uart_config_set_pins", esp32_uart_config_set_pins}, + {"exp", exp}, + {"fabs", fabs}, + {"fclose", fclose}, + {"floor", floor}, + {"fmax", fmax}, + {"fmin", fmin}, + {"fopen", fopen}, + {"fread", fread}, + {"free", free}, + {"free", free}, + {"fwrite", fwrite}, + {"hall_sens_read", hall_sens_read}, + {"log", log}, + {"malloc", malloc}, + {"mbuf_remove", mbuf_remove}, + {"mg_conn_addr_to_str", mg_conn_addr_to_str}, + {"mg_rpc_send_errorf", mg_rpc_send_errorf}, + {"mg_send", mg_send}, + {"mg_set_protocol_http_websocket", mg_set_protocol_http_websocket}, + {"mg_time", mg_time}, + {"mgos_adc_enable", mgos_adc_enable}, + {"mgos_adc_read", mgos_adc_read}, + {"mgos_bind", mgos_bind}, + {"mgos_bitbang_write_bits_js", mgos_bitbang_write_bits_js}, + {"mgos_clear_timer", mgos_clear_timer}, + {"mgos_conf_find_schema_entry", mgos_conf_find_schema_entry}, + {"mgos_conf_value_double", mgos_conf_value_double}, + {"mgos_conf_value_int", mgos_conf_value_int}, + {"mgos_conf_value_string_nonnull", mgos_conf_value_string_nonnull}, + {"mgos_conf_value_type", mgos_conf_value_type}, + {"mgos_config_apply", mgos_config_apply}, + {"mgos_config_schema", mgos_config_schema}, + {"mgos_connect", mgos_connect}, + {"mgos_connect_http", mgos_connect_http}, + {"mgos_connect_http_ssl", mgos_connect_http_ssl}, + {"mgos_connect_ssl", mgos_connect_ssl}, + {"mgos_debug_event_get_len", mgos_debug_event_get_len}, + {"mgos_debug_event_get_ptr", mgos_debug_event_get_ptr}, + {"mgos_dht_close", mgos_dht_close}, + {"mgos_dht_create", mgos_dht_create}, + {"mgos_dht_get_humidity", mgos_dht_get_humidity}, + {"mgos_dht_get_temp", mgos_dht_get_temp}, + {"mgos_disconnect", mgos_disconnect}, + {"mgos_esp_deep_sleep_d", mgos_esp_deep_sleep_d}, + {"mgos_event_add_group_handler", mgos_event_add_group_handler}, + {"mgos_event_add_handler", mgos_event_add_handler}, + {"mgos_event_register_base", mgos_event_register_base}, + {"mgos_event_trigger", mgos_event_trigger}, + {"mgos_get_body_ptr", mgos_get_body_ptr}, + {"mgos_get_free_heap_size", mgos_get_free_heap_size}, + {"mgos_get_heap_size", mgos_get_heap_size}, + {"mgos_get_mbuf_len", mgos_get_mbuf_len}, + {"mgos_get_mbuf_ptr", mgos_get_mbuf_ptr}, + {"mgos_get_mgstr_len", mgos_get_mgstr_len}, + {"mgos_get_mgstr_ptr", mgos_get_mgstr_ptr}, + {"mgos_get_msg_ptr", mgos_get_msg_ptr}, + {"mgos_get_recv_mbuf", mgos_get_recv_mbuf}, + {"mgos_gpio_disable_int", mgos_gpio_disable_int}, + {"mgos_gpio_enable_int", mgos_gpio_enable_int}, + {"mgos_gpio_read", mgos_gpio_read}, + {"mgos_gpio_set_button_handler", mgos_gpio_set_button_handler}, + {"mgos_gpio_set_int_handler", mgos_gpio_set_int_handler}, + {"mgos_gpio_set_mode", mgos_gpio_set_mode}, + {"mgos_gpio_set_pull", mgos_gpio_set_pull}, + {"mgos_gpio_toggle", mgos_gpio_toggle}, + {"mgos_gpio_write", mgos_gpio_write}, + {"mgos_is_inbound", mgos_is_inbound}, + {"mgos_log", mgos_log}, + {"mgos_mjs_get_config", mgos_mjs_get_config}, + {"mgos_rpc_add_handler", mgos_rpc_add_handler}, + {"mgos_rpc_call", mgos_rpc_call}, + {"mgos_rpc_send_response", mgos_rpc_send_response}, + {"mgos_set_timer", mgos_set_timer}, + {"mgos_strftime", mgos_strftime}, + {"mgos_system_restart", mgos_system_restart}, + {"mgos_uart_config_get_default", mgos_uart_config_get_default}, + {"mgos_uart_config_set_basic_params", mgos_uart_config_set_basic_params}, + {"mgos_uart_config_set_rx_params", mgos_uart_config_set_rx_params}, + {"mgos_uart_config_set_tx_params", mgos_uart_config_set_tx_params}, + {"mgos_uart_configure", mgos_uart_configure}, + {"mgos_uart_flush", mgos_uart_flush}, + {"mgos_uart_is_rx_enabled", mgos_uart_is_rx_enabled}, + {"mgos_uart_read", mgos_uart_read}, + {"mgos_uart_read_avail", mgos_uart_read_avail}, + {"mgos_uart_set_dispatcher", mgos_uart_set_dispatcher}, + {"mgos_uart_set_rx_enabled", mgos_uart_set_rx_enabled}, + {"mgos_uart_write", mgos_uart_write}, + {"mgos_uart_write_avail", mgos_uart_write_avail}, + {"mgos_uptime", mgos_uptime}, + {"mgos_usleep", mgos_usleep}, + {"mgos_wdt_feed", mgos_wdt_feed}, + {"mjs_get_bcode_filename_by_offset", mjs_get_bcode_filename_by_offset}, + {"mjs_get_lineno_by_offset", mjs_get_lineno_by_offset}, + {"mjs_get_offset_by_call_frame_num", mjs_get_offset_by_call_frame_num}, + {"mjs_mem_get_int", mjs_mem_get_int}, + {"mjs_mem_get_ptr", mjs_mem_get_ptr}, + {"mjs_mem_get_uint", mjs_mem_get_uint}, + {"mjs_mem_set_uint", mjs_mem_set_uint}, + {"mjs_mem_to_ptr", mjs_mem_to_ptr}, + {"pow", pow}, + {"rand", rand}, + {"remove", remove}, + {"rename", rename}, + {"round", round}, + {"sin", sin}, + {"sqrt", sqrt}, + {"strdup", strdup}, + {"temprature_sens_read", temprature_sens_read}, +}; +const int ffi_exports_cnt = 112; diff --git a/build/gen/mg_build_info.c b/build/gen/mg_build_info.c new file mode 100644 index 0000000..b8f9306 --- /dev/null +++ b/build/gen/mg_build_info.c @@ -0,0 +1,4 @@ +/* Auto-generated, do not edit. */ +const char *mg_build_id = "20180218-011551/???"; +const char *mg_build_timestamp = "2018-02-18T01:15:51Z"; +const char *mg_build_version = "2018021801"; diff --git a/build/gen/mgos_config.c b/build/gen/mgos_config.c new file mode 100644 index 0000000..f026c17 --- /dev/null +++ b/build/gen/mgos_config.c @@ -0,0 +1,672 @@ +/* Generated file - do not edit. */ + +#include +#include "mgos_config.h" + +const struct mgos_conf_entry mgos_config_schema_[100] = { + {.type = CONF_TYPE_OBJECT, .key = "", .num_desc = 99}, + {.type = CONF_TYPE_OBJECT, .key = "device", .num_desc = 2}, + {.type = CONF_TYPE_STRING, .key = "id", .offset = offsetof(struct mgos_config, device.id)}, + {.type = CONF_TYPE_STRING, .key = "password", .offset = offsetof(struct mgos_config, device.password)}, + {.type = CONF_TYPE_OBJECT, .key = "debug", .num_desc = 8}, + {.type = CONF_TYPE_STRING, .key = "udp_log_addr", .offset = offsetof(struct mgos_config, debug.udp_log_addr)}, + {.type = CONF_TYPE_INT, .key = "level", .offset = offsetof(struct mgos_config, debug.level)}, + {.type = CONF_TYPE_STRING, .key = "filter", .offset = offsetof(struct mgos_config, debug.filter)}, + {.type = CONF_TYPE_INT, .key = "stdout_uart", .offset = offsetof(struct mgos_config, debug.stdout_uart)}, + {.type = CONF_TYPE_INT, .key = "stderr_uart", .offset = offsetof(struct mgos_config, debug.stderr_uart)}, + {.type = CONF_TYPE_INT, .key = "factory_reset_gpio", .offset = offsetof(struct mgos_config, debug.factory_reset_gpio)}, + {.type = CONF_TYPE_STRING, .key = "mg_mgr_hexdump_file", .offset = offsetof(struct mgos_config, debug.mg_mgr_hexdump_file)}, + {.type = CONF_TYPE_INT, .key = "mbedtls_level", .offset = offsetof(struct mgos_config, debug.mbedtls_level)}, + {.type = CONF_TYPE_OBJECT, .key = "sys", .num_desc = 10}, + {.type = CONF_TYPE_OBJECT, .key = "mount", .num_desc = 5}, + {.type = CONF_TYPE_STRING, .key = "path", .offset = offsetof(struct mgos_config, sys.mount.path)}, + {.type = CONF_TYPE_STRING, .key = "dev_type", .offset = offsetof(struct mgos_config, sys.mount.dev_type)}, + {.type = CONF_TYPE_STRING, .key = "dev_opts", .offset = offsetof(struct mgos_config, sys.mount.dev_opts)}, + {.type = CONF_TYPE_STRING, .key = "fs_type", .offset = offsetof(struct mgos_config, sys.mount.fs_type)}, + {.type = CONF_TYPE_STRING, .key = "fs_opts", .offset = offsetof(struct mgos_config, sys.mount.fs_opts)}, + {.type = CONF_TYPE_STRING, .key = "tz_spec", .offset = offsetof(struct mgos_config, sys.tz_spec)}, + {.type = CONF_TYPE_INT, .key = "wdt_timeout", .offset = offsetof(struct mgos_config, sys.wdt_timeout)}, + {.type = CONF_TYPE_STRING, .key = "pref_ota_lib", .offset = offsetof(struct mgos_config, sys.pref_ota_lib)}, + {.type = CONF_TYPE_INT, .key = "esp32_adc_vref", .offset = offsetof(struct mgos_config, sys.esp32_adc_vref)}, + {.type = CONF_TYPE_STRING, .key = "conf_acl", .offset = offsetof(struct mgos_config, conf_acl)}, + {.type = CONF_TYPE_OBJECT, .key = "bt", .num_desc = 12}, + {.type = CONF_TYPE_BOOL, .key = "enable", .offset = offsetof(struct mgos_config, bt.enable)}, + {.type = CONF_TYPE_STRING, .key = "dev_name", .offset = offsetof(struct mgos_config, bt.dev_name)}, + {.type = CONF_TYPE_BOOL, .key = "adv_enable", .offset = offsetof(struct mgos_config, bt.adv_enable)}, + {.type = CONF_TYPE_STRING, .key = "scan_rsp_data_hex", .offset = offsetof(struct mgos_config, bt.scan_rsp_data_hex)}, + {.type = CONF_TYPE_BOOL, .key = "keep_enabled", .offset = offsetof(struct mgos_config, bt.keep_enabled)}, + {.type = CONF_TYPE_BOOL, .key = "allow_pairing", .offset = offsetof(struct mgos_config, bt.allow_pairing)}, + {.type = CONF_TYPE_INT, .key = "max_paired_devices", .offset = offsetof(struct mgos_config, bt.max_paired_devices)}, + {.type = CONF_TYPE_BOOL, .key = "random_address", .offset = offsetof(struct mgos_config, bt.random_address)}, + {.type = CONF_TYPE_OBJECT, .key = "gatts", .num_desc = 2}, + {.type = CONF_TYPE_INT, .key = "min_sec_level", .offset = offsetof(struct mgos_config, bt.gatts.min_sec_level)}, + {.type = CONF_TYPE_BOOL, .key = "require_pairing", .offset = offsetof(struct mgos_config, bt.gatts.require_pairing)}, + {.type = CONF_TYPE_BOOL, .key = "config_svc_enable", .offset = offsetof(struct mgos_config, bt.config_svc_enable)}, + {.type = CONF_TYPE_OBJECT, .key = "mjs", .num_desc = 1}, + {.type = CONF_TYPE_BOOL, .key = "generate_jsc", .offset = offsetof(struct mgos_config, mjs.generate_jsc)}, + {.type = CONF_TYPE_OBJECT, .key = "rpc", .num_desc = 20}, + {.type = CONF_TYPE_BOOL, .key = "enable", .offset = offsetof(struct mgos_config, rpc.enable)}, + {.type = CONF_TYPE_INT, .key = "max_frame_size", .offset = offsetof(struct mgos_config, rpc.max_frame_size)}, + {.type = CONF_TYPE_INT, .key = "max_queue_length", .offset = offsetof(struct mgos_config, rpc.max_queue_length)}, + {.type = CONF_TYPE_INT, .key = "default_out_channel_idle_close_timeout", .offset = offsetof(struct mgos_config, rpc.default_out_channel_idle_close_timeout)}, + {.type = CONF_TYPE_STRING, .key = "acl_file", .offset = offsetof(struct mgos_config, rpc.acl_file)}, + {.type = CONF_TYPE_STRING, .key = "auth_domain", .offset = offsetof(struct mgos_config, rpc.auth_domain)}, + {.type = CONF_TYPE_STRING, .key = "auth_file", .offset = offsetof(struct mgos_config, rpc.auth_file)}, + {.type = CONF_TYPE_OBJECT, .key = "ws", .num_desc = 7}, + {.type = CONF_TYPE_BOOL, .key = "enable", .offset = offsetof(struct mgos_config, rpc.ws.enable)}, + {.type = CONF_TYPE_STRING, .key = "server_address", .offset = offsetof(struct mgos_config, rpc.ws.server_address)}, + {.type = CONF_TYPE_INT, .key = "reconnect_interval_min", .offset = offsetof(struct mgos_config, rpc.ws.reconnect_interval_min)}, + {.type = CONF_TYPE_INT, .key = "reconnect_interval_max", .offset = offsetof(struct mgos_config, rpc.ws.reconnect_interval_max)}, + {.type = CONF_TYPE_STRING, .key = "ssl_server_name", .offset = offsetof(struct mgos_config, rpc.ws.ssl_server_name)}, + {.type = CONF_TYPE_STRING, .key = "ssl_ca_file", .offset = offsetof(struct mgos_config, rpc.ws.ssl_ca_file)}, + {.type = CONF_TYPE_STRING, .key = "ssl_client_cert_file", .offset = offsetof(struct mgos_config, rpc.ws.ssl_client_cert_file)}, + {.type = CONF_TYPE_OBJECT, .key = "uart", .num_desc = 4}, + {.type = CONF_TYPE_INT, .key = "uart_no", .offset = offsetof(struct mgos_config, rpc.uart.uart_no)}, + {.type = CONF_TYPE_INT, .key = "baud_rate", .offset = offsetof(struct mgos_config, rpc.uart.baud_rate)}, + {.type = CONF_TYPE_INT, .key = "fc_type", .offset = offsetof(struct mgos_config, rpc.uart.fc_type)}, + {.type = CONF_TYPE_BOOL, .key = "wait_for_start_frame", .offset = offsetof(struct mgos_config, rpc.uart.wait_for_start_frame)}, + {.type = CONF_TYPE_OBJECT, .key = "wifi", .num_desc = 30}, + {.type = CONF_TYPE_OBJECT, .key = "sta", .num_desc = 13}, + {.type = CONF_TYPE_BOOL, .key = "enable", .offset = offsetof(struct mgos_config, wifi.sta.enable)}, + {.type = CONF_TYPE_STRING, .key = "ssid", .offset = offsetof(struct mgos_config, wifi.sta.ssid)}, + {.type = CONF_TYPE_STRING, .key = "pass", .offset = offsetof(struct mgos_config, wifi.sta.pass)}, + {.type = CONF_TYPE_STRING, .key = "user", .offset = offsetof(struct mgos_config, wifi.sta.user)}, + {.type = CONF_TYPE_STRING, .key = "anon_identity", .offset = offsetof(struct mgos_config, wifi.sta.anon_identity)}, + {.type = CONF_TYPE_STRING, .key = "cert", .offset = offsetof(struct mgos_config, wifi.sta.cert)}, + {.type = CONF_TYPE_STRING, .key = "key", .offset = offsetof(struct mgos_config, wifi.sta.key)}, + {.type = CONF_TYPE_STRING, .key = "ca_cert", .offset = offsetof(struct mgos_config, wifi.sta.ca_cert)}, + {.type = CONF_TYPE_STRING, .key = "ip", .offset = offsetof(struct mgos_config, wifi.sta.ip)}, + {.type = CONF_TYPE_STRING, .key = "netmask", .offset = offsetof(struct mgos_config, wifi.sta.netmask)}, + {.type = CONF_TYPE_STRING, .key = "gw", .offset = offsetof(struct mgos_config, wifi.sta.gw)}, + {.type = CONF_TYPE_STRING, .key = "nameserver", .offset = offsetof(struct mgos_config, wifi.sta.nameserver)}, + {.type = CONF_TYPE_STRING, .key = "dhcp_hostname", .offset = offsetof(struct mgos_config, wifi.sta.dhcp_hostname)}, + {.type = CONF_TYPE_OBJECT, .key = "ap", .num_desc = 15}, + {.type = CONF_TYPE_BOOL, .key = "enable", .offset = offsetof(struct mgos_config, wifi.ap.enable)}, + {.type = CONF_TYPE_STRING, .key = "ssid", .offset = offsetof(struct mgos_config, wifi.ap.ssid)}, + {.type = CONF_TYPE_STRING, .key = "pass", .offset = offsetof(struct mgos_config, wifi.ap.pass)}, + {.type = CONF_TYPE_BOOL, .key = "hidden", .offset = offsetof(struct mgos_config, wifi.ap.hidden)}, + {.type = CONF_TYPE_INT, .key = "channel", .offset = offsetof(struct mgos_config, wifi.ap.channel)}, + {.type = CONF_TYPE_INT, .key = "max_connections", .offset = offsetof(struct mgos_config, wifi.ap.max_connections)}, + {.type = CONF_TYPE_STRING, .key = "ip", .offset = offsetof(struct mgos_config, wifi.ap.ip)}, + {.type = CONF_TYPE_STRING, .key = "netmask", .offset = offsetof(struct mgos_config, wifi.ap.netmask)}, + {.type = CONF_TYPE_STRING, .key = "gw", .offset = offsetof(struct mgos_config, wifi.ap.gw)}, + {.type = CONF_TYPE_STRING, .key = "dhcp_start", .offset = offsetof(struct mgos_config, wifi.ap.dhcp_start)}, + {.type = CONF_TYPE_STRING, .key = "dhcp_end", .offset = offsetof(struct mgos_config, wifi.ap.dhcp_end)}, + {.type = CONF_TYPE_INT, .key = "trigger_on_gpio", .offset = offsetof(struct mgos_config, wifi.ap.trigger_on_gpio)}, + {.type = CONF_TYPE_INT, .key = "disable_after", .offset = offsetof(struct mgos_config, wifi.ap.disable_after)}, + {.type = CONF_TYPE_STRING, .key = "hostname", .offset = offsetof(struct mgos_config, wifi.ap.hostname)}, + {.type = CONF_TYPE_BOOL, .key = "keep_enabled", .offset = offsetof(struct mgos_config, wifi.ap.keep_enabled)}, + {.type = CONF_TYPE_OBJECT, .key = "higrow", .num_desc = 7}, + {.type = CONF_TYPE_STRING, .key = "deviceId", .offset = offsetof(struct mgos_config, higrow.deviceId)}, + {.type = CONF_TYPE_DOUBLE, .key = "temperature", .offset = offsetof(struct mgos_config, higrow.temperature)}, + {.type = CONF_TYPE_DOUBLE, .key = "humidity", .offset = offsetof(struct mgos_config, higrow.humidity)}, + {.type = CONF_TYPE_INT, .key = "light", .offset = offsetof(struct mgos_config, higrow.light)}, + {.type = CONF_TYPE_INT, .key = "moisture", .offset = offsetof(struct mgos_config, higrow.moisture)}, + {.type = CONF_TYPE_BOOL, .key = "connected", .offset = offsetof(struct mgos_config, higrow.connected)}, + {.type = CONF_TYPE_INT, .key = "battery_calibration", .offset = offsetof(struct mgos_config, higrow.battery_calibration)}, +}; + +const struct mgos_conf_entry *mgos_config_schema() { + return mgos_config_schema_; +} + +/* Global instance */ +struct mgos_config mgos_sys_config; + +/* Getters {{{ */ +const struct mgos_config_device *mgos_config_get_device(struct mgos_config *cfg) { + return &cfg->device; +} +const char *mgos_config_get_device_id(struct mgos_config *cfg) { + return cfg->device.id; +} +const char *mgos_config_get_device_password(struct mgos_config *cfg) { + return cfg->device.password; +} +const struct mgos_config_debug *mgos_config_get_debug(struct mgos_config *cfg) { + return &cfg->debug; +} +const char *mgos_config_get_debug_udp_log_addr(struct mgos_config *cfg) { + return cfg->debug.udp_log_addr; +} +int mgos_config_get_debug_level(struct mgos_config *cfg) { + return cfg->debug.level; +} +const char *mgos_config_get_debug_filter(struct mgos_config *cfg) { + return cfg->debug.filter; +} +int mgos_config_get_debug_stdout_uart(struct mgos_config *cfg) { + return cfg->debug.stdout_uart; +} +int mgos_config_get_debug_stderr_uart(struct mgos_config *cfg) { + return cfg->debug.stderr_uart; +} +int mgos_config_get_debug_factory_reset_gpio(struct mgos_config *cfg) { + return cfg->debug.factory_reset_gpio; +} +const char *mgos_config_get_debug_mg_mgr_hexdump_file(struct mgos_config *cfg) { + return cfg->debug.mg_mgr_hexdump_file; +} +int mgos_config_get_debug_mbedtls_level(struct mgos_config *cfg) { + return cfg->debug.mbedtls_level; +} +const struct mgos_config_sys *mgos_config_get_sys(struct mgos_config *cfg) { + return &cfg->sys; +} +const struct mgos_config_sys_mount *mgos_config_get_sys_mount(struct mgos_config *cfg) { + return &cfg->sys.mount; +} +const char *mgos_config_get_sys_mount_path(struct mgos_config *cfg) { + return cfg->sys.mount.path; +} +const char *mgos_config_get_sys_mount_dev_type(struct mgos_config *cfg) { + return cfg->sys.mount.dev_type; +} +const char *mgos_config_get_sys_mount_dev_opts(struct mgos_config *cfg) { + return cfg->sys.mount.dev_opts; +} +const char *mgos_config_get_sys_mount_fs_type(struct mgos_config *cfg) { + return cfg->sys.mount.fs_type; +} +const char *mgos_config_get_sys_mount_fs_opts(struct mgos_config *cfg) { + return cfg->sys.mount.fs_opts; +} +const char *mgos_config_get_sys_tz_spec(struct mgos_config *cfg) { + return cfg->sys.tz_spec; +} +int mgos_config_get_sys_wdt_timeout(struct mgos_config *cfg) { + return cfg->sys.wdt_timeout; +} +const char *mgos_config_get_sys_pref_ota_lib(struct mgos_config *cfg) { + return cfg->sys.pref_ota_lib; +} +int mgos_config_get_sys_esp32_adc_vref(struct mgos_config *cfg) { + return cfg->sys.esp32_adc_vref; +} +const char *mgos_config_get_conf_acl(struct mgos_config *cfg) { + return cfg->conf_acl; +} +const struct mgos_config_bt *mgos_config_get_bt(struct mgos_config *cfg) { + return &cfg->bt; +} +int mgos_config_get_bt_enable(struct mgos_config *cfg) { + return cfg->bt.enable; +} +const char *mgos_config_get_bt_dev_name(struct mgos_config *cfg) { + return cfg->bt.dev_name; +} +int mgos_config_get_bt_adv_enable(struct mgos_config *cfg) { + return cfg->bt.adv_enable; +} +const char *mgos_config_get_bt_scan_rsp_data_hex(struct mgos_config *cfg) { + return cfg->bt.scan_rsp_data_hex; +} +int mgos_config_get_bt_keep_enabled(struct mgos_config *cfg) { + return cfg->bt.keep_enabled; +} +int mgos_config_get_bt_allow_pairing(struct mgos_config *cfg) { + return cfg->bt.allow_pairing; +} +int mgos_config_get_bt_max_paired_devices(struct mgos_config *cfg) { + return cfg->bt.max_paired_devices; +} +int mgos_config_get_bt_random_address(struct mgos_config *cfg) { + return cfg->bt.random_address; +} +const struct mgos_config_bt_gatts *mgos_config_get_bt_gatts(struct mgos_config *cfg) { + return &cfg->bt.gatts; +} +int mgos_config_get_bt_gatts_min_sec_level(struct mgos_config *cfg) { + return cfg->bt.gatts.min_sec_level; +} +int mgos_config_get_bt_gatts_require_pairing(struct mgos_config *cfg) { + return cfg->bt.gatts.require_pairing; +} +int mgos_config_get_bt_config_svc_enable(struct mgos_config *cfg) { + return cfg->bt.config_svc_enable; +} +const struct mgos_config_mjs *mgos_config_get_mjs(struct mgos_config *cfg) { + return &cfg->mjs; +} +int mgos_config_get_mjs_generate_jsc(struct mgos_config *cfg) { + return cfg->mjs.generate_jsc; +} +const struct mgos_config_rpc *mgos_config_get_rpc(struct mgos_config *cfg) { + return &cfg->rpc; +} +int mgos_config_get_rpc_enable(struct mgos_config *cfg) { + return cfg->rpc.enable; +} +int mgos_config_get_rpc_max_frame_size(struct mgos_config *cfg) { + return cfg->rpc.max_frame_size; +} +int mgos_config_get_rpc_max_queue_length(struct mgos_config *cfg) { + return cfg->rpc.max_queue_length; +} +int mgos_config_get_rpc_default_out_channel_idle_close_timeout(struct mgos_config *cfg) { + return cfg->rpc.default_out_channel_idle_close_timeout; +} +const char *mgos_config_get_rpc_acl_file(struct mgos_config *cfg) { + return cfg->rpc.acl_file; +} +const char *mgos_config_get_rpc_auth_domain(struct mgos_config *cfg) { + return cfg->rpc.auth_domain; +} +const char *mgos_config_get_rpc_auth_file(struct mgos_config *cfg) { + return cfg->rpc.auth_file; +} +const struct mgos_config_rpc_ws *mgos_config_get_rpc_ws(struct mgos_config *cfg) { + return &cfg->rpc.ws; +} +int mgos_config_get_rpc_ws_enable(struct mgos_config *cfg) { + return cfg->rpc.ws.enable; +} +const char *mgos_config_get_rpc_ws_server_address(struct mgos_config *cfg) { + return cfg->rpc.ws.server_address; +} +int mgos_config_get_rpc_ws_reconnect_interval_min(struct mgos_config *cfg) { + return cfg->rpc.ws.reconnect_interval_min; +} +int mgos_config_get_rpc_ws_reconnect_interval_max(struct mgos_config *cfg) { + return cfg->rpc.ws.reconnect_interval_max; +} +const char *mgos_config_get_rpc_ws_ssl_server_name(struct mgos_config *cfg) { + return cfg->rpc.ws.ssl_server_name; +} +const char *mgos_config_get_rpc_ws_ssl_ca_file(struct mgos_config *cfg) { + return cfg->rpc.ws.ssl_ca_file; +} +const char *mgos_config_get_rpc_ws_ssl_client_cert_file(struct mgos_config *cfg) { + return cfg->rpc.ws.ssl_client_cert_file; +} +const struct mgos_config_rpc_uart *mgos_config_get_rpc_uart(struct mgos_config *cfg) { + return &cfg->rpc.uart; +} +int mgos_config_get_rpc_uart_uart_no(struct mgos_config *cfg) { + return cfg->rpc.uart.uart_no; +} +int mgos_config_get_rpc_uart_baud_rate(struct mgos_config *cfg) { + return cfg->rpc.uart.baud_rate; +} +int mgos_config_get_rpc_uart_fc_type(struct mgos_config *cfg) { + return cfg->rpc.uart.fc_type; +} +int mgos_config_get_rpc_uart_wait_for_start_frame(struct mgos_config *cfg) { + return cfg->rpc.uart.wait_for_start_frame; +} +const struct mgos_config_wifi *mgos_config_get_wifi(struct mgos_config *cfg) { + return &cfg->wifi; +} +const struct mgos_config_wifi_sta *mgos_config_get_wifi_sta(struct mgos_config *cfg) { + return &cfg->wifi.sta; +} +int mgos_config_get_wifi_sta_enable(struct mgos_config *cfg) { + return cfg->wifi.sta.enable; +} +const char *mgos_config_get_wifi_sta_ssid(struct mgos_config *cfg) { + return cfg->wifi.sta.ssid; +} +const char *mgos_config_get_wifi_sta_pass(struct mgos_config *cfg) { + return cfg->wifi.sta.pass; +} +const char *mgos_config_get_wifi_sta_user(struct mgos_config *cfg) { + return cfg->wifi.sta.user; +} +const char *mgos_config_get_wifi_sta_anon_identity(struct mgos_config *cfg) { + return cfg->wifi.sta.anon_identity; +} +const char *mgos_config_get_wifi_sta_cert(struct mgos_config *cfg) { + return cfg->wifi.sta.cert; +} +const char *mgos_config_get_wifi_sta_key(struct mgos_config *cfg) { + return cfg->wifi.sta.key; +} +const char *mgos_config_get_wifi_sta_ca_cert(struct mgos_config *cfg) { + return cfg->wifi.sta.ca_cert; +} +const char *mgos_config_get_wifi_sta_ip(struct mgos_config *cfg) { + return cfg->wifi.sta.ip; +} +const char *mgos_config_get_wifi_sta_netmask(struct mgos_config *cfg) { + return cfg->wifi.sta.netmask; +} +const char *mgos_config_get_wifi_sta_gw(struct mgos_config *cfg) { + return cfg->wifi.sta.gw; +} +const char *mgos_config_get_wifi_sta_nameserver(struct mgos_config *cfg) { + return cfg->wifi.sta.nameserver; +} +const char *mgos_config_get_wifi_sta_dhcp_hostname(struct mgos_config *cfg) { + return cfg->wifi.sta.dhcp_hostname; +} +const struct mgos_config_wifi_ap *mgos_config_get_wifi_ap(struct mgos_config *cfg) { + return &cfg->wifi.ap; +} +int mgos_config_get_wifi_ap_enable(struct mgos_config *cfg) { + return cfg->wifi.ap.enable; +} +const char *mgos_config_get_wifi_ap_ssid(struct mgos_config *cfg) { + return cfg->wifi.ap.ssid; +} +const char *mgos_config_get_wifi_ap_pass(struct mgos_config *cfg) { + return cfg->wifi.ap.pass; +} +int mgos_config_get_wifi_ap_hidden(struct mgos_config *cfg) { + return cfg->wifi.ap.hidden; +} +int mgos_config_get_wifi_ap_channel(struct mgos_config *cfg) { + return cfg->wifi.ap.channel; +} +int mgos_config_get_wifi_ap_max_connections(struct mgos_config *cfg) { + return cfg->wifi.ap.max_connections; +} +const char *mgos_config_get_wifi_ap_ip(struct mgos_config *cfg) { + return cfg->wifi.ap.ip; +} +const char *mgos_config_get_wifi_ap_netmask(struct mgos_config *cfg) { + return cfg->wifi.ap.netmask; +} +const char *mgos_config_get_wifi_ap_gw(struct mgos_config *cfg) { + return cfg->wifi.ap.gw; +} +const char *mgos_config_get_wifi_ap_dhcp_start(struct mgos_config *cfg) { + return cfg->wifi.ap.dhcp_start; +} +const char *mgos_config_get_wifi_ap_dhcp_end(struct mgos_config *cfg) { + return cfg->wifi.ap.dhcp_end; +} +int mgos_config_get_wifi_ap_trigger_on_gpio(struct mgos_config *cfg) { + return cfg->wifi.ap.trigger_on_gpio; +} +int mgos_config_get_wifi_ap_disable_after(struct mgos_config *cfg) { + return cfg->wifi.ap.disable_after; +} +const char *mgos_config_get_wifi_ap_hostname(struct mgos_config *cfg) { + return cfg->wifi.ap.hostname; +} +int mgos_config_get_wifi_ap_keep_enabled(struct mgos_config *cfg) { + return cfg->wifi.ap.keep_enabled; +} +const struct mgos_config_higrow *mgos_config_get_higrow(struct mgos_config *cfg) { + return &cfg->higrow; +} +const char *mgos_config_get_higrow_deviceId(struct mgos_config *cfg) { + return cfg->higrow.deviceId; +} +double mgos_config_get_higrow_temperature(struct mgos_config *cfg) { + return cfg->higrow.temperature; +} +double mgos_config_get_higrow_humidity(struct mgos_config *cfg) { + return cfg->higrow.humidity; +} +int mgos_config_get_higrow_light(struct mgos_config *cfg) { + return cfg->higrow.light; +} +int mgos_config_get_higrow_moisture(struct mgos_config *cfg) { + return cfg->higrow.moisture; +} +int mgos_config_get_higrow_connected(struct mgos_config *cfg) { + return cfg->higrow.connected; +} +int mgos_config_get_higrow_battery_calibration(struct mgos_config *cfg) { + return cfg->higrow.battery_calibration; +} +/* }}} */ + +/* Setters {{{ */ +void mgos_config_set_device_id(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->device.id, val); +} +void mgos_config_set_device_password(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->device.password, val); +} +void mgos_config_set_debug_udp_log_addr(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->debug.udp_log_addr, val); +} +void mgos_config_set_debug_level(struct mgos_config *cfg, int val) { + cfg->debug.level = val; +} +void mgos_config_set_debug_filter(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->debug.filter, val); +} +void mgos_config_set_debug_stdout_uart(struct mgos_config *cfg, int val) { + cfg->debug.stdout_uart = val; +} +void mgos_config_set_debug_stderr_uart(struct mgos_config *cfg, int val) { + cfg->debug.stderr_uart = val; +} +void mgos_config_set_debug_factory_reset_gpio(struct mgos_config *cfg, int val) { + cfg->debug.factory_reset_gpio = val; +} +void mgos_config_set_debug_mg_mgr_hexdump_file(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->debug.mg_mgr_hexdump_file, val); +} +void mgos_config_set_debug_mbedtls_level(struct mgos_config *cfg, int val) { + cfg->debug.mbedtls_level = val; +} +void mgos_config_set_sys_mount_path(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.mount.path, val); +} +void mgos_config_set_sys_mount_dev_type(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.mount.dev_type, val); +} +void mgos_config_set_sys_mount_dev_opts(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.mount.dev_opts, val); +} +void mgos_config_set_sys_mount_fs_type(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.mount.fs_type, val); +} +void mgos_config_set_sys_mount_fs_opts(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.mount.fs_opts, val); +} +void mgos_config_set_sys_tz_spec(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.tz_spec, val); +} +void mgos_config_set_sys_wdt_timeout(struct mgos_config *cfg, int val) { + cfg->sys.wdt_timeout = val; +} +void mgos_config_set_sys_pref_ota_lib(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->sys.pref_ota_lib, val); +} +void mgos_config_set_sys_esp32_adc_vref(struct mgos_config *cfg, int val) { + cfg->sys.esp32_adc_vref = val; +} +void mgos_config_set_conf_acl(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->conf_acl, val); +} +void mgos_config_set_bt_enable(struct mgos_config *cfg, int val) { + cfg->bt.enable = val; +} +void mgos_config_set_bt_dev_name(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->bt.dev_name, val); +} +void mgos_config_set_bt_adv_enable(struct mgos_config *cfg, int val) { + cfg->bt.adv_enable = val; +} +void mgos_config_set_bt_scan_rsp_data_hex(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->bt.scan_rsp_data_hex, val); +} +void mgos_config_set_bt_keep_enabled(struct mgos_config *cfg, int val) { + cfg->bt.keep_enabled = val; +} +void mgos_config_set_bt_allow_pairing(struct mgos_config *cfg, int val) { + cfg->bt.allow_pairing = val; +} +void mgos_config_set_bt_max_paired_devices(struct mgos_config *cfg, int val) { + cfg->bt.max_paired_devices = val; +} +void mgos_config_set_bt_random_address(struct mgos_config *cfg, int val) { + cfg->bt.random_address = val; +} +void mgos_config_set_bt_gatts_min_sec_level(struct mgos_config *cfg, int val) { + cfg->bt.gatts.min_sec_level = val; +} +void mgos_config_set_bt_gatts_require_pairing(struct mgos_config *cfg, int val) { + cfg->bt.gatts.require_pairing = val; +} +void mgos_config_set_bt_config_svc_enable(struct mgos_config *cfg, int val) { + cfg->bt.config_svc_enable = val; +} +void mgos_config_set_mjs_generate_jsc(struct mgos_config *cfg, int val) { + cfg->mjs.generate_jsc = val; +} +void mgos_config_set_rpc_enable(struct mgos_config *cfg, int val) { + cfg->rpc.enable = val; +} +void mgos_config_set_rpc_max_frame_size(struct mgos_config *cfg, int val) { + cfg->rpc.max_frame_size = val; +} +void mgos_config_set_rpc_max_queue_length(struct mgos_config *cfg, int val) { + cfg->rpc.max_queue_length = val; +} +void mgos_config_set_rpc_default_out_channel_idle_close_timeout(struct mgos_config *cfg, int val) { + cfg->rpc.default_out_channel_idle_close_timeout = val; +} +void mgos_config_set_rpc_acl_file(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.acl_file, val); +} +void mgos_config_set_rpc_auth_domain(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.auth_domain, val); +} +void mgos_config_set_rpc_auth_file(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.auth_file, val); +} +void mgos_config_set_rpc_ws_enable(struct mgos_config *cfg, int val) { + cfg->rpc.ws.enable = val; +} +void mgos_config_set_rpc_ws_server_address(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.ws.server_address, val); +} +void mgos_config_set_rpc_ws_reconnect_interval_min(struct mgos_config *cfg, int val) { + cfg->rpc.ws.reconnect_interval_min = val; +} +void mgos_config_set_rpc_ws_reconnect_interval_max(struct mgos_config *cfg, int val) { + cfg->rpc.ws.reconnect_interval_max = val; +} +void mgos_config_set_rpc_ws_ssl_server_name(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.ws.ssl_server_name, val); +} +void mgos_config_set_rpc_ws_ssl_ca_file(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.ws.ssl_ca_file, val); +} +void mgos_config_set_rpc_ws_ssl_client_cert_file(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->rpc.ws.ssl_client_cert_file, val); +} +void mgos_config_set_rpc_uart_uart_no(struct mgos_config *cfg, int val) { + cfg->rpc.uart.uart_no = val; +} +void mgos_config_set_rpc_uart_baud_rate(struct mgos_config *cfg, int val) { + cfg->rpc.uart.baud_rate = val; +} +void mgos_config_set_rpc_uart_fc_type(struct mgos_config *cfg, int val) { + cfg->rpc.uart.fc_type = val; +} +void mgos_config_set_rpc_uart_wait_for_start_frame(struct mgos_config *cfg, int val) { + cfg->rpc.uart.wait_for_start_frame = val; +} +void mgos_config_set_wifi_sta_enable(struct mgos_config *cfg, int val) { + cfg->wifi.sta.enable = val; +} +void mgos_config_set_wifi_sta_ssid(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.ssid, val); +} +void mgos_config_set_wifi_sta_pass(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.pass, val); +} +void mgos_config_set_wifi_sta_user(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.user, val); +} +void mgos_config_set_wifi_sta_anon_identity(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.anon_identity, val); +} +void mgos_config_set_wifi_sta_cert(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.cert, val); +} +void mgos_config_set_wifi_sta_key(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.key, val); +} +void mgos_config_set_wifi_sta_ca_cert(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.ca_cert, val); +} +void mgos_config_set_wifi_sta_ip(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.ip, val); +} +void mgos_config_set_wifi_sta_netmask(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.netmask, val); +} +void mgos_config_set_wifi_sta_gw(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.gw, val); +} +void mgos_config_set_wifi_sta_nameserver(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.nameserver, val); +} +void mgos_config_set_wifi_sta_dhcp_hostname(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.sta.dhcp_hostname, val); +} +void mgos_config_set_wifi_ap_enable(struct mgos_config *cfg, int val) { + cfg->wifi.ap.enable = val; +} +void mgos_config_set_wifi_ap_ssid(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.ssid, val); +} +void mgos_config_set_wifi_ap_pass(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.pass, val); +} +void mgos_config_set_wifi_ap_hidden(struct mgos_config *cfg, int val) { + cfg->wifi.ap.hidden = val; +} +void mgos_config_set_wifi_ap_channel(struct mgos_config *cfg, int val) { + cfg->wifi.ap.channel = val; +} +void mgos_config_set_wifi_ap_max_connections(struct mgos_config *cfg, int val) { + cfg->wifi.ap.max_connections = val; +} +void mgos_config_set_wifi_ap_ip(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.ip, val); +} +void mgos_config_set_wifi_ap_netmask(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.netmask, val); +} +void mgos_config_set_wifi_ap_gw(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.gw, val); +} +void mgos_config_set_wifi_ap_dhcp_start(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.dhcp_start, val); +} +void mgos_config_set_wifi_ap_dhcp_end(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.dhcp_end, val); +} +void mgos_config_set_wifi_ap_trigger_on_gpio(struct mgos_config *cfg, int val) { + cfg->wifi.ap.trigger_on_gpio = val; +} +void mgos_config_set_wifi_ap_disable_after(struct mgos_config *cfg, int val) { + cfg->wifi.ap.disable_after = val; +} +void mgos_config_set_wifi_ap_hostname(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->wifi.ap.hostname, val); +} +void mgos_config_set_wifi_ap_keep_enabled(struct mgos_config *cfg, int val) { + cfg->wifi.ap.keep_enabled = val; +} +void mgos_config_set_higrow_deviceId(struct mgos_config *cfg, const char *val) { + mgos_conf_set_str(&cfg->higrow.deviceId, val); +} +void mgos_config_set_higrow_temperature(struct mgos_config *cfg, double val) { + cfg->higrow.temperature = val; +} +void mgos_config_set_higrow_humidity(struct mgos_config *cfg, double val) { + cfg->higrow.humidity = val; +} +void mgos_config_set_higrow_light(struct mgos_config *cfg, int val) { + cfg->higrow.light = val; +} +void mgos_config_set_higrow_moisture(struct mgos_config *cfg, int val) { + cfg->higrow.moisture = val; +} +void mgos_config_set_higrow_connected(struct mgos_config *cfg, int val) { + cfg->higrow.connected = val; +} +void mgos_config_set_higrow_battery_calibration(struct mgos_config *cfg, int val) { + cfg->higrow.battery_calibration = val; +} +/* }}} */ diff --git a/build/gen/mgos_config.d b/build/gen/mgos_config.d new file mode 100644 index 0000000..fabd90f --- /dev/null +++ b/build/gen/mgos_config.d @@ -0,0 +1,175 @@ +/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mgos_config.o: \ + /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mgos_config.c \ + /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mgos_config.h \ + /mongoose-os/fw/include/mgos_config_util.h /mongoose-os/common/mbuf.h \ + /opt/Espressif/esp-idf/components/newlib/include/stdlib.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/ieeefp.h \ + /opt/Espressif/esp-idf/components/newlib/include/_ansi.h \ + /opt/Espressif/esp-idf/components/newlib/include/newlib.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/config.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/features.h \ + /opt/Espressif/esp-idf/components/esp32/include/xtensa/config/core-isa.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/reent.h \ + /opt/Espressif/esp-idf/components/newlib/include/_ansi.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/_types.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/_types.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/_default_types.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/lock.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/cdefs.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/stdlib.h \ + /opt/Espressif/esp-idf/components/newlib/include/alloca.h \ + /mongoose-os/common/platform.h \ + /mongoose-os/common/platforms/platform_unix.h \ + /mongoose-os/common/platforms/platform_windows.h \ + /mongoose-os/common/platforms/platform_esp32.h \ + /opt/Espressif/esp-idf/components/newlib/platform_include/assert.h \ + /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/include/sdkconfig.h \ + /opt/Espressif/esp-idf/components/newlib/include/assert.h \ + /opt/Espressif/esp-idf/components/newlib/include/ctype.h \ + /opt/Espressif/esp-idf/components/newlib/include/dirent.h \ + /opt/Espressif/esp-idf/components/vfs/include/sys/dirent.h \ + /opt/Espressif/esp-idf/components/newlib/include/stdint.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/_intsup.h \ + /opt/Espressif/esp-idf/components/newlib/include/fcntl.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/fcntl.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/_default_fcntl.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/types.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/types.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/sched.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/stat.h \ + /opt/Espressif/esp-idf/components/newlib/include/time.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/time.h \ + /opt/Espressif/esp-idf/components/newlib/include/inttypes.h \ + /opt/Espressif/esp-idf/components/newlib/include/machine/endian.h \ + /opt/Espressif/esp-idf/components/newlib/include/string.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/string.h \ + /opt/Espressif/esp-idf/components/newlib/include/sys/time.h \ + /mongoose-os/common/platforms/platform_esp8266.h \ + /mongoose-os/common/platforms/platform_cc3100.h \ + /mongoose-os/common/platforms/platform_cc3200.h \ + /mongoose-os/common/platforms/platform_cc3220.h \ + /mongoose-os/common/platforms/platform_mbed.h \ + /mongoose-os/common/platforms/platform_nrf51.h \ + /mongoose-os/common/platforms/platform_nrf52.h \ + /mongoose-os/common/platforms/platform_wince.h \ + /mongoose-os/common/platforms/platform_nxp_lpc.h \ + /mongoose-os/common/platforms/platform_nxp_kinetis.h \ + /mongoose-os/common/platforms/platform_pic32.h \ + /mongoose-os/common/platforms/platform_stm32.h \ + /mongoose-os/common/mg_str.h + +/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mgos_config.h: + +/mongoose-os/fw/include/mgos_config_util.h: + +/mongoose-os/common/mbuf.h: + +/opt/Espressif/esp-idf/components/newlib/include/stdlib.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/ieeefp.h: + +/opt/Espressif/esp-idf/components/newlib/include/_ansi.h: + +/opt/Espressif/esp-idf/components/newlib/include/newlib.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/config.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/features.h: + +/opt/Espressif/esp-idf/components/esp32/include/xtensa/config/core-isa.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/reent.h: + +/opt/Espressif/esp-idf/components/newlib/include/_ansi.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/_types.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/_types.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/_default_types.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/lock.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/cdefs.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/stdlib.h: + +/opt/Espressif/esp-idf/components/newlib/include/alloca.h: + +/mongoose-os/common/platform.h: + +/mongoose-os/common/platforms/platform_unix.h: + +/mongoose-os/common/platforms/platform_windows.h: + +/mongoose-os/common/platforms/platform_esp32.h: + +/opt/Espressif/esp-idf/components/newlib/platform_include/assert.h: + +/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/objs/include/sdkconfig.h: + +/opt/Espressif/esp-idf/components/newlib/include/assert.h: + +/opt/Espressif/esp-idf/components/newlib/include/ctype.h: + +/opt/Espressif/esp-idf/components/newlib/include/dirent.h: + +/opt/Espressif/esp-idf/components/vfs/include/sys/dirent.h: + +/opt/Espressif/esp-idf/components/newlib/include/stdint.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/_intsup.h: + +/opt/Espressif/esp-idf/components/newlib/include/fcntl.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/fcntl.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/_default_fcntl.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/types.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/types.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/sched.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/stat.h: + +/opt/Espressif/esp-idf/components/newlib/include/time.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/time.h: + +/opt/Espressif/esp-idf/components/newlib/include/inttypes.h: + +/opt/Espressif/esp-idf/components/newlib/include/machine/endian.h: + +/opt/Espressif/esp-idf/components/newlib/include/string.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/string.h: + +/opt/Espressif/esp-idf/components/newlib/include/sys/time.h: + +/mongoose-os/common/platforms/platform_esp8266.h: + +/mongoose-os/common/platforms/platform_cc3100.h: + +/mongoose-os/common/platforms/platform_cc3200.h: + +/mongoose-os/common/platforms/platform_cc3220.h: + +/mongoose-os/common/platforms/platform_mbed.h: + +/mongoose-os/common/platforms/platform_nrf51.h: + +/mongoose-os/common/platforms/platform_nrf52.h: + +/mongoose-os/common/platforms/platform_wince.h: + +/mongoose-os/common/platforms/platform_nxp_lpc.h: + +/mongoose-os/common/platforms/platform_nxp_kinetis.h: + +/mongoose-os/common/platforms/platform_pic32.h: + +/mongoose-os/common/platforms/platform_stm32.h: + +/mongoose-os/common/mg_str.h: diff --git a/build/gen/mgos_config.h b/build/gen/mgos_config.h new file mode 100644 index 0000000..86e43ad --- /dev/null +++ b/build/gen/mgos_config.h @@ -0,0 +1,542 @@ +/* + * Generated file - do not edit. + * Command: /mongoose-os/fw/tools/gen_sys_config.py --c_name=mgos_config --c_global_name=mgos_sys_config --dest_dir=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/ /mongoose-os/fw/src/mgos_debug_udp_config.yaml /mongoose-os/fw/src/mgos_sys_config.yaml /mongoose-os/fw/platforms/esp32/src/esp32_sys_config.yaml /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/mos_conf_schema.yml + */ + +#ifndef MGOS_CONFIG_H_ +#define MGOS_CONFIG_H_ + +#include "mgos_config_util.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +struct mgos_config_device { + char *id; + char *password; +}; + +struct mgos_config_debug { + char *udp_log_addr; + int level; + char *filter; + int stdout_uart; + int stderr_uart; + int factory_reset_gpio; + char *mg_mgr_hexdump_file; + int mbedtls_level; +}; + +struct mgos_config_sys_mount { + char *path; + char *dev_type; + char *dev_opts; + char *fs_type; + char *fs_opts; +}; + +struct mgos_config_sys { + struct mgos_config_sys_mount mount; + char *tz_spec; + int wdt_timeout; + char *pref_ota_lib; + int esp32_adc_vref; +}; + +struct mgos_config_bt_gatts { + int min_sec_level; + int require_pairing; +}; + +struct mgos_config_bt { + int enable; + char *dev_name; + int adv_enable; + char *scan_rsp_data_hex; + int keep_enabled; + int allow_pairing; + int max_paired_devices; + int random_address; + struct mgos_config_bt_gatts gatts; + int config_svc_enable; +}; + +struct mgos_config_mjs { + int generate_jsc; +}; + +struct mgos_config_rpc_ws { + int enable; + char *server_address; + int reconnect_interval_min; + int reconnect_interval_max; + char *ssl_server_name; + char *ssl_ca_file; + char *ssl_client_cert_file; +}; + +struct mgos_config_rpc_uart { + int uart_no; + int baud_rate; + int fc_type; + int wait_for_start_frame; +}; + +struct mgos_config_rpc { + int enable; + int max_frame_size; + int max_queue_length; + int default_out_channel_idle_close_timeout; + char *acl_file; + char *auth_domain; + char *auth_file; + struct mgos_config_rpc_ws ws; + struct mgos_config_rpc_uart uart; +}; + +struct mgos_config_wifi_sta { + int enable; + char *ssid; + char *pass; + char *user; + char *anon_identity; + char *cert; + char *key; + char *ca_cert; + char *ip; + char *netmask; + char *gw; + char *nameserver; + char *dhcp_hostname; +}; + +struct mgos_config_wifi_ap { + int enable; + char *ssid; + char *pass; + int hidden; + int channel; + int max_connections; + char *ip; + char *netmask; + char *gw; + char *dhcp_start; + char *dhcp_end; + int trigger_on_gpio; + int disable_after; + char *hostname; + int keep_enabled; +}; + +struct mgos_config_wifi { + struct mgos_config_wifi_sta sta; + struct mgos_config_wifi_ap ap; +}; + +struct mgos_config_higrow { + char *deviceId; + double temperature; + double humidity; + int light; + int moisture; + int connected; + int battery_calibration; +}; + +struct mgos_config { + struct mgos_config_device device; + struct mgos_config_debug debug; + struct mgos_config_sys sys; + char *conf_acl; + struct mgos_config_bt bt; + struct mgos_config_mjs mjs; + struct mgos_config_rpc rpc; + struct mgos_config_wifi wifi; + struct mgos_config_higrow higrow; +}; + +/* Parametrized accessor prototypes {{{ */ +const struct mgos_config_device *mgos_config_get_device(struct mgos_config *cfg); +const char *mgos_config_get_device_id(struct mgos_config *cfg); +const char *mgos_config_get_device_password(struct mgos_config *cfg); +const struct mgos_config_debug *mgos_config_get_debug(struct mgos_config *cfg); +const char *mgos_config_get_debug_udp_log_addr(struct mgos_config *cfg); +int mgos_config_get_debug_level(struct mgos_config *cfg); +const char *mgos_config_get_debug_filter(struct mgos_config *cfg); +int mgos_config_get_debug_stdout_uart(struct mgos_config *cfg); +int mgos_config_get_debug_stderr_uart(struct mgos_config *cfg); +int mgos_config_get_debug_factory_reset_gpio(struct mgos_config *cfg); +const char *mgos_config_get_debug_mg_mgr_hexdump_file(struct mgos_config *cfg); +int mgos_config_get_debug_mbedtls_level(struct mgos_config *cfg); +const struct mgos_config_sys *mgos_config_get_sys(struct mgos_config *cfg); +const struct mgos_config_sys_mount *mgos_config_get_sys_mount(struct mgos_config *cfg); +const char *mgos_config_get_sys_mount_path(struct mgos_config *cfg); +const char *mgos_config_get_sys_mount_dev_type(struct mgos_config *cfg); +const char *mgos_config_get_sys_mount_dev_opts(struct mgos_config *cfg); +const char *mgos_config_get_sys_mount_fs_type(struct mgos_config *cfg); +const char *mgos_config_get_sys_mount_fs_opts(struct mgos_config *cfg); +const char *mgos_config_get_sys_tz_spec(struct mgos_config *cfg); +int mgos_config_get_sys_wdt_timeout(struct mgos_config *cfg); +const char *mgos_config_get_sys_pref_ota_lib(struct mgos_config *cfg); +int mgos_config_get_sys_esp32_adc_vref(struct mgos_config *cfg); +const char *mgos_config_get_conf_acl(struct mgos_config *cfg); +const struct mgos_config_bt *mgos_config_get_bt(struct mgos_config *cfg); +int mgos_config_get_bt_enable(struct mgos_config *cfg); +const char *mgos_config_get_bt_dev_name(struct mgos_config *cfg); +int mgos_config_get_bt_adv_enable(struct mgos_config *cfg); +const char *mgos_config_get_bt_scan_rsp_data_hex(struct mgos_config *cfg); +int mgos_config_get_bt_keep_enabled(struct mgos_config *cfg); +int mgos_config_get_bt_allow_pairing(struct mgos_config *cfg); +int mgos_config_get_bt_max_paired_devices(struct mgos_config *cfg); +int mgos_config_get_bt_random_address(struct mgos_config *cfg); +const struct mgos_config_bt_gatts *mgos_config_get_bt_gatts(struct mgos_config *cfg); +int mgos_config_get_bt_gatts_min_sec_level(struct mgos_config *cfg); +int mgos_config_get_bt_gatts_require_pairing(struct mgos_config *cfg); +int mgos_config_get_bt_config_svc_enable(struct mgos_config *cfg); +const struct mgos_config_mjs *mgos_config_get_mjs(struct mgos_config *cfg); +int mgos_config_get_mjs_generate_jsc(struct mgos_config *cfg); +const struct mgos_config_rpc *mgos_config_get_rpc(struct mgos_config *cfg); +int mgos_config_get_rpc_enable(struct mgos_config *cfg); +int mgos_config_get_rpc_max_frame_size(struct mgos_config *cfg); +int mgos_config_get_rpc_max_queue_length(struct mgos_config *cfg); +int mgos_config_get_rpc_default_out_channel_idle_close_timeout(struct mgos_config *cfg); +const char *mgos_config_get_rpc_acl_file(struct mgos_config *cfg); +const char *mgos_config_get_rpc_auth_domain(struct mgos_config *cfg); +const char *mgos_config_get_rpc_auth_file(struct mgos_config *cfg); +const struct mgos_config_rpc_ws *mgos_config_get_rpc_ws(struct mgos_config *cfg); +int mgos_config_get_rpc_ws_enable(struct mgos_config *cfg); +const char *mgos_config_get_rpc_ws_server_address(struct mgos_config *cfg); +int mgos_config_get_rpc_ws_reconnect_interval_min(struct mgos_config *cfg); +int mgos_config_get_rpc_ws_reconnect_interval_max(struct mgos_config *cfg); +const char *mgos_config_get_rpc_ws_ssl_server_name(struct mgos_config *cfg); +const char *mgos_config_get_rpc_ws_ssl_ca_file(struct mgos_config *cfg); +const char *mgos_config_get_rpc_ws_ssl_client_cert_file(struct mgos_config *cfg); +const struct mgos_config_rpc_uart *mgos_config_get_rpc_uart(struct mgos_config *cfg); +int mgos_config_get_rpc_uart_uart_no(struct mgos_config *cfg); +int mgos_config_get_rpc_uart_baud_rate(struct mgos_config *cfg); +int mgos_config_get_rpc_uart_fc_type(struct mgos_config *cfg); +int mgos_config_get_rpc_uart_wait_for_start_frame(struct mgos_config *cfg); +const struct mgos_config_wifi *mgos_config_get_wifi(struct mgos_config *cfg); +const struct mgos_config_wifi_sta *mgos_config_get_wifi_sta(struct mgos_config *cfg); +int mgos_config_get_wifi_sta_enable(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_ssid(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_pass(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_user(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_anon_identity(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_cert(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_key(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_ca_cert(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_ip(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_netmask(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_gw(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_nameserver(struct mgos_config *cfg); +const char *mgos_config_get_wifi_sta_dhcp_hostname(struct mgos_config *cfg); +const struct mgos_config_wifi_ap *mgos_config_get_wifi_ap(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_enable(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_ssid(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_pass(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_hidden(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_channel(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_max_connections(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_ip(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_netmask(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_gw(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_dhcp_start(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_dhcp_end(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_trigger_on_gpio(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_disable_after(struct mgos_config *cfg); +const char *mgos_config_get_wifi_ap_hostname(struct mgos_config *cfg); +int mgos_config_get_wifi_ap_keep_enabled(struct mgos_config *cfg); +const struct mgos_config_higrow *mgos_config_get_higrow(struct mgos_config *cfg); +const char *mgos_config_get_higrow_deviceId(struct mgos_config *cfg); +double mgos_config_get_higrow_temperature(struct mgos_config *cfg); +double mgos_config_get_higrow_humidity(struct mgos_config *cfg); +int mgos_config_get_higrow_light(struct mgos_config *cfg); +int mgos_config_get_higrow_moisture(struct mgos_config *cfg); +int mgos_config_get_higrow_connected(struct mgos_config *cfg); +int mgos_config_get_higrow_battery_calibration(struct mgos_config *cfg); + +void mgos_config_set_device_id(struct mgos_config *cfg, const char *val); +void mgos_config_set_device_password(struct mgos_config *cfg, const char *val); +void mgos_config_set_debug_udp_log_addr(struct mgos_config *cfg, const char *val); +void mgos_config_set_debug_level(struct mgos_config *cfg, int val); +void mgos_config_set_debug_filter(struct mgos_config *cfg, const char *val); +void mgos_config_set_debug_stdout_uart(struct mgos_config *cfg, int val); +void mgos_config_set_debug_stderr_uart(struct mgos_config *cfg, int val); +void mgos_config_set_debug_factory_reset_gpio(struct mgos_config *cfg, int val); +void mgos_config_set_debug_mg_mgr_hexdump_file(struct mgos_config *cfg, const char *val); +void mgos_config_set_debug_mbedtls_level(struct mgos_config *cfg, int val); +void mgos_config_set_sys_mount_path(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_mount_dev_type(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_mount_dev_opts(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_mount_fs_type(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_mount_fs_opts(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_tz_spec(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_wdt_timeout(struct mgos_config *cfg, int val); +void mgos_config_set_sys_pref_ota_lib(struct mgos_config *cfg, const char *val); +void mgos_config_set_sys_esp32_adc_vref(struct mgos_config *cfg, int val); +void mgos_config_set_conf_acl(struct mgos_config *cfg, const char *val); +void mgos_config_set_bt_enable(struct mgos_config *cfg, int val); +void mgos_config_set_bt_dev_name(struct mgos_config *cfg, const char *val); +void mgos_config_set_bt_adv_enable(struct mgos_config *cfg, int val); +void mgos_config_set_bt_scan_rsp_data_hex(struct mgos_config *cfg, const char *val); +void mgos_config_set_bt_keep_enabled(struct mgos_config *cfg, int val); +void mgos_config_set_bt_allow_pairing(struct mgos_config *cfg, int val); +void mgos_config_set_bt_max_paired_devices(struct mgos_config *cfg, int val); +void mgos_config_set_bt_random_address(struct mgos_config *cfg, int val); +void mgos_config_set_bt_gatts_min_sec_level(struct mgos_config *cfg, int val); +void mgos_config_set_bt_gatts_require_pairing(struct mgos_config *cfg, int val); +void mgos_config_set_bt_config_svc_enable(struct mgos_config *cfg, int val); +void mgos_config_set_mjs_generate_jsc(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_enable(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_max_frame_size(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_max_queue_length(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_default_out_channel_idle_close_timeout(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_acl_file(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_auth_domain(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_auth_file(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_ws_enable(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_ws_server_address(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_ws_reconnect_interval_min(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_ws_reconnect_interval_max(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_ws_ssl_server_name(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_ws_ssl_ca_file(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_ws_ssl_client_cert_file(struct mgos_config *cfg, const char *val); +void mgos_config_set_rpc_uart_uart_no(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_uart_baud_rate(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_uart_fc_type(struct mgos_config *cfg, int val); +void mgos_config_set_rpc_uart_wait_for_start_frame(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_sta_enable(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_sta_ssid(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_pass(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_user(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_anon_identity(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_cert(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_key(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_ca_cert(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_ip(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_netmask(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_gw(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_nameserver(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_sta_dhcp_hostname(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_enable(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_ap_ssid(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_pass(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_hidden(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_ap_channel(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_ap_max_connections(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_ap_ip(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_netmask(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_gw(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_dhcp_start(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_dhcp_end(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_trigger_on_gpio(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_ap_disable_after(struct mgos_config *cfg, int val); +void mgos_config_set_wifi_ap_hostname(struct mgos_config *cfg, const char *val); +void mgos_config_set_wifi_ap_keep_enabled(struct mgos_config *cfg, int val); +void mgos_config_set_higrow_deviceId(struct mgos_config *cfg, const char *val); +void mgos_config_set_higrow_temperature(struct mgos_config *cfg, double val); +void mgos_config_set_higrow_humidity(struct mgos_config *cfg, double val); +void mgos_config_set_higrow_light(struct mgos_config *cfg, int val); +void mgos_config_set_higrow_moisture(struct mgos_config *cfg, int val); +void mgos_config_set_higrow_connected(struct mgos_config *cfg, int val); +void mgos_config_set_higrow_battery_calibration(struct mgos_config *cfg, int val); +/* }}} */ + +extern struct mgos_config mgos_sys_config; + +static inline const struct mgos_config_device *mgos_sys_config_get_device(void) { return mgos_config_get_device(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_device_id(void) { return mgos_config_get_device_id(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_device_password(void) { return mgos_config_get_device_password(&mgos_sys_config); } +static inline const struct mgos_config_debug *mgos_sys_config_get_debug(void) { return mgos_config_get_debug(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_debug_udp_log_addr(void) { return mgos_config_get_debug_udp_log_addr(&mgos_sys_config); } +static inline int mgos_sys_config_get_debug_level(void) { return mgos_config_get_debug_level(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_debug_filter(void) { return mgos_config_get_debug_filter(&mgos_sys_config); } +static inline int mgos_sys_config_get_debug_stdout_uart(void) { return mgos_config_get_debug_stdout_uart(&mgos_sys_config); } +static inline int mgos_sys_config_get_debug_stderr_uart(void) { return mgos_config_get_debug_stderr_uart(&mgos_sys_config); } +static inline int mgos_sys_config_get_debug_factory_reset_gpio(void) { return mgos_config_get_debug_factory_reset_gpio(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_debug_mg_mgr_hexdump_file(void) { return mgos_config_get_debug_mg_mgr_hexdump_file(&mgos_sys_config); } +static inline int mgos_sys_config_get_debug_mbedtls_level(void) { return mgos_config_get_debug_mbedtls_level(&mgos_sys_config); } +static inline const struct mgos_config_sys *mgos_sys_config_get_sys(void) { return mgos_config_get_sys(&mgos_sys_config); } +static inline const struct mgos_config_sys_mount *mgos_sys_config_get_sys_mount(void) { return mgos_config_get_sys_mount(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_mount_path(void) { return mgos_config_get_sys_mount_path(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_mount_dev_type(void) { return mgos_config_get_sys_mount_dev_type(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_mount_dev_opts(void) { return mgos_config_get_sys_mount_dev_opts(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_mount_fs_type(void) { return mgos_config_get_sys_mount_fs_type(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_mount_fs_opts(void) { return mgos_config_get_sys_mount_fs_opts(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_tz_spec(void) { return mgos_config_get_sys_tz_spec(&mgos_sys_config); } +static inline int mgos_sys_config_get_sys_wdt_timeout(void) { return mgos_config_get_sys_wdt_timeout(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_sys_pref_ota_lib(void) { return mgos_config_get_sys_pref_ota_lib(&mgos_sys_config); } +static inline int mgos_sys_config_get_sys_esp32_adc_vref(void) { return mgos_config_get_sys_esp32_adc_vref(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_conf_acl(void) { return mgos_config_get_conf_acl(&mgos_sys_config); } +static inline const struct mgos_config_bt *mgos_sys_config_get_bt(void) { return mgos_config_get_bt(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_enable(void) { return mgos_config_get_bt_enable(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_bt_dev_name(void) { return mgos_config_get_bt_dev_name(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_adv_enable(void) { return mgos_config_get_bt_adv_enable(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_bt_scan_rsp_data_hex(void) { return mgos_config_get_bt_scan_rsp_data_hex(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_keep_enabled(void) { return mgos_config_get_bt_keep_enabled(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_allow_pairing(void) { return mgos_config_get_bt_allow_pairing(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_max_paired_devices(void) { return mgos_config_get_bt_max_paired_devices(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_random_address(void) { return mgos_config_get_bt_random_address(&mgos_sys_config); } +static inline const struct mgos_config_bt_gatts *mgos_sys_config_get_bt_gatts(void) { return mgos_config_get_bt_gatts(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_gatts_min_sec_level(void) { return mgos_config_get_bt_gatts_min_sec_level(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_gatts_require_pairing(void) { return mgos_config_get_bt_gatts_require_pairing(&mgos_sys_config); } +static inline int mgos_sys_config_get_bt_config_svc_enable(void) { return mgos_config_get_bt_config_svc_enable(&mgos_sys_config); } +static inline const struct mgos_config_mjs *mgos_sys_config_get_mjs(void) { return mgos_config_get_mjs(&mgos_sys_config); } +static inline int mgos_sys_config_get_mjs_generate_jsc(void) { return mgos_config_get_mjs_generate_jsc(&mgos_sys_config); } +static inline const struct mgos_config_rpc *mgos_sys_config_get_rpc(void) { return mgos_config_get_rpc(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_enable(void) { return mgos_config_get_rpc_enable(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_max_frame_size(void) { return mgos_config_get_rpc_max_frame_size(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_max_queue_length(void) { return mgos_config_get_rpc_max_queue_length(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_default_out_channel_idle_close_timeout(void) { return mgos_config_get_rpc_default_out_channel_idle_close_timeout(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_acl_file(void) { return mgos_config_get_rpc_acl_file(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_auth_domain(void) { return mgos_config_get_rpc_auth_domain(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_auth_file(void) { return mgos_config_get_rpc_auth_file(&mgos_sys_config); } +static inline const struct mgos_config_rpc_ws *mgos_sys_config_get_rpc_ws(void) { return mgos_config_get_rpc_ws(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_ws_enable(void) { return mgos_config_get_rpc_ws_enable(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_ws_server_address(void) { return mgos_config_get_rpc_ws_server_address(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_ws_reconnect_interval_min(void) { return mgos_config_get_rpc_ws_reconnect_interval_min(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_ws_reconnect_interval_max(void) { return mgos_config_get_rpc_ws_reconnect_interval_max(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_ws_ssl_server_name(void) { return mgos_config_get_rpc_ws_ssl_server_name(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_ws_ssl_ca_file(void) { return mgos_config_get_rpc_ws_ssl_ca_file(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_rpc_ws_ssl_client_cert_file(void) { return mgos_config_get_rpc_ws_ssl_client_cert_file(&mgos_sys_config); } +static inline const struct mgos_config_rpc_uart *mgos_sys_config_get_rpc_uart(void) { return mgos_config_get_rpc_uart(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_uart_uart_no(void) { return mgos_config_get_rpc_uart_uart_no(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_uart_baud_rate(void) { return mgos_config_get_rpc_uart_baud_rate(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_uart_fc_type(void) { return mgos_config_get_rpc_uart_fc_type(&mgos_sys_config); } +static inline int mgos_sys_config_get_rpc_uart_wait_for_start_frame(void) { return mgos_config_get_rpc_uart_wait_for_start_frame(&mgos_sys_config); } +static inline const struct mgos_config_wifi *mgos_sys_config_get_wifi(void) { return mgos_config_get_wifi(&mgos_sys_config); } +static inline const struct mgos_config_wifi_sta *mgos_sys_config_get_wifi_sta(void) { return mgos_config_get_wifi_sta(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_sta_enable(void) { return mgos_config_get_wifi_sta_enable(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_ssid(void) { return mgos_config_get_wifi_sta_ssid(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_pass(void) { return mgos_config_get_wifi_sta_pass(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_user(void) { return mgos_config_get_wifi_sta_user(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_anon_identity(void) { return mgos_config_get_wifi_sta_anon_identity(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_cert(void) { return mgos_config_get_wifi_sta_cert(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_key(void) { return mgos_config_get_wifi_sta_key(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_ca_cert(void) { return mgos_config_get_wifi_sta_ca_cert(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_ip(void) { return mgos_config_get_wifi_sta_ip(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_netmask(void) { return mgos_config_get_wifi_sta_netmask(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_gw(void) { return mgos_config_get_wifi_sta_gw(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_nameserver(void) { return mgos_config_get_wifi_sta_nameserver(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_sta_dhcp_hostname(void) { return mgos_config_get_wifi_sta_dhcp_hostname(&mgos_sys_config); } +static inline const struct mgos_config_wifi_ap *mgos_sys_config_get_wifi_ap(void) { return mgos_config_get_wifi_ap(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_enable(void) { return mgos_config_get_wifi_ap_enable(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_ssid(void) { return mgos_config_get_wifi_ap_ssid(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_pass(void) { return mgos_config_get_wifi_ap_pass(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_hidden(void) { return mgos_config_get_wifi_ap_hidden(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_channel(void) { return mgos_config_get_wifi_ap_channel(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_max_connections(void) { return mgos_config_get_wifi_ap_max_connections(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_ip(void) { return mgos_config_get_wifi_ap_ip(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_netmask(void) { return mgos_config_get_wifi_ap_netmask(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_gw(void) { return mgos_config_get_wifi_ap_gw(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_dhcp_start(void) { return mgos_config_get_wifi_ap_dhcp_start(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_dhcp_end(void) { return mgos_config_get_wifi_ap_dhcp_end(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_trigger_on_gpio(void) { return mgos_config_get_wifi_ap_trigger_on_gpio(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_disable_after(void) { return mgos_config_get_wifi_ap_disable_after(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_wifi_ap_hostname(void) { return mgos_config_get_wifi_ap_hostname(&mgos_sys_config); } +static inline int mgos_sys_config_get_wifi_ap_keep_enabled(void) { return mgos_config_get_wifi_ap_keep_enabled(&mgos_sys_config); } +static inline const struct mgos_config_higrow *mgos_sys_config_get_higrow(void) { return mgos_config_get_higrow(&mgos_sys_config); } +static inline const char *mgos_sys_config_get_higrow_deviceId(void) { return mgos_config_get_higrow_deviceId(&mgos_sys_config); } +static inline double mgos_sys_config_get_higrow_temperature(void) { return mgos_config_get_higrow_temperature(&mgos_sys_config); } +static inline double mgos_sys_config_get_higrow_humidity(void) { return mgos_config_get_higrow_humidity(&mgos_sys_config); } +static inline int mgos_sys_config_get_higrow_light(void) { return mgos_config_get_higrow_light(&mgos_sys_config); } +static inline int mgos_sys_config_get_higrow_moisture(void) { return mgos_config_get_higrow_moisture(&mgos_sys_config); } +static inline int mgos_sys_config_get_higrow_connected(void) { return mgos_config_get_higrow_connected(&mgos_sys_config); } +static inline int mgos_sys_config_get_higrow_battery_calibration(void) { return mgos_config_get_higrow_battery_calibration(&mgos_sys_config); } + +static inline void mgos_sys_config_set_device_id(const char *val) { mgos_config_set_device_id(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_device_password(const char *val) { mgos_config_set_device_password(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_udp_log_addr(const char *val) { mgos_config_set_debug_udp_log_addr(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_level(int val) { mgos_config_set_debug_level(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_filter(const char *val) { mgos_config_set_debug_filter(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_stdout_uart(int val) { mgos_config_set_debug_stdout_uart(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_stderr_uart(int val) { mgos_config_set_debug_stderr_uart(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_factory_reset_gpio(int val) { mgos_config_set_debug_factory_reset_gpio(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_mg_mgr_hexdump_file(const char *val) { mgos_config_set_debug_mg_mgr_hexdump_file(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_debug_mbedtls_level(int val) { mgos_config_set_debug_mbedtls_level(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_mount_path(const char *val) { mgos_config_set_sys_mount_path(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_mount_dev_type(const char *val) { mgos_config_set_sys_mount_dev_type(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_mount_dev_opts(const char *val) { mgos_config_set_sys_mount_dev_opts(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_mount_fs_type(const char *val) { mgos_config_set_sys_mount_fs_type(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_mount_fs_opts(const char *val) { mgos_config_set_sys_mount_fs_opts(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_tz_spec(const char *val) { mgos_config_set_sys_tz_spec(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_wdt_timeout(int val) { mgos_config_set_sys_wdt_timeout(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_pref_ota_lib(const char *val) { mgos_config_set_sys_pref_ota_lib(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_sys_esp32_adc_vref(int val) { mgos_config_set_sys_esp32_adc_vref(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_conf_acl(const char *val) { mgos_config_set_conf_acl(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_enable(int val) { mgos_config_set_bt_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_dev_name(const char *val) { mgos_config_set_bt_dev_name(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_adv_enable(int val) { mgos_config_set_bt_adv_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_scan_rsp_data_hex(const char *val) { mgos_config_set_bt_scan_rsp_data_hex(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_keep_enabled(int val) { mgos_config_set_bt_keep_enabled(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_allow_pairing(int val) { mgos_config_set_bt_allow_pairing(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_max_paired_devices(int val) { mgos_config_set_bt_max_paired_devices(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_random_address(int val) { mgos_config_set_bt_random_address(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_gatts_min_sec_level(int val) { mgos_config_set_bt_gatts_min_sec_level(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_gatts_require_pairing(int val) { mgos_config_set_bt_gatts_require_pairing(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_bt_config_svc_enable(int val) { mgos_config_set_bt_config_svc_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_mjs_generate_jsc(int val) { mgos_config_set_mjs_generate_jsc(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_enable(int val) { mgos_config_set_rpc_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_max_frame_size(int val) { mgos_config_set_rpc_max_frame_size(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_max_queue_length(int val) { mgos_config_set_rpc_max_queue_length(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_default_out_channel_idle_close_timeout(int val) { mgos_config_set_rpc_default_out_channel_idle_close_timeout(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_acl_file(const char *val) { mgos_config_set_rpc_acl_file(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_auth_domain(const char *val) { mgos_config_set_rpc_auth_domain(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_auth_file(const char *val) { mgos_config_set_rpc_auth_file(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_enable(int val) { mgos_config_set_rpc_ws_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_server_address(const char *val) { mgos_config_set_rpc_ws_server_address(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_reconnect_interval_min(int val) { mgos_config_set_rpc_ws_reconnect_interval_min(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_reconnect_interval_max(int val) { mgos_config_set_rpc_ws_reconnect_interval_max(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_ssl_server_name(const char *val) { mgos_config_set_rpc_ws_ssl_server_name(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_ssl_ca_file(const char *val) { mgos_config_set_rpc_ws_ssl_ca_file(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_ws_ssl_client_cert_file(const char *val) { mgos_config_set_rpc_ws_ssl_client_cert_file(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_uart_uart_no(int val) { mgos_config_set_rpc_uart_uart_no(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_uart_baud_rate(int val) { mgos_config_set_rpc_uart_baud_rate(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_uart_fc_type(int val) { mgos_config_set_rpc_uart_fc_type(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_rpc_uart_wait_for_start_frame(int val) { mgos_config_set_rpc_uart_wait_for_start_frame(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_enable(int val) { mgos_config_set_wifi_sta_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_ssid(const char *val) { mgos_config_set_wifi_sta_ssid(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_pass(const char *val) { mgos_config_set_wifi_sta_pass(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_user(const char *val) { mgos_config_set_wifi_sta_user(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_anon_identity(const char *val) { mgos_config_set_wifi_sta_anon_identity(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_cert(const char *val) { mgos_config_set_wifi_sta_cert(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_key(const char *val) { mgos_config_set_wifi_sta_key(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_ca_cert(const char *val) { mgos_config_set_wifi_sta_ca_cert(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_ip(const char *val) { mgos_config_set_wifi_sta_ip(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_netmask(const char *val) { mgos_config_set_wifi_sta_netmask(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_gw(const char *val) { mgos_config_set_wifi_sta_gw(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_nameserver(const char *val) { mgos_config_set_wifi_sta_nameserver(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_sta_dhcp_hostname(const char *val) { mgos_config_set_wifi_sta_dhcp_hostname(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_enable(int val) { mgos_config_set_wifi_ap_enable(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_ssid(const char *val) { mgos_config_set_wifi_ap_ssid(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_pass(const char *val) { mgos_config_set_wifi_ap_pass(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_hidden(int val) { mgos_config_set_wifi_ap_hidden(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_channel(int val) { mgos_config_set_wifi_ap_channel(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_max_connections(int val) { mgos_config_set_wifi_ap_max_connections(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_ip(const char *val) { mgos_config_set_wifi_ap_ip(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_netmask(const char *val) { mgos_config_set_wifi_ap_netmask(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_gw(const char *val) { mgos_config_set_wifi_ap_gw(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_dhcp_start(const char *val) { mgos_config_set_wifi_ap_dhcp_start(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_dhcp_end(const char *val) { mgos_config_set_wifi_ap_dhcp_end(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_trigger_on_gpio(int val) { mgos_config_set_wifi_ap_trigger_on_gpio(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_disable_after(int val) { mgos_config_set_wifi_ap_disable_after(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_hostname(const char *val) { mgos_config_set_wifi_ap_hostname(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_wifi_ap_keep_enabled(int val) { mgos_config_set_wifi_ap_keep_enabled(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_deviceId(const char *val) { mgos_config_set_higrow_deviceId(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_temperature(double val) { mgos_config_set_higrow_temperature(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_humidity(double val) { mgos_config_set_higrow_humidity(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_light(int val) { mgos_config_set_higrow_light(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_moisture(int val) { mgos_config_set_higrow_moisture(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_connected(int val) { mgos_config_set_higrow_connected(&mgos_sys_config, val); } +static inline void mgos_sys_config_set_higrow_battery_calibration(int val) { mgos_config_set_higrow_battery_calibration(&mgos_sys_config, val); } + + +const struct mgos_conf_entry *mgos_config_schema(); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* MGOS_CONFIG_H_ */ diff --git a/build/gen/mgos_config.o b/build/gen/mgos_config.o new file mode 100644 index 0000000..9eeb465 Binary files /dev/null and b/build/gen/mgos_config.o differ diff --git a/build/gen/mgos_config_defaults.json b/build/gen/mgos_config_defaults.json new file mode 100644 index 0000000..0a6820f --- /dev/null +++ b/build/gen/mgos_config_defaults.json @@ -0,0 +1,115 @@ +{ + "device": { + "id": "HiGrow_??????", + "password": "" + }, + "debug": { + "udp_log_addr": "", + "level": 2, + "filter": "", + "stdout_uart": 0, + "stderr_uart": 0, + "factory_reset_gpio": -1, + "mg_mgr_hexdump_file": "", + "mbedtls_level": 0 + }, + "sys": { + "mount": { + "path": "", + "dev_type": "", + "dev_opts": "", + "fs_type": "", + "fs_opts": "" + }, + "tz_spec": "", + "wdt_timeout": 30, + "pref_ota_lib": "", + "esp32_adc_vref": 0 + }, + "conf_acl": "*", + "bt": { + "enable": true, + "dev_name": "HiGrowBT_", + "adv_enable": true, + "scan_rsp_data_hex": "", + "keep_enabled": false, + "allow_pairing": true, + "max_paired_devices": -1, + "random_address": true, + "gatts": { + "min_sec_level": 0, + "require_pairing": false + }, + "config_svc_enable": true + }, + "mjs": { + "generate_jsc": true + }, + "rpc": { + "enable": true, + "max_frame_size": 4096, + "max_queue_length": 25, + "default_out_channel_idle_close_timeout": 10, + "acl_file": "", + "auth_domain": "", + "auth_file": "", + "ws": { + "enable": true, + "server_address": "", + "reconnect_interval_min": 1, + "reconnect_interval_max": 60, + "ssl_server_name": "", + "ssl_ca_file": "", + "ssl_client_cert_file": "" + }, + "uart": { + "uart_no": 0, + "baud_rate": 115200, + "fc_type": 2, + "wait_for_start_frame": true + } + }, + "wifi": { + "sta": { + "enable": false, + "ssid": "", + "pass": "", + "user": "", + "anon_identity": "", + "cert": "", + "key": "", + "ca_cert": "", + "ip": "", + "netmask": "", + "gw": "", + "nameserver": "", + "dhcp_hostname": "" + }, + "ap": { + "enable": false, + "ssid": "Mongoose_??????", + "pass": "Mongoose", + "hidden": false, + "channel": 6, + "max_connections": 10, + "ip": "192.168.4.1", + "netmask": "255.255.255.0", + "gw": "192.168.4.1", + "dhcp_start": "192.168.4.2", + "dhcp_end": "192.168.4.100", + "trigger_on_gpio": -1, + "disable_after": 0, + "hostname": "", + "keep_enabled": true + } + }, + "higrow": { + "deviceId": "", + "temperature": 0.0, + "humidity": 0.0, + "light": 0, + "moisture": 0, + "connected": false, + "battery_calibration": 2360 + } +} \ No newline at end of file diff --git a/build/gen/mgos_config_schema.json b/build/gen/mgos_config_schema.json new file mode 100644 index 0000000..2a8607f --- /dev/null +++ b/build/gen/mgos_config_schema.json @@ -0,0 +1,101 @@ +[ + ["device", "o", {"title": "Device settings"}], + ["device.id", "s", {"title": "Device ID"}], + ["device.password", "s", {"title": "Device password"}], + ["debug", "o", {"title": "Debug Settings"}], + ["debug.udp_log_addr", "s", {"title": "Send logs to this ip:port (UDP)"}], + ["debug.level", "i", {"title": "Level", "type": "select", "values": [{"title": "NONE", "value": -1}, {"title": "ERROR", "value": 0}, {"title": "WARN", "value": 1}, {"title": "INFO", "value": 2}, {"title": "DEBUG", "value": 3}, {"title": "VERBOSE_DEBUG", "value": 4}]}], + ["debug.filter", "s", {"title": "Log filter against source file name or function name. Comma separated list of prefix match glob patterns, e.g. *mqtt*,mgos_wifi"}], + ["debug.stdout_uart", "i", {"title": "STDOUT UART (-1 to disable)"}], + ["debug.stderr_uart", "i", {"title": "STDERR UART (-1 to disable)"}], + ["debug.factory_reset_gpio", "i", {"title": "Factory reset GPIO (low on boot)"}], + ["debug.mg_mgr_hexdump_file", "s", {"title": "File name to hexdump network traffic to. Use '-' for stdout, '--' for stderr."}], + ["debug.mbedtls_level", "i", {"title": "mbedTLS debug level"}], + ["sys", "o", {"title": "System settings"}], + ["sys.mount", "o", {"title": "Extra filesystem to mount"}], + ["sys.mount.path", "s", {"title": "Mount point"}], + ["sys.mount.dev_type", "s", {"title": "Storage device type"}], + ["sys.mount.dev_opts", "s", {"title": "Storage device options"}], + ["sys.mount.fs_type", "s", {"title": "Filesystem type"}], + ["sys.mount.fs_opts", "s", {"title": "Filesystem options"}], + ["sys.tz_spec", "s", {"title": "See formats for the TZ env var: \"man tzset\". Formats like \":/path/to/file\" are not supported"}], + ["sys.wdt_timeout", "i", {"title": "Watchdog timeout (seconds)"}], + ["sys.pref_ota_lib", "s", {"title": "Preferred ota lib, e.g. dash, ota-http-client"}], + ["sys.esp32_adc_vref", "i", {"title": "ADC Vref, in mV"}], + ["conf_acl", "s", {"title": "Conf ACL"}], + ["bt", "o", {"title": "Bluetooth settings"}], + ["bt.enable", "b", {"title": "Enable BT"}], + ["bt.dev_name", "s", {"title": "Device name; defaults to device.id"}], + ["bt.adv_enable", "b", {"title": "Advertise services"}], + ["bt.scan_rsp_data_hex", "s", {"title": "Scan response data, hex-encoded"}], + ["bt.keep_enabled", "b", {"title": "By default, BT will be disabled once WiFi is configured and connects. Set this to true to keep BT enabled."}], + ["bt.allow_pairing", "b", {"title": "Allow pairing/bonding with other devices"}], + ["bt.max_paired_devices", "i", {"title": "Max number of paired devices; -1 - no limit"}], + ["bt.random_address", "b", {"title": "Use random BT address"}], + ["bt.gatts", "o", {"title": "GATTS settings"}], + ["bt.gatts.min_sec_level", "i", {"title": "0 - no auth required, 1 - encryption reqd, 2 - encryption + MITM reqd"}], + ["bt.gatts.require_pairing", "b", {"title": "Require device to be paired before accessing services"}], + ["bt.config_svc_enable", "b", {"title": "Enable the config service"}], + ["mjs", "o", {"title": "mJS settings"}], + ["mjs.generate_jsc", "b", {"title": "Generate .jsc file when executing any .js file"}], + ["rpc", "o", {"title": "RPC settings"}], + ["rpc.enable", "b", {"title": "Enable RPC"}], + ["rpc.max_frame_size", "i", {"title": "Max Frame Size"}], + ["rpc.max_queue_length", "i", {"title": "Max Queue Length"}], + ["rpc.default_out_channel_idle_close_timeout", "i", {"title": "Default idle close timeout for outbound channels"}], + ["rpc.acl_file", "s", {"title": "File with RPC ACL JSON"}], + ["rpc.auth_domain", "s", {"title": "Realm to use for digest authentication"}], + ["rpc.auth_file", "s", {"title": "File with user credentials in the htdigest format"}], + ["rpc.ws", "o", {"title": "RPC over WebSocket settings"}], + ["rpc.ws.enable", "b", {"title": "Enable RPC over WebSocket"}], + ["rpc.ws.server_address", "s", {"title": "Cloud server address"}], + ["rpc.ws.reconnect_interval_min", "i", {"title": "Minimal reconnect interval"}], + ["rpc.ws.reconnect_interval_max", "i", {"title": "Maximal reconnect interval"}], + ["rpc.ws.ssl_server_name", "s", {"title": "TLS Server Name"}], + ["rpc.ws.ssl_ca_file", "s", {"title": "TLS CA file"}], + ["rpc.ws.ssl_client_cert_file", "s", {"title": "TLS client cert file"}], + ["rpc.uart", "o", {"title": "RPC-over-UART settings"}], + ["rpc.uart.uart_no", "i", {"title": "UART number (-1 to disable)"}], + ["rpc.uart.baud_rate", "i", {"title": "Baud rate"}], + ["rpc.uart.fc_type", "i", {"title": "Flow control: 0 - none, 1 - CTS/RTS, 2 - XON/XOFF"}], + ["rpc.uart.wait_for_start_frame", "b", {"title": "Wait for an incoming frame before using the channel"}], + ["wifi", "o", {"hide": true}], + ["wifi.sta", "o", {"title": "WiFi Station"}], + ["wifi.sta.enable", "b", {"title": "Connect to existing WiFi"}], + ["wifi.sta.ssid", "s", {"title": "SSID"}], + ["wifi.sta.pass", "s", {"title": "Password", "type": "password"}], + ["wifi.sta.user", "s", {"title": "Username for WPA-PEAP mode"}], + ["wifi.sta.anon_identity", "s", {"title": "Anonymous identity for WPA mode"}], + ["wifi.sta.cert", "s", {"title": "Client certificate for WPA-TTLS mode"}], + ["wifi.sta.key", "s", {"title": "Client key for WPA-TTLS mode"}], + ["wifi.sta.ca_cert", "s", {"title": "CA certificate for WPA-enterprise mode"}], + ["wifi.sta.ip", "s", {"title": "Static IP Address"}], + ["wifi.sta.netmask", "s", {"title": "Static Netmask"}], + ["wifi.sta.gw", "s", {"title": "Static Default Gateway"}], + ["wifi.sta.nameserver", "s", {"title": "DNS Server"}], + ["wifi.sta.dhcp_hostname", "s", {"title": "Host name to include in DHCP requests"}], + ["wifi.ap", "o", {"title": "WiFi Access Point"}], + ["wifi.ap.enable", "b", {"title": "Enable"}], + ["wifi.ap.ssid", "s", {"title": "SSID"}], + ["wifi.ap.pass", "s", {"title": "Password", "type": "password"}], + ["wifi.ap.hidden", "b", {"title": "Hide SSID"}], + ["wifi.ap.channel", "i", {"title": "Channel"}], + ["wifi.ap.max_connections", "i", {"title": "Max connections"}], + ["wifi.ap.ip", "s", {"title": "IP address"}], + ["wifi.ap.netmask", "s", {"title": "Network Mask"}], + ["wifi.ap.gw", "s", {"title": "Default Gateway"}], + ["wifi.ap.dhcp_start", "s", {"title": "DHCP Start Address"}], + ["wifi.ap.dhcp_end", "s", {"title": "DHCP End Address"}], + ["wifi.ap.trigger_on_gpio", "i", {"title": "Trigger AP on low GPIO"}], + ["wifi.ap.disable_after", "i", {"title": "If > 0, will disable itself after the specified number of seconds"}], + ["wifi.ap.hostname", "s", {"title": "If not empty, DNS server will resolve given host name to the IP address of AP"}], + ["wifi.ap.keep_enabled", "b", {"title": "Keep AP enabled when station is on"}], + ["higrow", "o", {"title": "LilyGo HiGrow ESP32 Plant Sensor App Settings"}], + ["higrow.deviceId", "s", {"title": "DeviceId"}], + ["higrow.temperature", "d", {"title": "Temperature"}], + ["higrow.humidity", "d", {"title": "Humidity"}], + ["higrow.light", "i", {"title": "Light"}], + ["higrow.moisture", "i", {"title": "Moisture"}], + ["higrow.connected", "b", {"title": "Connected"}], + ["higrow.battery_calibration", "i", {"title": "Battery ADC value at 4000mV"}] +] diff --git a/build/gen/mgos_ro_vars.c b/build/gen/mgos_ro_vars.c new file mode 100644 index 0000000..2c8d59e --- /dev/null +++ b/build/gen/mgos_ro_vars.c @@ -0,0 +1,56 @@ +/* Generated file - do not edit. */ + +#include +#include "mgos_ro_vars.h" + +const struct mgos_conf_entry mgos_ro_vars_schema_[6] = { + {.type = CONF_TYPE_OBJECT, .key = "", .num_desc = 5}, + {.type = CONF_TYPE_STRING, .key = "mac_address", .offset = offsetof(struct mgos_ro_vars, mac_address)}, + {.type = CONF_TYPE_STRING, .key = "arch", .offset = offsetof(struct mgos_ro_vars, arch)}, + {.type = CONF_TYPE_STRING, .key = "fw_version", .offset = offsetof(struct mgos_ro_vars, fw_version)}, + {.type = CONF_TYPE_STRING, .key = "fw_timestamp", .offset = offsetof(struct mgos_ro_vars, fw_timestamp)}, + {.type = CONF_TYPE_STRING, .key = "fw_id", .offset = offsetof(struct mgos_ro_vars, fw_id)}, +}; + +const struct mgos_conf_entry *mgos_ro_vars_schema() { + return mgos_ro_vars_schema_; +} + +/* Global instance */ +struct mgos_ro_vars mgos_sys_ro_vars; + +/* Getters {{{ */ +const char *mgos_ro_vars_get_mac_address(struct mgos_ro_vars *cfg) { + return cfg->mac_address; +} +const char *mgos_ro_vars_get_arch(struct mgos_ro_vars *cfg) { + return cfg->arch; +} +const char *mgos_ro_vars_get_fw_version(struct mgos_ro_vars *cfg) { + return cfg->fw_version; +} +const char *mgos_ro_vars_get_fw_timestamp(struct mgos_ro_vars *cfg) { + return cfg->fw_timestamp; +} +const char *mgos_ro_vars_get_fw_id(struct mgos_ro_vars *cfg) { + return cfg->fw_id; +} +/* }}} */ + +/* Setters {{{ */ +void mgos_ro_vars_set_mac_address(struct mgos_ro_vars *cfg, const char *val) { + mgos_conf_set_str(&cfg->mac_address, val); +} +void mgos_ro_vars_set_arch(struct mgos_ro_vars *cfg, const char *val) { + mgos_conf_set_str(&cfg->arch, val); +} +void mgos_ro_vars_set_fw_version(struct mgos_ro_vars *cfg, const char *val) { + mgos_conf_set_str(&cfg->fw_version, val); +} +void mgos_ro_vars_set_fw_timestamp(struct mgos_ro_vars *cfg, const char *val) { + mgos_conf_set_str(&cfg->fw_timestamp, val); +} +void mgos_ro_vars_set_fw_id(struct mgos_ro_vars *cfg, const char *val) { + mgos_conf_set_str(&cfg->fw_id, val); +} +/* }}} */ diff --git a/build/gen/mgos_ro_vars.h b/build/gen/mgos_ro_vars.h new file mode 100644 index 0000000..f0fc188 --- /dev/null +++ b/build/gen/mgos_ro_vars.h @@ -0,0 +1,58 @@ +/* + * Generated file - do not edit. + * Command: /mongoose-os/fw/tools/gen_sys_config.py --c_name=mgos_ro_vars --c_global_name=mgos_sys_ro_vars --dest_dir=/fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/ /mongoose-os/fw/src/mgos_ro_vars_schema.yaml + */ + +#ifndef MGOS_RO_VARS_H_ +#define MGOS_RO_VARS_H_ + +#include "mgos_config_util.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +struct mgos_ro_vars { + char *mac_address; + char *arch; + char *fw_version; + char *fw_timestamp; + char *fw_id; +}; + +/* Parametrized accessor prototypes {{{ */ +const char *mgos_ro_vars_get_mac_address(struct mgos_ro_vars *cfg); +const char *mgos_ro_vars_get_arch(struct mgos_ro_vars *cfg); +const char *mgos_ro_vars_get_fw_version(struct mgos_ro_vars *cfg); +const char *mgos_ro_vars_get_fw_timestamp(struct mgos_ro_vars *cfg); +const char *mgos_ro_vars_get_fw_id(struct mgos_ro_vars *cfg); + +void mgos_ro_vars_set_mac_address(struct mgos_ro_vars *cfg, const char *val); +void mgos_ro_vars_set_arch(struct mgos_ro_vars *cfg, const char *val); +void mgos_ro_vars_set_fw_version(struct mgos_ro_vars *cfg, const char *val); +void mgos_ro_vars_set_fw_timestamp(struct mgos_ro_vars *cfg, const char *val); +void mgos_ro_vars_set_fw_id(struct mgos_ro_vars *cfg, const char *val); +/* }}} */ + +extern struct mgos_ro_vars mgos_sys_ro_vars; + +static inline const char *mgos_sys_ro_vars_get_mac_address(void) { return mgos_ro_vars_get_mac_address(&mgos_sys_ro_vars); } +static inline const char *mgos_sys_ro_vars_get_arch(void) { return mgos_ro_vars_get_arch(&mgos_sys_ro_vars); } +static inline const char *mgos_sys_ro_vars_get_fw_version(void) { return mgos_ro_vars_get_fw_version(&mgos_sys_ro_vars); } +static inline const char *mgos_sys_ro_vars_get_fw_timestamp(void) { return mgos_ro_vars_get_fw_timestamp(&mgos_sys_ro_vars); } +static inline const char *mgos_sys_ro_vars_get_fw_id(void) { return mgos_ro_vars_get_fw_id(&mgos_sys_ro_vars); } + +static inline void mgos_sys_ro_vars_set_mac_address(const char *val) { mgos_ro_vars_set_mac_address(&mgos_sys_ro_vars, val); } +static inline void mgos_sys_ro_vars_set_arch(const char *val) { mgos_ro_vars_set_arch(&mgos_sys_ro_vars, val); } +static inline void mgos_sys_ro_vars_set_fw_version(const char *val) { mgos_ro_vars_set_fw_version(&mgos_sys_ro_vars, val); } +static inline void mgos_sys_ro_vars_set_fw_timestamp(const char *val) { mgos_ro_vars_set_fw_timestamp(&mgos_sys_ro_vars, val); } +static inline void mgos_sys_ro_vars_set_fw_id(const char *val) { mgos_ro_vars_set_fw_id(&mgos_sys_ro_vars, val); } + + +const struct mgos_conf_entry *mgos_ro_vars_schema(); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* MGOS_RO_VARS_H_ */ diff --git a/build/gen/mgos_ro_vars_defaults.json b/build/gen/mgos_ro_vars_defaults.json new file mode 100644 index 0000000..aec5bd9 --- /dev/null +++ b/build/gen/mgos_ro_vars_defaults.json @@ -0,0 +1,7 @@ +{ + "mac_address": "", + "arch": "", + "fw_version": "", + "fw_timestamp": "", + "fw_id": "" +} \ No newline at end of file diff --git a/build/gen/mgos_ro_vars_schema.json b/build/gen/mgos_ro_vars_schema.json new file mode 100644 index 0000000..b16ceb0 --- /dev/null +++ b/build/gen/mgos_ro_vars_schema.json @@ -0,0 +1,7 @@ +[ + ["mac_address", "s", {"read_only": true, "title": "MAC address"}], + ["arch", "s", {"read_only": true, "title": "Platform"}], + ["fw_version", "s", {"read_only": true, "title": "FW version"}], + ["fw_timestamp", "s", {"read_only": true, "title": "Build timestamp"}], + ["fw_id", "s", {"read_only": true, "title": "Build ID"}] +] diff --git a/build/gen/mos_conf_schema.yml b/build/gen/mos_conf_schema.yml new file mode 100644 index 0000000..985f0bd --- /dev/null +++ b/build/gen/mos_conf_schema.yml @@ -0,0 +1,290 @@ +- - sys.esp32_adc_vref + - i + - 0 + - title: ADC Vref, in mV +- - bt + - o + - title: Bluetooth settings +- - bt.enable + - b + - true + - title: Enable BT +- - bt.dev_name + - s + - "" + - title: Device name; defaults to device.id +- - bt.adv_enable + - b + - true + - title: Advertise services +- - bt.scan_rsp_data_hex + - s + - "" + - title: Scan response data, hex-encoded +- - bt.keep_enabled + - b + - false + - title: By default, BT will be disabled once WiFi is configured and connects. Set + this to true to keep BT enabled. +- - bt.allow_pairing + - b + - true + - title: Allow pairing/bonding with other devices +- - bt.max_paired_devices + - i + - -1 + - title: Max number of paired devices; -1 - no limit +- - bt.random_address + - b + - true + - title: Use random BT address +- - bt.gatts + - o + - title: GATTS settings +- - bt.gatts.min_sec_level + - i + - 0 + - title: 0 - no auth required, 1 - encryption reqd, 2 - encryption + MITM reqd +- - bt.gatts.require_pairing + - b + - false + - title: Require device to be paired before accessing services +- - bt.config_svc_enable + - b + - true + - title: Enable the config service +- - mjs + - o + - title: mJS settings +- - mjs.generate_jsc + - b + - true + - title: Generate .jsc file when executing any .js file +- - rpc + - o + - title: RPC settings +- - rpc.enable + - b + - true + - title: Enable RPC +- - rpc.max_frame_size + - i + - 4096 + - title: Max Frame Size +- - rpc.max_queue_length + - i + - 25 + - title: Max Queue Length +- - rpc.default_out_channel_idle_close_timeout + - i + - 10 + - title: Default idle close timeout for outbound channels +- - rpc.acl_file + - s + - title: File with RPC ACL JSON +- - rpc.auth_domain + - s + - title: Realm to use for digest authentication +- - rpc.auth_file + - s + - title: File with user credentials in the htdigest format +- - rpc.ws + - o + - title: RPC over WebSocket settings +- - rpc.ws.enable + - b + - true + - title: Enable RPC over WebSocket +- - rpc.ws.server_address + - s + - "" + - title: Cloud server address +- - rpc.ws.reconnect_interval_min + - i + - 1 + - title: Minimal reconnect interval +- - rpc.ws.reconnect_interval_max + - i + - 60 + - title: Maximal reconnect interval +- - rpc.ws.ssl_server_name + - s + - title: TLS Server Name +- - rpc.ws.ssl_ca_file + - s + - title: TLS CA file +- - rpc.ws.ssl_client_cert_file + - s + - title: TLS client cert file +- - rpc.uart + - o + - title: RPC-over-UART settings +- - rpc.uart.uart_no + - i + - title: UART number (-1 to disable) +- - rpc.uart.baud_rate + - i + - 115200 + - title: Baud rate +- - rpc.uart.fc_type + - i + - 2 + - title: 'Flow control: 0 - none, 1 - CTS/RTS, 2 - XON/XOFF' +- - rpc.uart.wait_for_start_frame + - b + - true + - title: Wait for an incoming frame before using the channel +- - wifi + - o + - hide: true +- - wifi.sta + - o + - title: WiFi Station +- - wifi.sta.enable + - b + - title: Connect to existing WiFi +- - wifi.sta.ssid + - s + - title: SSID +- - wifi.sta.pass + - s + - title: Password + type: password +- - wifi.sta.user + - s + - title: Username for WPA-PEAP mode +- - wifi.sta.anon_identity + - s + - title: Anonymous identity for WPA mode +- - wifi.sta.cert + - s + - title: Client certificate for WPA-TTLS mode +- - wifi.sta.key + - s + - title: Client key for WPA-TTLS mode +- - wifi.sta.ca_cert + - s + - title: CA certificate for WPA-enterprise mode +- - wifi.sta.ip + - s + - title: Static IP Address +- - wifi.sta.netmask + - s + - title: Static Netmask +- - wifi.sta.gw + - s + - title: Static Default Gateway +- - wifi.sta.nameserver + - s + - title: DNS Server +- - wifi.sta.dhcp_hostname + - s + - title: Host name to include in DHCP requests +- - wifi.ap + - o + - title: WiFi Access Point +- - wifi.ap.enable + - b + - true + - title: Enable +- - wifi.ap.ssid + - s + - Mongoose_?????? + - title: SSID +- - wifi.ap.pass + - s + - Mongoose + - title: Password + type: password +- - wifi.ap.hidden + - b + - false + - title: Hide SSID +- - wifi.ap.channel + - i + - 6 + - title: Channel +- - wifi.ap.max_connections + - i + - 10 + - title: Max connections +- - wifi.ap.ip + - s + - 192.168.4.1 + - title: IP address +- - wifi.ap.netmask + - s + - 255.255.255.0 + - title: Network Mask +- - wifi.ap.gw + - s + - 192.168.4.1 + - title: Default Gateway +- - wifi.ap.dhcp_start + - s + - 192.168.4.2 + - title: DHCP Start Address +- - wifi.ap.dhcp_end + - s + - 192.168.4.100 + - title: DHCP End Address +- - wifi.ap.trigger_on_gpio + - i + - -1 + - title: Trigger AP on low GPIO +- - wifi.ap.disable_after + - i + - 0 + - title: If > 0, will disable itself after the specified number of seconds +- - wifi.ap.hostname + - s + - "" + - title: If not empty, DNS server will resolve given host name to the IP address + of AP +- - wifi.ap.keep_enabled + - b + - true + - title: Keep AP enabled when station is on +- - higrow + - o + - title: LilyGo HiGrow ESP32 Plant Sensor App Settings +- - higrow.deviceId + - s + - "" + - title: DeviceId +- - higrow.temperature + - d + - 0 + - title: Temperature +- - higrow.humidity + - d + - 0 + - title: Humidity +- - higrow.light + - i + - 0 + - title: Light +- - higrow.moisture + - i + - 0 + - title: Moisture +- - higrow.connected + - b + - false + - title: Connected +- - higrow.battery_calibration + - i + - 2360 + - title: Battery ADC value at 4000mV +- - wifi.sta.enable + - false +- - wifi.sta.ssid + - "" +- - wifi.sta.pass + - "" +- - wifi.ap.enable + - false +- - device.id + - HiGrow_?????? +- - bt.dev_name + - HiGrowBT_ diff --git a/build/gen/mos_final.yml b/build/gen/mos_final.yml new file mode 100644 index 0000000..ba7e7d0 --- /dev/null +++ b/build/gen/mos_final.yml @@ -0,0 +1,481 @@ +name: LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware +type: app +version: "1.0" +platform: esp32 +platforms: +- esp32 +author: Jason Harrell +description: LilyGo HiGrow ESP32 Plant Sensor +sources: +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/build/gen/deps_init.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src/esp32_adc.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt_gap.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gap.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gattc.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gatts.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32/esp32_bt_svc_config.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src/mgos_ca_bundle.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src/mgos_dht.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src/mos_mjs.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src/esp32_mjs.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_http.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_ws.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mgos_rpc.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src/mgos_service_config.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src/mgos_service_filesystem.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src/mgos_rpc_channel_uart.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mgos_wifi.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mjs_wifi.c +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src/esp32_wifi.c +includes: +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/include/esp32 +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include/mg_rpc +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/include +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/include +filesystem: +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/fs/ca.pem +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_bitbang.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_config.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_events.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_gpio.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_grove.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_http.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_log.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_net.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_sys.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_timer.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/api_uart.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/fs/init.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_dataview.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_file.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs/lib/api_math.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/mjs_fs/api_adc.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/mjs_fs/api_dht.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/mjs_fs/api_rpc.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/mjs_fs/api_wifi.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs/api_arch_uart.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/fs/api_esp32.js +- /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/fs/init.js +modules: +- origin: https://github.com/cesanta/mjs + location: https://github.com/cesanta/mjs + name: mjs_module + suffixtpl: "" +config_schema: +- - sys.esp32_adc_vref + - i + - 0 + - title: ADC Vref, in mV +- - bt + - o + - title: Bluetooth settings +- - bt.enable + - b + - true + - title: Enable BT +- - bt.dev_name + - s + - "" + - title: Device name; defaults to device.id +- - bt.adv_enable + - b + - true + - title: Advertise services +- - bt.scan_rsp_data_hex + - s + - "" + - title: Scan response data, hex-encoded +- - bt.keep_enabled + - b + - false + - title: By default, BT will be disabled once WiFi is configured and connects. Set + this to true to keep BT enabled. +- - bt.allow_pairing + - b + - true + - title: Allow pairing/bonding with other devices +- - bt.max_paired_devices + - i + - -1 + - title: Max number of paired devices; -1 - no limit +- - bt.random_address + - b + - true + - title: Use random BT address +- - bt.gatts + - o + - title: GATTS settings +- - bt.gatts.min_sec_level + - i + - 0 + - title: 0 - no auth required, 1 - encryption reqd, 2 - encryption + MITM reqd +- - bt.gatts.require_pairing + - b + - false + - title: Require device to be paired before accessing services +- - bt.config_svc_enable + - b + - true + - title: Enable the config service +- - mjs + - o + - title: mJS settings +- - mjs.generate_jsc + - b + - true + - title: Generate .jsc file when executing any .js file +- - rpc + - o + - title: RPC settings +- - rpc.enable + - b + - true + - title: Enable RPC +- - rpc.max_frame_size + - i + - 4096 + - title: Max Frame Size +- - rpc.max_queue_length + - i + - 25 + - title: Max Queue Length +- - rpc.default_out_channel_idle_close_timeout + - i + - 10 + - title: Default idle close timeout for outbound channels +- - rpc.acl_file + - s + - title: File with RPC ACL JSON +- - rpc.auth_domain + - s + - title: Realm to use for digest authentication +- - rpc.auth_file + - s + - title: File with user credentials in the htdigest format +- - rpc.ws + - o + - title: RPC over WebSocket settings +- - rpc.ws.enable + - b + - true + - title: Enable RPC over WebSocket +- - rpc.ws.server_address + - s + - "" + - title: Cloud server address +- - rpc.ws.reconnect_interval_min + - i + - 1 + - title: Minimal reconnect interval +- - rpc.ws.reconnect_interval_max + - i + - 60 + - title: Maximal reconnect interval +- - rpc.ws.ssl_server_name + - s + - title: TLS Server Name +- - rpc.ws.ssl_ca_file + - s + - title: TLS CA file +- - rpc.ws.ssl_client_cert_file + - s + - title: TLS client cert file +- - rpc.uart + - o + - title: RPC-over-UART settings +- - rpc.uart.uart_no + - i + - title: UART number (-1 to disable) +- - rpc.uart.baud_rate + - i + - 115200 + - title: Baud rate +- - rpc.uart.fc_type + - i + - 2 + - title: 'Flow control: 0 - none, 1 - CTS/RTS, 2 - XON/XOFF' +- - rpc.uart.wait_for_start_frame + - b + - true + - title: Wait for an incoming frame before using the channel +- - wifi + - o + - hide: true +- - wifi.sta + - o + - title: WiFi Station +- - wifi.sta.enable + - b + - title: Connect to existing WiFi +- - wifi.sta.ssid + - s + - title: SSID +- - wifi.sta.pass + - s + - title: Password + type: password +- - wifi.sta.user + - s + - title: Username for WPA-PEAP mode +- - wifi.sta.anon_identity + - s + - title: Anonymous identity for WPA mode +- - wifi.sta.cert + - s + - title: Client certificate for WPA-TTLS mode +- - wifi.sta.key + - s + - title: Client key for WPA-TTLS mode +- - wifi.sta.ca_cert + - s + - title: CA certificate for WPA-enterprise mode +- - wifi.sta.ip + - s + - title: Static IP Address +- - wifi.sta.netmask + - s + - title: Static Netmask +- - wifi.sta.gw + - s + - title: Static Default Gateway +- - wifi.sta.nameserver + - s + - title: DNS Server +- - wifi.sta.dhcp_hostname + - s + - title: Host name to include in DHCP requests +- - wifi.ap + - o + - title: WiFi Access Point +- - wifi.ap.enable + - b + - true + - title: Enable +- - wifi.ap.ssid + - s + - Mongoose_?????? + - title: SSID +- - wifi.ap.pass + - s + - Mongoose + - title: Password + type: password +- - wifi.ap.hidden + - b + - false + - title: Hide SSID +- - wifi.ap.channel + - i + - 6 + - title: Channel +- - wifi.ap.max_connections + - i + - 10 + - title: Max connections +- - wifi.ap.ip + - s + - 192.168.4.1 + - title: IP address +- - wifi.ap.netmask + - s + - 255.255.255.0 + - title: Network Mask +- - wifi.ap.gw + - s + - 192.168.4.1 + - title: Default Gateway +- - wifi.ap.dhcp_start + - s + - 192.168.4.2 + - title: DHCP Start Address +- - wifi.ap.dhcp_end + - s + - 192.168.4.100 + - title: DHCP End Address +- - wifi.ap.trigger_on_gpio + - i + - -1 + - title: Trigger AP on low GPIO +- - wifi.ap.disable_after + - i + - 0 + - title: If > 0, will disable itself after the specified number of seconds +- - wifi.ap.hostname + - s + - "" + - title: If not empty, DNS server will resolve given host name to the IP address + of AP +- - wifi.ap.keep_enabled + - b + - true + - title: Keep AP enabled when station is on +- - higrow + - o + - title: LilyGo HiGrow ESP32 Plant Sensor App Settings +- - higrow.deviceId + - s + - "" + - title: DeviceId +- - higrow.temperature + - d + - 0 + - title: Temperature +- - higrow.humidity + - d + - 0 + - title: Humidity +- - higrow.light + - i + - 0 + - title: Light +- - higrow.moisture + - i + - 0 + - title: Moisture +- - higrow.connected + - b + - false + - title: Connected +- - higrow.battery_calibration + - i + - 2360 + - title: Battery ADC value at 4000mV +- - wifi.sta.enable + - false +- - wifi.sta.ssid + - "" +- - wifi.sta.pass + - "" +- - wifi.ap.enable + - false +- - device.id + - HiGrow_?????? +- - bt.dev_name + - HiGrowBT_ +build_vars: + ESP_IDF_EXTRA_COMPONENTS: ' bt' + ESP_IDF_SDKCONFIG_OPTS: |2- + CONFIG_BT_ENABLED=y CONFIG_BLUEDROID_ENABLED=y CONFIG_BTC_TASK_STACK_SIZE=6144 CONFIG_BLUEDROID_MEM_DEBUG= CONFIG_CLASSIC_BT_ENABLED= CONFIG_BT_DRAM_RELEASE=y CONFIG_GATTS_ENABLE=y CONFIG_GATTC_ENABLE=y CONFIG_BLE_SMP_ENABLE=y CONFIG_BT_STACK_NO_LOG= CONFIG_BT_ACL_CONNECTIONS=4 CONFIG_BTDM_CONTROLLER_RUN_CPU=0 CONFIG_SMP_ENABLE=y CONFIG_BT_RESERVE_DRAM=0x10000 + CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=500 + MGOS_HAVE_ADC: "1" + MGOS_HAVE_BT_COMMON: "1" + MGOS_HAVE_BT_SERVICE_CONFIG: "1" + MGOS_HAVE_CA_BUNDLE: "1" + MGOS_HAVE_DHT: "1" + MGOS_HAVE_MJS: "1" + MGOS_HAVE_RPC_COMMON: "1" + MGOS_HAVE_RPC_SERVICE_CONFIG: "1" + MGOS_HAVE_RPC_SERVICE_FS: "1" + MGOS_HAVE_RPC_UART: "1" + MGOS_HAVE_WIFI: "1" + MGOS_WIFI_ENABLE_AP_STA: "1" +cdefs: + MG_ENABLE_DNS_SERVER: "1" + MGOS_ENABLE_RPC_CHANNEL_HTTP: "1" + MGOS_ENABLE_RPC_CHANNEL_WS: "1" + MGOS_ENABLE_SYS_SERVICE: "1" + MGOS_HAVE_ADC: "1" + MGOS_HAVE_BT_COMMON: "1" + MGOS_HAVE_BT_SERVICE_CONFIG: "1" + MGOS_HAVE_CA_BUNDLE: "1" + MGOS_HAVE_DHT: "1" + MGOS_HAVE_MJS: "1" + MGOS_HAVE_RPC_COMMON: "1" + MGOS_HAVE_RPC_SERVICE_CONFIG: "1" + MGOS_HAVE_RPC_SERVICE_FS: "1" + MGOS_HAVE_RPC_UART: "1" + MGOS_HAVE_WIFI: "1" + MGOS_WIFI_ENABLE_AP_STA: "1" +tags: +- js +- hardware +- higrow +- esp32 +- ble +- plant +- lilygo +libs_version: latest +modules_version: latest +mongoose_os_version: latest +manifest_version: 2017-05-18 +libs_handled: +- name: adc + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/adc/esp32/src/esp32_adc.c +- name: bt-common + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/mgos_bt_gap.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gap.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gattc.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-common/src/esp32/esp32_bt_gatts.c +- name: bt-service-config + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config + deps: + - bt-common + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/bt-service-config/src/esp32/esp32_bt_svc_config.c +- name: ca-bundle + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/ca-bundle/src/mgos_ca_bundle.c +- name: dht + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/dht/src/mgos_dht.c +- name: mjs + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/src/mos_mjs.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/modules/mjs_module/mjs.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/mjs/esp32/src/esp32_mjs.c +- name: rpc-common + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common + deps: + - http-server + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_http.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mg_rpc/mg_rpc_channel_ws.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-common/src/mgos_rpc.c +- name: rpc-service-config + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config + deps: + - rpc-common + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-config/src/mgos_service_config.c +- name: rpc-service-fs + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs + deps: + - rpc-common + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-service-fs/src/mgos_service_filesystem.c +- name: rpc-uart + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart + deps: + - rpc-common + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/rpc-uart/src/mgos_rpc_channel_uart.c +- name: wifi + path: /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi + sources: + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mgos_wifi.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/src/mjs_wifi.c + - /fwbuild-volumes/latest/apps/LilyGo-HiGrow-ESP32-Mongoose-OS-Firmware/esp32/build_contexts/build_ctx_913791226/libs/wifi/esp32/src/esp32_wifi.c diff --git a/build/gen/sdkconfig b/build/gen/sdkconfig new file mode 100644 index 0000000..4f22bb5 --- /dev/null +++ b/build/gen/sdkconfig @@ -0,0 +1,386 @@ +# +# Automatically generated file; DO NOT EDIT. +# Espressif IoT Development Framework Configuration +# + +# +# SDK tool configuration +# +CONFIG_TOOLPREFIX="xtensa-esp32-elf-" +CONFIG_PYTHON="python" +CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y + +# +# Bootloader config +# +CONFIG_LOG_BOOTLOADER_LEVEL_NONE= +CONFIG_LOG_BOOTLOADER_LEVEL_ERROR= +CONFIG_LOG_BOOTLOADER_LEVEL_WARN= +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG= +CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE= +CONFIG_LOG_BOOTLOADER_LEVEL=3 +CONFIG_BOOTLOADER_VDDSDIO_BOOST=y + +# +# Security features +# +CONFIG_SECURE_BOOT_ENABLED= +CONFIG_FLASH_ENCRYPTION_ENABLED= + +# +# Serial flasher config +# +CONFIG_ESPTOOLPY_PORT="/dev/ttyUSB0" +CONFIG_ESPTOOLPY_BAUD_115200B=y +CONFIG_ESPTOOLPY_BAUD_230400B= +CONFIG_ESPTOOLPY_BAUD_921600B= +CONFIG_ESPTOOLPY_BAUD_2MB= +CONFIG_ESPTOOLPY_BAUD_OTHER= +CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 +CONFIG_ESPTOOLPY_BAUD=115200 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_FLASHMODE_QIO= +CONFIG_FLASHMODE_QOUT= +CONFIG_FLASHMODE_DIO=y +CONFIG_FLASHMODE_DOUT= +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M= +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +CONFIG_ESPTOOLPY_FLASHFREQ_26M= +CONFIG_ESPTOOLPY_FLASHFREQ_20M= +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +CONFIG_ESPTOOLPY_FLASHSIZE_1MB= +CONFIG_ESPTOOLPY_FLASHSIZE_2MB= +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESPTOOLPY_FLASHSIZE_8MB= +CONFIG_ESPTOOLPY_FLASHSIZE_16MB= +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y +CONFIG_ESPTOOLPY_BEFORE_RESET=y +CONFIG_ESPTOOLPY_BEFORE_NORESET= +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +CONFIG_ESPTOOLPY_AFTER_NORESET= +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_MONITOR_BAUD_9600B= +CONFIG_MONITOR_BAUD_57600B= +CONFIG_MONITOR_BAUD_115200B=y +CONFIG_MONITOR_BAUD_230400B= +CONFIG_MONITOR_BAUD_921600B= +CONFIG_MONITOR_BAUD_2MB= +CONFIG_MONITOR_BAUD_OTHER= +CONFIG_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_MONITOR_BAUD=115200 + +# +# Partition Table +# +CONFIG_PARTITION_TABLE_SINGLE_APP= +CONFIG_PARTITION_TABLE_TWO_OTA= +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="src/partitions_mgos.csv" +CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET=0x10000 +CONFIG_PARTITION_TABLE_FILENAME="src/partitions_mgos.csv" +CONFIG_APP_OFFSET=0x10000 + +# +# Compiler options +# +CONFIG_OPTIMIZATION_LEVEL_DEBUG= +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= +CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= +CONFIG_CXX_EXCEPTIONS= +CONFIG_STACK_CHECK_NONE=y +CONFIG_STACK_CHECK_NORM= +CONFIG_STACK_CHECK_STRONG= +CONFIG_STACK_CHECK_ALL= +CONFIG_STACK_CHECK= + +# +# Component config +# + +# +# Application Level Tracing +# +CONFIG_ESP32_APPTRACE_DEST_TRAX= +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_ENABLE= +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y + +# +# FreeRTOS SystemView Tracing +# + +# +# ESP32-specific +# +CONFIG_ESP32_DEFAULT_CPU_FREQ_80= +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_240= +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_MEMMAP_SMP=y +CONFIG_SPIRAM_SUPPORT= +CONFIG_MEMMAP_TRACEMEM= +CONFIG_MEMMAP_TRACEMEM_TWOBANKS= +CONFIG_ESP32_TRAX= +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= +CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=y +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE= +CONFIG_ESP32_ENABLE_COREDUMP=y +CONFIG_ESP32_CORE_DUMP_UART_DELAY=0 +CONFIG_ESP32_CORE_DUMP_LOG_LEVEL=1 +CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=3072 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= +CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= +CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +CONFIG_NEWLIB_NANO_FORMAT= +CONFIG_CONSOLE_UART_DEFAULT=y +CONFIG_CONSOLE_UART_CUSTOM= +CONFIG_CONSOLE_UART_NONE= +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ULP_COPROC_ENABLED= +CONFIG_ULP_COPROC_RESERVE_MEM=0 +CONFIG_ESP32_PANIC_PRINT_HALT= +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +CONFIG_ESP32_PANIC_SILENT_REBOOT= +CONFIG_ESP32_PANIC_GDBSTUB= +CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_TASK_WDT_PANIC=y +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +CONFIG_BROWNOUT_DET_LVL_SEL_1= +CONFIG_BROWNOUT_DET_LVL_SEL_2= +CONFIG_BROWNOUT_DET_LVL_SEL_3= +CONFIG_BROWNOUT_DET_LVL_SEL_4= +CONFIG_BROWNOUT_DET_LVL_SEL_5= +CONFIG_BROWNOUT_DET_LVL_SEL_6= +CONFIG_BROWNOUT_DET_LVL_SEL_7= +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC= +CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= +CONFIG_ESP32_TIME_SYSCALL_USE_NONE= +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=500 +CONFIG_ESP32_XTAL_FREQ_40= +CONFIG_ESP32_XTAL_FREQ_26= +CONFIG_ESP32_XTAL_FREQ_AUTO=y +CONFIG_ESP32_XTAL_FREQ=0 +CONFIG_DISABLE_BASIC_ROM_CONSOLE= +CONFIG_ESP_TIMER_PROFILING= +CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= + +# +# Wi-Fi +# +CONFIG_SW_COEXIST_ENABLE= +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER= +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y + +# +# PHY +# +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 + +# +# Power Management +# +CONFIG_PM_ENABLE= + +# +# Ethernet +# +CONFIG_DMA_RX_BUF_NUM=10 +CONFIG_DMA_TX_BUF_NUM=10 +CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE= +CONFIG_EMAC_TASK_PRIORITY=20 + +# +# FreeRTOS +# +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_CORETIMER_0=y +CONFIG_FREERTOS_CORETIMER_1= +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE=y +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY= +CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y +CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= +CONFIG_FREERTOS_ASSERT_DISABLE= +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_LEGACY_HOOKS= +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +CONFIG_SUPPORT_STATIC_ALLOCATION= +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=3072 +CONFIG_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_USE_TRACE_FACILITY= +CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= +CONFIG_FREERTOS_DEBUG_INTERNALS= + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +CONFIG_HEAP_POISONING_LIGHT= +CONFIG_HEAP_POISONING_COMPREHENSIVE= +CONFIG_HEAP_TRACING= + +# +# Log output +# +CONFIG_LOG_DEFAULT_LEVEL_NONE= +CONFIG_LOG_DEFAULT_LEVEL_ERROR= +CONFIG_LOG_DEFAULT_LEVEL_WARN= +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +CONFIG_LOG_DEFAULT_LEVEL_DEBUG= +CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_COLORS=y + +# +# LWIP +# +CONFIG_L2_TO_L3_COPY= +CONFIG_LWIP_IRAM_OPTIMIZATION= +CONFIG_LWIP_MAX_SOCKETS=10 +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF= +CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_IP_FRAG= +CONFIG_LWIP_IP_REASSEMBLY= +CONFIG_LWIP_STATS= +CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK= + +# +# DHCP server +# +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_AUTOIP= +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=6 +CONFIG_TCP_MSS=1436 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5744 +CONFIG_TCP_WND_DEFAULT=5744 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +CONFIG_TCP_OVERSIZE_QUARTER_MSS= +CONFIG_TCP_OVERSIZE_DISABLE= + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_PPP_SUPPORT= + +# +# ICMP +# +CONFIG_LWIP_MULTICAST_PING= +CONFIG_LWIP_BROADCAST_PING= + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 + +# +# PThreads +# +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 + +# +# SPI Flash driver +# +CONFIG_SPI_FLASH_VERIFY_WRITE= +CONFIG_SPI_FLASH_ENABLE_COUNTERS= +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= + +# +# tcpip adapter +# +CONFIG_IP_LOST_TIMER_INTERVAL=120 + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y +CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4= +CONFIG_BLUEDROID_ENABLED=y +CONFIG_BLUEDROID_PINNED_TO_CORE=0 +CONFIG_BTC_TASK_STACK_SIZE=6144 +CONFIG_BLUEDROID_MEM_DEBUG= +CONFIG_CLASSIC_BT_ENABLED= +CONFIG_GATTS_ENABLE=y +CONFIG_GATTC_ENABLE=y +CONFIG_BLE_SMP_ENABLE=y +CONFIG_BT_STACK_NO_LOG= +CONFIG_BT_ACL_CONNECTIONS=4 +CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST= +CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY= +CONFIG_SMP_ENABLE=y +CONFIG_BT_RESERVE_DRAM=0x10000 diff --git a/build/gen/sdkconfig.old b/build/gen/sdkconfig.old new file mode 100644 index 0000000..bdd065f --- /dev/null +++ b/build/gen/sdkconfig.old @@ -0,0 +1,71 @@ +# Overrides applied over defconfig +# Additional changes can be made via ESP_IDF_SDKCONFIG_OPTS + +CONFIG_ESPTOOLPY_FLASHSIZE_2MB= +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_PARTITION_TABLE_SINGLE_APP= +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="src/partitions_mgos.csv" +CONFIG_PARTITION_TABLE_FILENAME="src/partitions_mgos.csv" +CONFIG_OPTIMIZATION_LEVEL_DEBUG= +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y + +CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=y +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE= +CONFIG_ESP32_ENABLE_COREDUMP=y +CONFIG_ESP32_CORE_DUMP_UART_DELAY=0 +CONFIG_ESP32_CORE_DUMP_LOG_LEVEL=1 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=3072 +CONFIG_TASK_WDT_PANIC=y +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=0 + +CONFIG_WIFI_ENABLED=y +CONFIG_SW_COEXIST_ENABLE= +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER= +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_AMPDU_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y + +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +CONFIG_DMA_RX_BUF_NUM=10 +CONFIG_DMA_TX_BUF_NUM=10 +CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE= +CONFIG_EMAC_TASK_PRIORITY=20 +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE=y +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY= +CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y +CONFIG_FREERTOS_BREAK_ON_SCHEDULER_START_JTAG=y +CONFIG_TIMER_TASK_STACK_DEPTH=3072 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK= +CONFIG_TCPIP_TASK_STACK_SIZE=3072 + +CONFIG_ESP32_XTAL_FREQ_40= +CONFIG_ESP32_XTAL_FREQ_26= +CONFIG_ESP32_XTAL_FREQ_AUTO=y +CONFIG_ESP32_XTAL_FREQ=0 +CONFIG_BT_ENABLED=y +CONFIG_BLUEDROID_ENABLED=y +CONFIG_BTC_TASK_STACK_SIZE=6144 +CONFIG_BLUEDROID_MEM_DEBUG= +CONFIG_CLASSIC_BT_ENABLED= +CONFIG_BT_DRAM_RELEASE=y +CONFIG_GATTS_ENABLE=y +CONFIG_GATTC_ENABLE=y +CONFIG_BLE_SMP_ENABLE=y +CONFIG_BT_STACK_NO_LOG= +CONFIG_BT_ACL_CONNECTIONS=4 +CONFIG_BTDM_CONTROLLER_RUN_CPU=0 +CONFIG_SMP_ENABLE=y +CONFIG_BT_RESERVE_DRAM=0x10000 +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=500 diff --git a/build/objs/fw.elf b/build/objs/fw.elf new file mode 100644 index 0000000..1795fe9 Binary files /dev/null and b/build/objs/fw.elf differ diff --git a/fs/init.js b/fs/init.js new file mode 100755 index 0000000..917f73b --- /dev/null +++ b/fs/init.js @@ -0,0 +1,139 @@ +load('api_config.js'); +load('api_events.js'); +load('api_gpio.js'); +load('api_http.js'); +load('api_net.js'); +load('api_sys.js'); +load('api_timer.js'); +load('api_esp32.js'); +load('api_dht.js'); +load('api_adc.js'); +load('api_rpc.js'); + +//Pins +let resetPin = 0; +let ledPin = 16; +let dhtPin = 22; +let moisturePin = 32; +let statusLightPin = 34; + +// Turn on status led +GPIO.set_mode(ledPin, GPIO.MODE_OUTPUT); +GPIO.write(ledPin, 0); + +//Reset Handler +GPIO.set_mode(resetPin, GPIO.MODE_INPUT); +GPIO.set_int_handler(resetPin, GPIO.INT_EDGE_NEG, function(resetPin) { + print('Pin', resetPin, 'got interrupt'); + GPIO.toggle(ledPin); + Sys.usleep(200000); + GPIO.toggle(ledPin); + Sys.usleep(200000); + GPIO.toggle(ledPin); + Sys.usleep(200000); + GPIO.toggle(ledPin); + Sys.usleep(200000); + GPIO.toggle(ledPin); + Sys.usleep(200000); + GPIO.write(ledPin, 0); + + Cfg.set({bt:{enable:true}}); + Cfg.set({wifi:{sta:{enable:false}}}); + Cfg.set({wifi:{ap:{enable:false}}}); + Cfg.set({wifi:{sta:{ssid:'',pass:''}}}); + + Sys.reboot(1000); +}, null); +GPIO.enable_int(resetPin); + +ADC.enable(moisturePin); + +let dht = DHT.create(dhtPin, DHT.DHT11); +let deviceId = Cfg.get("device.id"); +let connected = false; +let readSensors = Timer.set(5000, Timer.REPEAT, function() { + let t = dht.getTemp(); + let h = dht.getHumidity(); + let m = ADC.read(moisturePin); + let l = ADC.read(statusLightPin); + + print("DeviceId:",deviceId,"Temperature:",t,"Humidity:",h,"Moisture:",m,"StatusLight:",l); + + if (deviceId !== "" && connected) + { + GPIO.write(ledPin, 1); + let jsonData = {DeviceId: deviceId, Temperature: t, Humidity: h, Moisture: m, StatusLight: l}; + HTTP.query({ + headers: {'Content-Type' : 'application/json'}, + url: 'http://httpbin.org/post', // replace with your own endpoint + data: jsonData, + success: function(body, full_http_msg) + { + print(body); + // sleep for 15 seconds, then (re)boot up and do it all over again + //ESP32.deepSleep(15000000); // 15 seconds + }, + error: function(err) + { + print(err); + //ESP32.deepSleep(30000000); // 30 seconds + }, + }); + + //Timer.del(readSensors); + } + +}, null); + +// RPC Handlers +RPC.addHandler('HG.Temp.Read', function(args){ + return { value: dht.getTemp() }; +}); +RPC.addHandler('HG.Humidity.Read', function(args){ + return { value: dht.getHumidity() }; +}); +RPC.addHandler('HG.Light.Read', function(args){ + return { value: ADC.read(statusLightPin) }; +}); +RPC.addHandler('HG.Moisture.Read', function(args){ + return { value: ADC.read(moisturePin) }; +}); +RPC.addHandler('HG.StatusLED.On', function(args){ + GPIO.write(ledPin, 0); + print("LED On"); + if (GPIO.read(ledPin) !== 0) + { + return false; + } + + return true; +}); +RPC.addHandler('HG.StatusLED.Off', function(args){ + GPIO.write(ledPin, 1); + if (GPIO.read(ledPin) !== 1) + { + return false; + } + + return true; +}); + + +// Monitor network connectivity. +Event.addGroupHandler(Net.EVENT_GRP, function(ev, evdata, arg) { + let status = true && connected; + let evs = '???'; + if (ev === Net.STATUS_DISCONNECTED) { + evs = 'DISCONNECTED'; + connected = false; + } else if (ev === Net.STATUS_CONNECTING) { + evs = 'CONNECTING'; + connected = false; + } else if (ev === Net.STATUS_CONNECTED) { + evs = 'CONNECTED'; + connected = false; + } else if (ev === Net.STATUS_GOT_IP) { + evs = 'GOT_IP'; + connected = true; + } +}, null); diff --git a/mos.yml b/mos.yml new file mode 100755 index 0000000..17c0e8e --- /dev/null +++ b/mos.yml @@ -0,0 +1,52 @@ +author: Jason Harrell +description: LilyGo HiGrow ESP32 Plant Sensor v1 +# arch: PLATFORM +version: 1.0 + +libs_version: ${mos.version} +modules_version: ${mos.version} +mongoose_os_version: ${mos.version} + +config_schema: + - ["higrow", "o", {title: "LilyGo HiGrow ESP32 Plant Sensor v1 App Settings"}] + - ["higrow.deviceId", "s", "", {title: "DeviceId"}] + - ["higrow.temperature", "d", 0.0, {title: "Temperature"}] + - ["higrow.humidity", "d", 0.0, {title: "Humidity"}] + - ["higrow.statuslight", "i", 0, {title: "Light"}] + - ["higrow.moisture", "i", 0, {title: "Moisture"}] + - ["higrow.connected", "b", false, {title: "Connected"}] + - ["wifi.sta.enable", false] + - ["wifi.sta.ssid", ""] + - ["wifi.sta.pass", ""] + - ["wifi.ap.enable", false] + - ["device.id", "HiGrow_??????"] + - ["bt.dev_name", "HiGrowBT_"] + +filesystem: + - fs + +libs: + - origin: https://github.com/mongoose-os-libs/ca-bundle + - origin: https://github.com/mongoose-os-libs/bt-service-config + - origin: https://github.com/mongoose-os-libs/rpc-service-config + - origin: https://github.com/mongoose-os-libs/rpc-service-fs + - origin: https://github.com/mongoose-os-libs/rpc-uart + - origin: https://github.com/mongoose-os-libs/wifi + - origin: https://github.com/mongoose-os-libs/dht + - origin: https://github.com/mongoose-os-libs/mjs + - origin: https://github.com/mongoose-os-libs/adc + +tags: + - js + - hardware + - higrow + - esp32 + - ble + - plant + - lilygo + +build_vars: + ESP_IDF_SDKCONFIG_OPTS: "${build_vars.ESP_IDF_SDKCONFIG_OPTS} CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=500" + +# Used by the mos tool to catch mos binaries incompatible with this file format +manifest_version: 2017-05-18 \ No newline at end of file