Navigation

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

    Topics created by doug

    • doug

      RFM95 Lora radios not responding to INTERNAL (presentation and reboot) requests
      Troubleshooting • • doug  

      4
      0
      Votes
      4
      Posts
      1672
      Views

      doug

      Looks like I have managed to work this out it seems to be a case of the radios transmitting over each other. If smartSleep is used then the heartbeat transmits over the something so rather than smart sleep i have used wait(1000); sendHeartbeat(); wait(1000); sleep(digitalPinToInterrupt(INTERRUPT_PIN),FALLING,0); Very hungry on power though. I know work was being done on smartsleep for v2.1.1 I'll give that a go
    • doug

      Help with OTA using RFM69HCW needed please
      Hardware • • doug  

      4
      0
      Votes
      4
      Posts
      1036
      Views

      doug

      I have managed to solve this it looks like the CRC failure was down to an incompatible SPI Memory chip. I am now using Brand Adesto Technologies Mfr. Part No. AT25SF041-SSHD-B RS Stock No.223-0562 and it seems to work very well now. Especially if you take Martins recommendations below @martinhjelmare said in OTA firmware updating is too slow..: I implemented a check for firmware update message in my modified SenseBenderMicro sketch, and alternative behavior in the loop if FW update is ongoing. This doesn't solve the problem of dropped messages, but could be good to speed up the update and don't waste time on sensor updates. void loop() { if (fwUpdateOngoing) { fwUpdateOngoing = false; fwUpdateOngoing = wait(OTA_WAIT_PERIOD, C_STREAM, ST_FIRMWARE_RESPONSE); } else { normalFlow(); } } void normalFlow() { // Short delay to allow buttons to properly settle sleep(5); int buttonValue = digitalRead(BUTTON_PIN); measureCount ++; sendBattery ++; bool forceTransmit = false; transmission_occured = false; #ifndef MY_OTA_FIRMWARE_FEATURE if ((measureCount == 5) && highfreq) { clock_prescale_set(clock_div_8); // Switch to 1Mhz for the reminder of the sketch, save power. highfreq = false; } #endif if (measureCount > FORCE_TRANSMIT_INTERVAL) { // force a transmission forceTransmit = true; measureCount = 0; } sendTempHumidityMeasurements(forceTransmit); if (buttonValue != oldValue) { // Send in the new buttonValue send(msg.set(buttonValue==HIGH ? 0 : 1)); oldValue = buttonValue; transmission_occured = true; } #ifdef MY_OTA_FIRMWARE_FEATURE if (transmission_occured) { fwUpdateOngoing = wait(OTA_WAIT_PERIOD, C_STREAM, ST_FIRMWARE_RESPONSE); } #endif sleep(digitalPinToInterrupt(BUTTON_PIN), CHANGE, MEASURE_INTERVAL); }
    • doug

      How can you change the node description OTA
      Development • • doug  

      1
      0
      Votes
      1
      Posts
      539
      Views

      No one has replied

    • doug

      MYSController REQUEST_PRESENTATION thing on build 3314
      Troubleshooting • • doug  

      5
      0
      Votes
      5
      Posts
      1131
      Views

      tekka

      @doug I see, there are still some changes pending to rhe smartsleep function and a dedicated message type indicating the node is going to sleep (and waiting for a short time for commands). I will adjust MYSController thereafter.