Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. How do I get multiple different mock barometers?

How do I get multiple different mock barometers?

Scheduled Pinned Locked Moved Development
53 Posts 6 Posters 11.5k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • NeverDieN
    NeverDieN
    NeverDie
    Hero Member
    wrote on last edited by
    #22

    I have it working now, but why are:

    #define LONG_WAIT 500
    #define SHORT_WAIT 50
    
    

    needed?

    rmtuckerR gohanG 2 Replies Last reply
    0
    • NeverDieN NeverDie

      I have it working now, but why are:

      #define LONG_WAIT 500
      #define SHORT_WAIT 50
      
      

      needed?

      rmtuckerR
      rmtuckerR
      rmtucker
      wrote on last edited by
      #23

      @NeverDie
      Why barometer instead of voltage and multimeter?

      NeverDieN 1 Reply Last reply
      0
      • rmtuckerR rmtucker

        @NeverDie
        Why barometer instead of voltage and multimeter?

        NeverDieN
        NeverDieN
        NeverDie
        Hero Member
        wrote on last edited by
        #24

        @rmtucker said in How do I get multiple different mock barometers?:

        @NeverDie
        Why barometer instead of voltage and multimeter?

        No real reason anymore. If you rewind the tape to the beginning, though, it was because barometer compiled and volt meter didn't.

        rmtuckerR 1 Reply Last reply
        0
        • NeverDieN NeverDie

          I have it working now, but why are:

          #define LONG_WAIT 500
          #define SHORT_WAIT 50
          
          

          needed?

          gohanG
          gohanG
          gohan
          Mod
          wrote on last edited by
          #25

          @NeverDie said in How do I get multiple different mock barometers?:

          I have it working now, but why are:

          #define LONG_WAIT 500
          #define SHORT_WAIT 50
          
          

          needed?

          I think those are used in the code to delay the sending of mock values

          NeverDieN 1 Reply Last reply
          0
          • NeverDieN NeverDie

            @rmtucker said in How do I get multiple different mock barometers?:

            @NeverDie
            Why barometer instead of voltage and multimeter?

            No real reason anymore. If you rewind the tape to the beginning, though, it was because barometer compiled and volt meter didn't.

            rmtuckerR
            rmtuckerR
            rmtucker
            wrote on last edited by
            #26

            @NeverDie

            Here is a little sketch that compiles on the NRF5.

            // Enable debug prints to serial monitor
            //#define MY_DEBUG
            
            // Enable and select radio type attached
            #define MY_RADIO_NRF5_ESB
            
            /**
               @def MY_NRF5_ESB_PA_LEVEL
               @brief Default nRF5 PA level. Override in sketch if needed.
            
               - NRF5_PA_MIN = -40dBm
               - NRF5_PA_LOW = -16dBm
               - NRF5_PA_HIGH = 0dBm
               - NRF5_PA_MAX = 4dBm
            */
            #define MY_NRF5_ESB_PA_LEVEL (NRF5_PA_MAX)
            
            #define MY_NRF5_ESB_CHANNEL (76)
            
            #define MY_NRF5_ESB_MODE (NRF5_250KBPS)
            
            #define MY_NODE_ID 10
            #define VOLTAGE     0
            #include <MySensors.h>
            
            float vcc = (hwCPUVoltage() / 1000.0);
            
            MyMessage VoltageMsg(VOLTAGE, V_VOLTAGE);
            
            void presentation()
            {
              sendSketchInfo("General sensor", "1.0");
              present(VOLTAGE, S_MULTIMETER);
            }
            
            
            void setup() {
            //  Serial.begin(115200);
            //  while (!Serial) ; // wait for Arduino Serial Monitor
            }
            
            void loop() {
              send(VoltageMsg.set(vcc, 3));
            //  Serial.print(F("Voltage = "));
            //  Serial.print(vcc, 3);
            //  Serial.println(F("v"));
              sleep(60000);
            }
            
            
            NeverDieN 1 Reply Last reply
            1
            • gohanG gohan

              @NeverDie said in How do I get multiple different mock barometers?:

              I have it working now, but why are:

              #define LONG_WAIT 500
              #define SHORT_WAIT 50
              
              

              needed?

              I think those are used in the code to delay the sending of mock values

              NeverDieN
              NeverDieN
              NeverDie
              Hero Member
              wrote on last edited by NeverDie
              #27

              @gohan said in How do I get multiple different mock barometers?:

              @NeverDie said in How do I get multiple different mock barometers?:

              I have it working now, but why are:

              #define LONG_WAIT 500
              #define SHORT_WAIT 50
              
              

              needed?

              I think those are used in the code to delay the sending of mock values

              Yes, but why? Is it to give the serial gateway time to process it?

              I'd like to know the motivation for it because I'm using an ESP8266 as my serial gateway (the Easy-Peasy), and it's considerably faster than, say, an Arduino UNO. For instance, maybe it doesn't need these delays on the sending side to keep up.

              1 Reply Last reply
              0
              • gohanG
                gohanG
                gohan
                Mod
                wrote on last edited by
                #28

                I think it's more related to allow enough time for people to read the log without flooding it

                NeverDieN 2 Replies Last reply
                0
                • gohanG gohan

                  I think it's more related to allow enough time for people to read the log without flooding it

                  NeverDieN
                  NeverDieN
                  NeverDie
                  Hero Member
                  wrote on last edited by
                  #29

                  @gohan said in How do I get multiple different mock barometers?:

                  I think it's more related to allow enough time for people to read the log without flooding it

                  LOL. Glad I asked!

                  1 Reply Last reply
                  0
                  • gohanG gohan

                    I think it's more related to allow enough time for people to read the log without flooding it

                    NeverDieN
                    NeverDieN
                    NeverDie
                    Hero Member
                    wrote on last edited by NeverDie
                    #30

                    @gohan said in How do I get multiple different mock barometers?:

                    I think it's more related to allow enough time for people to read the log without flooding it

                    No, there's more going on than just that apparently. If I reduce their value to zero, it bombs. Reducing short-wait to zero causes the mote to get stuck in a loop somewhere, and reducing long-wait to zero causes the gateway to miss receiving some packets.

                    If these examples are meant to teach, it sure would be nice if it was documented code!

                    mfalkviddM 1 Reply Last reply
                    0
                    • gohanG
                      gohanG
                      gohan
                      Mod
                      wrote on last edited by
                      #31

                      It is always good practice not to flood the gateway anyway :)

                      1 Reply Last reply
                      0
                      • rejoe2R
                        rejoe2R
                        rejoe2
                        wrote on last edited by rejoe2
                        #32

                        This wait() can also help to avoid packet losses due to insufficient power supply when using nRF24.

                        Controller: FHEM; MySensors: 2.3.1, RS485,nRF24,RFM69, serial Gateways

                        NeverDieN 1 Reply Last reply
                        1
                        • NeverDieN NeverDie

                          @gohan said in How do I get multiple different mock barometers?:

                          I think it's more related to allow enough time for people to read the log without flooding it

                          No, there's more going on than just that apparently. If I reduce their value to zero, it bombs. Reducing short-wait to zero causes the mote to get stuck in a loop somewhere, and reducing long-wait to zero causes the gateway to miss receiving some packets.

                          If these examples are meant to teach, it sure would be nice if it was documented code!

                          mfalkviddM
                          mfalkviddM
                          mfalkvidd
                          Mod
                          wrote on last edited by mfalkvidd
                          #33

                          @NeverDie I am not sure, but I think the mock sketch is meant only for validating new builds of MySensors (by the Jenkins build system connected to Github). It is not included on the build page and as you said it is not documented so I don't think it is meant to teach.

                          I may be wrong though, I didn't know that sketch existed before you mentioned it.

                          At almost 1,500 lines it is 10x bigger than most of the build examples, which seems like a very bad idea if the intention is to teach.

                          1 Reply Last reply
                          0
                          • gohanG
                            gohanG
                            gohan
                            Mod
                            wrote on last edited by
                            #34

                            It's big because it has all the code to simulate almost all sensors 😀

                            mfalkviddM 1 Reply Last reply
                            0
                            • gohanG gohan

                              It's big because it has all the code to simulate almost all sensors 😀

                              mfalkviddM
                              mfalkviddM
                              mfalkvidd
                              Mod
                              wrote on last edited by
                              #35

                              @gohan yes. And that is a terrible way to teach.

                              1 Reply Last reply
                              0
                              • gohanG
                                gohanG
                                gohan
                                Mod
                                wrote on last edited by
                                #36

                                all-in :D

                                1 Reply Last reply
                                0
                                • rejoe2R rejoe2

                                  This wait() can also help to avoid packet losses due to insufficient power supply when using nRF24.

                                  NeverDieN
                                  NeverDieN
                                  NeverDie
                                  Hero Member
                                  wrote on last edited by NeverDie
                                  #37

                                  @rejoe2 said in How do I get multiple different mock barometers?:

                                  This wait() can also help to avoid packet losses due to insufficient power supply when using nRF24.

                                  You mean it needs extra time for the auxiliary cap to recharge? If so, surely we can find a better way to power the radio module that doesn't require taking a breather between packets....

                                  I don't remember how it works with the nRF24L01, but on the RFM69, there's only one buffer for both sending and receiving, so you have to empty the receive buffer before you either send or receive another packet.

                                  mfalkviddM 1 Reply Last reply
                                  0
                                  • NeverDieN NeverDie

                                    @rejoe2 said in How do I get multiple different mock barometers?:

                                    This wait() can also help to avoid packet losses due to insufficient power supply when using nRF24.

                                    You mean it needs extra time for the auxiliary cap to recharge? If so, surely we can find a better way to power the radio module that doesn't require taking a breather between packets....

                                    I don't remember how it works with the nRF24L01, but on the RFM69, there's only one buffer for both sending and receiving, so you have to empty the receive buffer before you either send or receive another packet.

                                    mfalkviddM
                                    mfalkviddM
                                    mfalkvidd
                                    Mod
                                    wrote on last edited by
                                    #38

                                    @NeverDie a discussion on that topic is underway in https://github.com/mysensors/MySensors/issues/892

                                    NeverDieN 1 Reply Last reply
                                    0
                                    • mfalkviddM mfalkvidd

                                      @NeverDie a discussion on that topic is underway in https://github.com/mysensors/MySensors/issues/892

                                      NeverDieN
                                      NeverDieN
                                      NeverDie
                                      Hero Member
                                      wrote on last edited by NeverDie
                                      #39

                                      @mfalkvidd
                                      In that case the nRF52832 should be faster at emptying the buffer, since it doesn't have to rely on the slower SPI bus. And from what I gather, it can also do DMA's, which could speed things up even further.

                                      mfalkviddM 1 Reply Last reply
                                      0
                                      • NeverDieN NeverDie

                                        @mfalkvidd
                                        In that case the nRF52832 should be faster at emptying the buffer, since it doesn't have to rely on the slower SPI bus. And from what I gather, it can also do DMA's, which could speed things up even further.

                                        mfalkviddM
                                        mfalkviddM
                                        mfalkvidd
                                        Mod
                                        wrote on last edited by
                                        #40

                                        @NeverDie for a node I think the bottleneck is the speed of the air transfer. Sending a message takes about 1ms at the default setting of 250kbps. But a busy gateway might benefit from the higher processing speeds on nRF52832.

                                        NeverDieN 1 Reply Last reply
                                        0
                                        • mfalkviddM mfalkvidd

                                          @NeverDie for a node I think the bottleneck is the speed of the air transfer. Sending a message takes about 1ms at the default setting of 250kbps. But a busy gateway might benefit from the higher processing speeds on nRF52832.

                                          NeverDieN
                                          NeverDieN
                                          NeverDie
                                          Hero Member
                                          wrote on last edited by NeverDie
                                          #41

                                          @mfalkvidd said in How do I get multiple different mock barometers?:

                                          @NeverDie for a node I think the bottleneck is the speed of the air transfer. Sending a message takes about 1ms at the default setting of 250kbps. But a busy gateway might benefit from the higher processing speeds on nRF52832.

                                          Does it default to 250kbps to compensate for the range problems that the nRF24L01 has? I'm planning to bump mine up to 2mbps if at all possible. That might save appreciably on battery life.

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          14

                                          Online

                                          12.4k

                                          Users

                                          11.2k

                                          Topics

                                          113.5k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular