×

INDI Library v1.9.8 Released (29 Sep 2022)

Bi-monthly INDI Library released with new drivers and bug fixes.

Weather Radio: RG11 sensor resets ESP8266 on heavy rain?

  • Posts: 66
  • Thank you received: 3
Are you sure it's circuit related?, my thinking (but without seeing the code) is it's interrupt related and you are being swamped with interrupt requests due to the high level of rainfall resulting in the watchdog being triggered on the ESP8266.

Anyway, here's how to try and see what's causing the crash if it is software related: arduino-esp8266.readthedocs.io/en/latest...-my-esp-crashes.html

If you don't get the crash with low / no rain, it's unlikely to be the circuit. Your increase in resister for the pull up will only come in to play if the distance between the sensor and controller is very long and your wire is quite thin and that would result in missed activations not increased / crashes. You can test this by disconnecting the RG11 unit and manually joining the wires together to simulate a pulse from the RG11 relay.
If you disconnect the RG11, does the ESP still crash? What does it output on the serial port?

I have a RG15 and it can be sensitive to the input voltage causing brownouts, but that would be unlikely to lock up your ESP as it's a separate unit but should't be ruled out just yet though 2A should be more than enough for both devices to co-exist.. (RG11 is 55mA max @12V input with everything on from the datasheet)

Do you have a link to the code you are running?
The following user(s) said Thank You: Nguyễn Trọng Minh
1 year 2 months ago #75546

Please Log in or Create an account to join the conversation.

  • Posts: 238
  • Thank you received: 49
Seems the sensor is very sensitive
"Depending on the model, the algorithm can register accumulations of just one ten-thousands of an inch–"

But is also configurable
"The resolution may be set using the DIP switch"

What mode are you running the unit at, Mode 0 or Mode 1, I assume Mode 0 (?)
rainsensors.com/wp-content/uploads/sites...-11_instructions.pdf

At what resolution?


To limit switch bounce you can also just stick a 0.1uf or 0.01uf cap on the signal line between signal and ground to see if that does anything to what you are seeing.
Change the pullup back to 10k to start with.
The following user(s) said Thank You: Nguyễn Trọng Minh
1 year 2 months ago #75559

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
Thanks for your detailed troubleshoot. The board run for weeks without problem if there are no rain. But if there are rain then it crashes after a while. (The longest rain that it recorded before crashing is 6 hours. But most of the time it just gave up after a couple of hours at best, even minutes if the rain is heavy. Thanks for the watchdog debug information. I didnt know there's a crash log. I'd plug the board into computer and try to ctimulate the sensor to get it crash and see the logs.
oh and here's the code. github.com/indilib/indi-3rdparty/tree/ma...rmwares/weatherradio
Last edit: 1 year 2 months ago by Nguyễn Trọng Minh.
1 year 2 months ago #75561

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
I am using mode 1 (drop counter). I am thinking of a noise filter too. Lets see how it works. Thanks!
Last edit: 1 year 2 months ago by Nguyễn Trọng Minh.
1 year 2 months ago #75562

Please Log in or Create an account to join the conversation.

  • Posts: 1014
  • Thank you received: 302
I'm also using the drop count method and from time to time I experience a crash and reboot as well. I had WiFi problems as well, but my explanation was always that the WiFi-network was the problem and not due to the crash. If you can find a way how to reproduce the crash I can try to fix in the firmware.
TSA-120 + FSQ-85 + ONTC 10"F4 Newton (+ epsilon-160 on Japan trip) | Avalon Linear + M-zero | ASI 1600mm pro + 6200mm pro | KStars/INDI on Raspberry Pi 4/Intel NUC
The following user(s) said Thank You: Nguyễn Trọng Minh
1 year 2 months ago #75564

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
Hehe, it's kinda reassuring to know you had problems too. Thought it was just me. I can replicate the reset by stimulate the rainsensor with fast duration or hook in a fast switching relay (50 ms interval) instead of the rg-11, with the fastswitching relay, the board resets randomly after a few minutes.
1 year 2 months ago #75566

Please Log in or Create an account to join the conversation.

  • Posts: 1014
  • Thank you received: 302
Its even worse with mine, I frequently experience false rain drop counts during, mainly during the evening hours. You can see it on my weather page here: weather.openfuture.de. Today it was also during day time. There was little drizzling, but nothing heavier. The separate rain bucket counted 0.5mm rain - almost nothing. Nevertheless, RG-11 reported "heavy rain". I've contacted Hydreon about this false alarm, maybe they know a solution.

Regarding the reboot-problem: this looks like a software problem. I'll take a look...
TSA-120 + FSQ-85 + ONTC 10"F4 Newton (+ epsilon-160 on Japan trip) | Avalon Linear + M-zero | ASI 1600mm pro + 6200mm pro | KStars/INDI on Raspberry Pi 4/Intel NUC
The following user(s) said Thank You: Nguyễn Trọng Minh
1 year 2 months ago #75567

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
Mine has never report a single false drop. But everytimes it resets, it looses the wifi connection, only a power recycle restore wifi connection, which is really annoying and potentially dangerous since I am relying on the weather station for ROR automation. Jiberjaber suggested it maybe a software watchdog kicking in due to hi rate switching and it looks plausible to me. Since I plug the fast switching relay pin into a different GPIO (Which I am not mapping the rain sensor into) and the board runs fine (I think it proved that the board is not overload hardware-wise) but as soon as I plug it into the GPIO that I map into rain sensor, the board resets after a minutes. 
Let me try disable the software watchdog.
1 year 2 months ago #75568

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
Exception 0: Illegal instruction
PC: 0x4020207c
EXCVADDR: 0x00000000

Decoding stack results
0x40100776: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring_digital.cpp line 142
0x40100808: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/interrupts.h line 29
0x40100d90: check_poison_block(umm_block*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 82
0x40100e25: check_poison_neighbors(umm_heap_context_t*, uint16_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_local.c line 69
0x4020208c: displayTSL2591Parameters() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 79
0x401001e2: isr_rg11_rain_event() at C:\Users\minhlead\Downloads\weatherradio/rg11.h line 26
0x4010081c: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring_digital.cpp line 175
0x40100808: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/interrupts.h line 29
0x40100d90: check_poison_block(umm_block*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 82
0x40100288: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 181
0x4023fd29: umm_info_safe_printf_P(char const*, ...) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_local.c line 207
0x4020df8a: Print::printf(char const*, ...) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Print.cpp line 62
0x40100288: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 181
0x40100d90: check_poison_block(umm_block*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 82
0x40100de0: check_poison_neighbors(umm_heap_context_t*, uint16_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_local.c line 52
0x40101078: umm_malloc_core(umm_heap_context_t*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 655
0x40100f31: umm_free_core(umm_heap_context_t*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 541
0x40101534: umm_realloc(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 1160
0x40100c78: get_poisoned(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 113
0x40101575: umm_poison_realloc_fl(void*, size_t, char const*, int) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 16
0x40100858: calloc(size_t, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\heap.cpp line 252
0x40100f31: umm_free_core(umm_heap_context_t*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 541
0x40101534: umm_realloc(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 1160
0x40100c78: get_poisoned(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 113
0x40100f31: umm_free_core(umm_heap_context_t*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 541
0x40101534: umm_realloc(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 1160
0x40100c78: get_poisoned(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 113
0x40101575: umm_poison_realloc_fl(void*, size_t, char const*, int) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 16
0x40100858: calloc(size_t, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\heap.cpp line 252
0x4020cdc0: ArduinoOTAClass::onStart(std::function) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ArduinoOTA\ArduinoOTA.cpp line 45
0x4020d300: EspClass::getFlashChipId() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Esp.cpp line 278
0x4020ce57: ArduinoOTAClass::onProgress(std::function) at c:\users\minhlead\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.0-newlib4.0.0-gnu23-48f7b08\xtensa-lx106-elf\include\c++\10.2.0\bits/std_function.h line 587
0x4020d215: ArduinoOTAClass::_runUpdate() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/IPAddress.h line 166
0x40204996: esp8266webserver::ESP8266WebServerTemplate::_parseRequest(WiFiClient&) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 79
0x4020d300: EspClass::getFlashChipId() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Esp.cpp line 278
0x40204ecd: esp8266webserver::ESP8266WebServerTemplate::_prepareHeader(String&, int, char const*, unsigned int) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 79
0x402017a4: S2Stream::read() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 181
0x40205f3c: ArduinoJson6180_91::TextFormatter >::writeFloat(float) at C:\Users\minhlead\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Json/TextFormatter.hpp line 143
0x40100288: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 181
0x4022273b: nan at /workdir/repo/newlib/newlib/libm/common/s_nan.c line 44
0x40223813: __sfvwrite_r at /workdir/repo/newlib/newlib/libc/stdio/fvwrite.c line 124
0x40100d90: check_poison_block(umm_block*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 82
0x40100e25: check_poison_neighbors(umm_heap_context_t*, uint16_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_local.c line 69
0x40101078: umm_malloc_core(umm_heap_context_t*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 655
0x40100de0: check_poison_neighbors(umm_heap_context_t*, uint16_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_local.c line 52
0x40100c78: get_poisoned(void*, size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_poison.c line 113
0x40101298: umm_malloc(size_t) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc\umm_malloc.cpp line 794
0x401005fd: millis() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring.cpp line 193
0x4020208c: displayTSL2591Parameters() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 79
0x401001e2: isr_rg11_rain_event() at C:\Users\minhlead\Downloads\weatherradio/rg11.h line 26
0x4010081c: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring_digital.cpp line 175
0x40100808: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/interrupts.h line 29
0x40100288: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 181
0x4020ebbe: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 473
0x40107135: cont_can_yield(cont_t*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0/tools/sdk/include/ets_sys.h line 113
0x4020eba8: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 473
0x4020208c: displayTSL2591Parameters() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 79
0x4010081c: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring_digital.cpp line 175
0x401001e2: isr_rg11_rain_event() at C:\Users\minhlead\Downloads\weatherradio/rg11.h line 26
0x4010081c: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring_digital.cpp line 175
0x40100808: interrupt_handler(void*, void*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/interrupts.h line 29
0x40100288: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 181
0x40107132: cont_can_yield(cont_t*) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0/tools/sdk/include/ets_sys.h line 113
0x4020eba8: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 473
0x4020eb2d: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 442
0x4020ee59: UpdaterClass::printError(Print&) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 555
0x4020eb2d: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 442
0x4020ee59: UpdaterClass::printError(Print&) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 555
0x4020eb2d: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 442
0x4020eb2d: UpdaterClass::_verifyEnd() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 442
0x4020ee59: UpdaterClass::printError(Print&) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 555
0x4020ee59: UpdaterClass::printError(Print&) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Updater.cpp line 555
0x401005fd: millis() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_wiring.cpp line 193
0x40206d54: updateDisplayText() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266/WString.h line 79
0x4020e010: Print::printf_P(char const*, ...) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Print.cpp line 75
0x4020f092: String::changeBuffer(unsigned int) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\WString.cpp line 207
0x40206a96: displayWiFiParameters() at C:\Users\minhlead\Downloads\weatherradio/esp8266.h line 310
0x401002a9: esp_schedule() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 128
0x4020e13c: Print::print(char) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\Print.cpp line 125
0x4010158d: umm_poison_realloc_fl(void*, size_t, char const*, int) at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\umm_malloc/umm_local.c line 143
0x40100090: app_entry() at C:\Users\minhlead\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\cores\esp8266\core_esp8266_main.cpp line 328

Okay so above is what the serial monitor spewing after exception decode. The first line refer to the below line of code from core_esp8266_wiring_digital.cpp line 142 (I colored the line in red)

void IRAM_ATTR interrupt_handler(void *arg, void *frame)
{
  (void) arg;
  (void) frame;
  uint32_t status = GPIE;
  GPIEC = status;//clear them interrupts
  uint32_t levels = GPI;
  if(status == 0 || interrupt_reg == 0) return;
  ETS_GPIO_INTR_DISABLE();
  int i = 0;
  uint32_t changedbits = status & interrupt_reg;
  while(changedbits){
    while(!(changedbits & (1 << i))) i++;
    changedbits &= ~(1 << i);
    interrupt_handler_t *handler = &interrupt_handlers;
    if (handler->fn && 
        (handler->mode == CHANGE || 
         (handler->mode & 1) == !!(levels & (1 << i)))) {
          // to make ISR compatible to Arduino AVR model where interrupts are disabled
          // we disable them before we call the client ISR
          esp8266::InterruptLock irqLock; // stop other interrupts
          if (handler->functional)
          {
              ArgStructure* localArg = (ArgStructure*)handler->arg;
              if (localArg && localArg->interruptInfo)
              {
                  localArg->interruptInfo->pin = i;
                  localArg->interruptInfo->value = __digitalRead(i);
                  localArg->interruptInfo->micro = micros();
              }
          }
          if (handler->arg)
          {
              ((voidFuncPtrArg)handler->fn)(handler->arg);
          }
          else
          {
              handler->fn();
          }
      }
  }
  ETS_GPIO_INTR_ENABLE();
}

Hope someone with better understanding of code can shed some light here?
Last edit: 1 year 2 months ago by Nguyễn Trọng Minh.
1 year 2 months ago #75570

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
Okay so a quick google search it seems this article is describing what I am experiencing (except for the board crash while connecting to a Wifi hotspot, not when trying to establish a connection)
www.mikrocontroller.net/attachment/37839...ernal_Interrupts.pdf
How do I put this into the code and try again?
1 year 2 months ago #75572

Please Log in or Create an account to join the conversation.

  • Posts: 1014
  • Thank you received: 302
Are you familiar with GIT? I could create a new branch on my indi-3rdparty fork so that you could download the latest firmware version and install it on your ESP8266.
TSA-120 + FSQ-85 + ONTC 10"F4 Newton (+ epsilon-160 on Japan trip) | Avalon Linear + M-zero | ASI 1600mm pro + 6200mm pro | KStars/INDI on Raspberry Pi 4/Intel NUC
The following user(s) said Thank You: Nguyễn Trọng Minh
1 year 2 months ago #75574

Please Log in or Create an account to join the conversation.

  • Posts: 94
  • Thank you received: 3
Wow that was fast. I am familiar with how github work. Please fork it and send me the link, I know how to proceed. Thanks!
1 year 2 months ago #75575

Please Log in or Create an account to join the conversation.

Time to create page: 1.114 seconds