Hello,
If we call mgos_uptime
in ISR handler then uptime during at least network operations is being shifted. Also during some operations (eg VFS access) makes the system freeze. Our mos version is 2.15.0.
Please consider following code:
static void cb2(void *arg) {
(void) arg;
LOG(LL_INFO, ("UT %f", mgos_uptime()));
}
volatile int i = 0;
static IRAM void cb1(void *a) {
mgos_uptime();
if (i++ % 100 == 0) {
mgos_invoke_cb(cb2, NULL, true);
}
}
enum mgos_app_init_result mgos_app_init(void) {
// in our code we use mgos_gpio_set_int_handler_isr where it is reproducible too
mgos_set_hw_timer(1000, MGOS_TIMER_REPEAT, cb1, NULL);
return MGOS_APP_INIT_SUCCESS;
}
If I run it together with configured wifi and Azure IoT connection then I see this:
[Nov 5 22:31:37.482] load 0x40100000, len 1540, room 16
[Nov 5 22:31:37.486] tail 4
[Nov 5 22:31:37.487] chksum 0x62
[Nov 5 22:31:37.488] load 0x3ffe8000, len 748, room 4
[Nov 5 22:31:37.492] tail 8
[Nov 5 22:31:37.492] chksum 0x85
[Nov 5 22:31:37.494] csum 0x85 u jUJ +V+RU K ZkVVU U (TT U TT U+UZ I U TT U UT QUT E+V P Z V E Q Z V UP XQU T p N p o| l {$ c | { l o o l r l $ : softAP(2e:f4:32:08
[Nov 5 22:31:37.573] esp_main.c:172 lamp 1.0.0 (20191105-212410/g23ec741-master-dirty)
[Nov 5 22:31:37.579] esp_main.c:174 Mongoose OS 2.15.0 (20191105-193302/2.15.0-g787ac38)
[Nov 5 22:31:37.586] esp_main.c:178 CPU: ESP8266EX, 160 MHz, RAM: 47008 total, 44396 free
[Nov 5 22:31:37.593] esp_main.c:180 SDK 2.2.1(1247cc5); flash: 2M
[Nov 5 22:31:37.598] esp_exc.c:211 Reset cause: 0 (power on)
[Nov 5 22:31:37.602] mg_lwip_ev_mgr.c:93 Mongoose 6.15, LwIP 1.4.1
[Nov 5 22:31:37.607] mg_ssl_if_mbedtls.c:57 mbed TLS 2.16.0-cesanta4
[Nov 5 22:31:37.611] mgos_vfs_dev.c:73 sfl0: sysflash (), size 2097152
[Nov 5 22:31:37.617] mgos_vfs_dev.c:73 root: part ({"dev": "sfl0", "offset": 897024, "size": 131072}), size 131072
[Nov 5 22:31:37.626] mgos_vfs.c:147 /: SPIFFS @ root, opts
[Nov 5 22:31:37.650] mgos_vfs.c:320 /: size 113201, used: 30622, free: 82579
[Nov 5 22:31:37.708] mgos_sys_config.c:368 MAC: 2e:f4:32:08:8d:4c
[Nov 5 22:31:37.713] mgos_sys_config.c:376 WDT: 30 seconds
[Nov 5 22:31:37.717] mgos_deps_init.c:102 init i2c...
[Nov 5 22:31:37.720] mgos_deps_init.c:102 init atca...
[Nov 5 22:31:37.723] mgos_deps_init.c:102 init mqtt...
[Nov 5 22:31:37.727] mgos_deps_init.c:102 init shadow...
[Nov 5 22:31:37.730] mgos_deps_init.c:102 init sntp...
[Nov 5 22:31:37.733] mgos_deps_init.c:102 init azure...
[Nov 5 22:31:37.737] mgos_azure.c:166 Azure IoT Hub client for dev-willow-iot-hub-we.azure-devices.net/livisi-willow-lamp1-088D4C (azure.crt.pem)
[Nov 5 22:31:37.749] mgos_azure_shadow.c:203 Azure Device Twin enabled, device livisi-willow-lamp1-088D4C
[Nov 5 22:31:37.757] mgos_deps_init.c:102 init mbedtls...
[Nov 5 22:31:37.761] mgos_deps_init.c:102 init ota-http-client...
[Nov 5 22:31:37.765] mgos_deps_init.c:102 init rpc-common...
[Nov 5 22:31:37.769] mgos_deps_init.c:102 init rpc-service-config...
[Nov 5 22:31:37.774] mgos_deps_init.c:102 init rpc-service-fs...
[Nov 5 22:31:37.779] mgos_deps_init.c:102 init rpc-service-ota...
[Nov 5 22:31:37.784] mgos_deps_init.c:102 init rpc-uart...
[Nov 5 22:31:37.787] mgos_rpc_channel_ua:313 0x3fff237c UART0
[Nov 5 22:31:37.791] mg_rpc.c:539 0x3fff237c '' UART
[Nov 5 22:31:37.795] mg_rpc.c:470 0x3fff237c CHAN OPEN (UART UART0)
[Nov 5 22:31:37.800] mgos_deps_init.c:102 init wifi...
[Nov 5 22:31:37.804] bcn 0
[Nov 5 22:31:37.805] del if1
[Nov 5 22:31:37.805] usl
[Nov 5 22:31:37.806] mode : null
[Nov 5 22:31:37.807] mgos_wifi.c:88 WiFi STA: Using config 0 (bono)
[Nov 5 22:31:37.812] mgos_wifi.c:468 WiFi mode: STA
[Nov 5 22:31:37.815] esp_wifi.c:106 WiFi mode: STA
[Nov 5 22:31:37.819] mode : sta(2c:f4:32:08:8d:4c)
[Nov 5 22:31:37.822] add if0
[Nov 5 22:31:37.822] sleep disable
[Nov 5 22:31:37.824] WPA2 ENTERPRISE VERSION: [v2.0] disable
[Nov 5 22:31:37.827] mgos_wifi.c:270 WiFi STA: Connecting to bono
[Nov 5 22:31:37.833] mgos_init.c:36 Init done, RAM: 47008 total, 39844 free, 38320 min free
[Nov 5 22:31:37.841] mgos_event.c:135 ev MOS0 triggered 0 handlers
[Nov 5 22:31:37.846] mgos_ota_core.c:967 1 0
[Nov 5 22:31:37.850] mgos_ota_core.c:1308 UID: 03493635109898f3, license: none
[Nov 5 22:31:37.856] mgos_event.c:135 ev WFI1 triggered 0 handlers
[Nov 5 22:31:37.861] ir.c:74 UT 0.382260
[Nov 5 22:31:37.865] mgos_net.c:85 WiFi STA: connecting
[Nov 5 22:31:37.869] mgos_event.c:135 ev NET1 triggered 3 handlers
[Nov 5 22:31:37.934] ir.c:74 UT 0.455324
[Nov 5 22:31:38.034] ir.c:74 UT 0.555354
[Nov 5 22:31:38.134] ir.c:74 UT 0.655339
[Nov 5 22:31:38.234] ir.c:74 UT 0.755344
[Nov 5 22:31:38.334] ir.c:74 UT 0.855350
[Nov 5 22:31:38.434] ir.c:74 UT 0.955353
[Nov 5 22:31:38.534] ir.c:74 UT 1.055358
[Nov 5 22:31:38.634] ir.c:74 UT 1.155362
[Nov 5 22:31:38.734] ir.c:74 UT 1.255355
[Nov 5 22:31:38.834] ir.c:74 UT 1.355334
[Nov 5 22:31:38.934] ir.c:74 UT 1.455342
[Nov 5 22:31:39.034] ir.c:74 UT 1.555353
[Nov 5 22:31:39.038] mgos_wifi.c:345 WiFi STA: Connect timeout
[Nov 5 22:31:39.043] mgos_wifi.c:88 WiFi STA: Using config 0 (bono)
[Nov 5 22:31:39.048] scandone
[Nov 5 22:31:39.049] WPA2 ENTERPRISE VERSION: [v2.0] disable
[Nov 5 22:31:39.053] mgos_wifi.c:270 WiFi STA: Connecting to bono
[Nov 5 22:31:39.059] mgos_event.c:135 ev WFI1 triggered 0 handlers
[Nov 5 22:31:39.064] mgos_net.c:85 WiFi STA: connecting
[Nov 5 22:31:39.069] mgos_event.c:135 ev NET1 triggered 3 handlers
[Nov 5 22:31:39.088] mgos_wifi.c:345 WiFi STA: Connect timeout
[Nov 5 22:31:39.093] mgos_wifi.c:88 WiFi STA: Using config 0 (bono)
[Nov 5 22:31:39.098] scandone
[Nov 5 22:31:39.099] WPA2 ENTERPRISE VERSION: [v2.0] disable
[Nov 5 22:31:39.103] mgos_wifi.c:270 WiFi STA: Connecting to bono
[Nov 5 22:31:39.109] mgos_event.c:135 ev WFI1 triggered 0 handlers
[Nov 5 22:31:39.114] mgos_net.c:85 WiFi STA: connecting
[Nov 5 22:31:39.118] mgos_event.c:135 ev NET1 triggered 3 handlers
[Nov 5 22:31:39.134] ir.c:74 UT 8591.589905
[Nov 5 22:31:39.234] ir.c:74 UT 8591.689909
[Nov 5 22:31:39.334] ir.c:74 UT 8591.789927
[Nov 5 22:31:39.434] ir.c:74 UT 8591.889937
[Nov 5 22:31:39.534] ir.c:74 UT 8591.989928
[Nov 5 22:31:39.634] ir.c:74 UT 8592.089935
[Nov 5 22:31:39.734] ir.c:74 UT 8592.189936
[Nov 5 22:31:39.834] ir.c:74 UT 8592.289924
[Nov 5 22:31:39.934] ir.c:74 UT 8592.389935
[Nov 5 22:31:40.034] ir.c:74 UT 8592.489944
[Nov 5 22:31:40.134] ir.c:74 UT 8592.589922
[Nov 5 22:31:40.234] ir.c:74 UT 8592.689943
[Nov 5 22:31:40.334] ir.c:74 UT 8592.789950
[Nov 5 22:31:40.434] ir.c:74 UT 8592.889922
[Nov 5 22:31:40.534] ir.c:74 UT 8592.989943
[Nov 5 22:31:40.634] ir.c:74 UT 8593.089952
[Nov 5 22:31:40.734] ir.c:74 UT 8593.189935
[Nov 5 22:31:40.834] ir.c:74 UT 8593.289945
[Nov 5 22:31:40.934] ir.c:74 UT 8593.389940
[Nov 5 22:31:41.034] ir.c:74 UT 8593.489931
[Nov 5 22:31:41.134] ir.c:74 UT 8593.589934
[Nov 5 22:31:41.234] ir.c:74 UT 8593.689949
[Nov 5 22:31:41.334] ir.c:74 UT 8593.789947
[Nov 5 22:31:41.434] ir.c:74 UT 8593.889938
[Nov 5 22:31:41.534] ir.c:74 UT 8593.989939
[Nov 5 22:31:41.634] ir.c:74 UT 8594.089954
[Nov 5 22:31:41.734] ir.c:74 UT 8594.189954
[Nov 5 22:31:41.834] ir.c:74 UT 8594.289939
[Nov 5 22:31:41.934] ir.c:74 UT 8594.389954
[Nov 5 22:31:41.961] scandone
[Nov 5 22:31:42.852] state: 0 -> 2 (b0)
[Nov 5 22:31:42.854] ir.c:74 UT 8595.309659
[Nov 5 22:31:42.858] ir.c:74 UT 8595.313945
[Nov 5 22:31:42.862] state: 2 -> 3 (0)
[Nov 5 22:31:42.864] ir.c:74 UT 8595.318303
[Nov 5 22:31:42.868] state: 3 -> 5 (10)
[Nov 5 22:31:42.869] add 0
[Nov 5 22:31:42.870] aid 1
[Nov 5 22:31:42.870] cnt
[Nov 5 22:31:42.871] ir.c:74 UT 8595.323978
[Nov 5 22:31:42.874] ir.c:74 UT 8595.330039
[Nov 5 22:31:42.878] ir.c:74 UT 8595.333654
[Nov 5 22:31:42.882] ir.c:74 UT 8595.337259
[Nov 5 22:31:42.886] ir.c:74 UT 8595.341175
[Nov 5 22:31:42.889] ir.c:74 UT 8595.344964
[Nov 5 22:31:42.934] ir.c:74 UT 8595.389949
[Nov 5 22:31:43.034] ir.c:74 UT 8595.489962
[Nov 5 22:31:43.134] ir.c:74 UT 8595.589959
[Nov 5 22:31:43.234] ir.c:74 UT 8595.689961
[Nov 5 22:31:43.334] ir.c:74 UT 8595.789962
[Nov 5 22:31:43.434] ir.c:74 UT 8595.889963
[Nov 5 22:31:43.487]
[Nov 5 22:31:43.487] connected with bono, channel 4
[Nov 5 22:31:43.490] dhcp client start...
[Nov 5 22:31:43.492] mgos_wifi.c:136 WiFi STA: Connected, BSSID 18:d6:c7:ba:d9:5b ch 4 RSSI -63
[Nov 5 22:31:43.499] mgos_event.c:135 ev WFI2 triggered 0 handlers
[Nov 5 22:31:43.506] mgos_net.c:89 WiFi STA: connected
[Nov 5 22:31:43.511] mgos_event.c:135 ev NET2 triggered 3 handlers
[Nov 5 22:31:43.534] ir.c:74 UT 8595.989958
[Nov 5 22:31:43.634] ir.c:74 UT 8596.089972
[Nov 5 22:31:43.734] ir.c:74 UT 8596.189965
[Nov 5 22:31:43.834] ir.c:74 UT 8596.289974
[Nov 5 22:31:43.934] ir.c:74 UT 8596.389965
[Nov 5 22:31:44.034] ir.c:74 UT 8596.489984
[Nov 5 22:31:44.134] ir.c:74 UT 8596.589974
[Nov 5 22:31:44.234] ir.c:74 UT 8596.689973
[Nov 5 22:31:44.334] ir.c:74 UT 8596.789984
[Nov 5 22:31:44.434] ir.c:74 UT 8596.889979
[Nov 5 22:31:44.534] ir.c:74 UT 8596.989977
[Nov 5 22:31:44.634] ir.c:74 UT 8597.089978
[Nov 5 22:31:44.734] ir.c:74 UT 8597.189983
[Nov 5 22:31:44.753] ip:192.168.0.108,mask:255.255.255.0,gw:192.168.0.1
[Nov 5 22:31:44.758] mgos_event.c:135 ev WFI3 triggered 0 handlers
[Nov 5 22:31:44.763] mgos_net.c:101 WiFi STA: ready, IP 192.168.0.108, GW 192.168.0.1, DNS 192.168.0.1
[Nov 5 22:31:44.772] mgos_sntp.c:127 SNTP next query in 914 ms
[Nov 5 22:31:44.777] mgos_mqtt.c:431 MQTT connecting to dev-willow-iot-hub-we.azure-devices.net:8883
[Nov 5 22:31:44.785] mg_net.c:928 0x3fff0984 dev-willow-iot-hub-we.azure-devices.net:8883 azure.crt.pem,azure.key.pem,ca.pem
[Nov 5 22:31:44.796] mgos_vfs.c:256 azure.crt.pem -> /azure.crt.pem pl 1 -> 1 0x3fff1564 (refs 1)
[Nov 5 22:31:44.804] mgos_vfs.c:350 open azure.crt.pem 0x0 0x1b6 => 0x3fff1564 azure.crt.pem 1 => 257 (refs 1)
[Nov 5 22:31:44.812] mgos_vfs.c:509 fstat 257 => 0x3fff1564:1 => 0 (size 485)
[Nov 5 22:32:38.450]
[Nov 5 22:32:38.450] ets Jan 8 2013,rst cause:4, boot mode:(3,7)
[Nov 5 22:32:38.454]
[Nov 5 22:32:38.455] wdt reset
Is this a bug? What I am trying to do is to implement IR remote controller receiver simmilar to https://github.com/mongoose-os-libs/ir but for different vendor.