Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. Dencan
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Dencan

    @Dencan

    1
    Reputation
    2
    Posts
    360
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Dencan Follow

    Best posts made by Dencan

    • RE: 💬 NodeManager

      Hi, nice work!
      I have changed the code for REBOOT so there is no need for a reboot-pin.
      like this...

      else if (strcmp(message, "REBOOT") == 0) {
      #if DEBUG == 1
      Serial.println(F("REBOOT"));
      #endif
      // Software reboot with watchdog timer
      // Enter Watchdog Configuration mode:
      WDTCSR |= (1<<WDCE) | (1<<WDE);
      // Reset enable
      WDTCSR= (1<<WDE);
      // Infinite loop until watchdog reset after 16 ms
      while(true){}
      }

      posted in OpenHardware.io
      Dencan
      Dencan

    Latest posts made by Dencan

    • RE: 💬 NodeManager

      @user2684 It appears that this problem is caused by a bug in bootloaders used in some Arduino boards.

      The solution suggested is to flash optiboot bootloader to the Arduino Pro Mini. Or not using a bootloader.

      I use mostly barebone atmega328's with optiboot bootloader, working perfectly with reboot function, so I haven't been aware of the problem until now when I used a pro mini.

      Please read this article which explains the cause of the problem and suggested fix.
      https://andreasrohner.at/posts/Electronics/How-to-make-the-Watchdog-Timer-work-on-an-Arduino-Pro-Mini-by-replacing-the-bootloader/

      I will try it on a pro mini when I have time.

      posted in OpenHardware.io
      Dencan
      Dencan
    • RE: 💬 NodeManager

      Hi, nice work!
      I have changed the code for REBOOT so there is no need for a reboot-pin.
      like this...

      else if (strcmp(message, "REBOOT") == 0) {
      #if DEBUG == 1
      Serial.println(F("REBOOT"));
      #endif
      // Software reboot with watchdog timer
      // Enter Watchdog Configuration mode:
      WDTCSR |= (1<<WDCE) | (1<<WDE);
      // Reset enable
      WDTCSR= (1<<WDE);
      // Infinite loop until watchdog reset after 16 ms
      while(true){}
      }

      posted in OpenHardware.io
      Dencan
      Dencan