Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    LoRa receive windows

    Scheduled Pinned Locked Moved LoPy
    lora
    9 Posts 4 Posters 3.3k Views 4 Watching
    Loading More Posts
    • 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.
    • A Offline
      assia
      last edited by

      Hello,

      In the example of LoRaWAN with OTAA join method

      # code block
      #make the socket blocking
      #(waits for the data to be sent and for the 2 receive windows to expire)
      s.setblocking(True)
      

      i have two questions :
      What is the time of the two receive windows because when I try to put this before sending an unconfirmed LoRa frame it takes 1 to 2 seconds between sending two frames?

      Can i define the duration of the two windows manually or it will be done automatically by adding socket.setblocking(True) ?

      1 Reply Last reply Reply Quote 0
      • J Offline
        jmarcelino
        last edited by jmarcelino

        The receive window timings of LoRaWAN are defined in the LoRaWAN specification, namely in the regional settings document.

        For the EU 868 Mhz region:

        First receive window 1s
        Second receive window 2s

        OTAA Join accept has different windows (at 5s and 6s)

        There isn't a specific value for the window duration, the stack will listen for a packet preamble indicating there is data to receive and if so the window will be kept open until all the data is received (maximum 3s)

        You cannot change this on the LoPy other than changing and source code and flashing it with a custom build - then you'll also have to make sure your network server knows about those settings. Alternatively the network server can also change the receive window timings in the OTAA response.

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          assia @jmarcelino
          last edited by

          Hi @jmarcelino thanks for your response, I am a beginner in lora; and my objective is to make a communication between two nodes (lopy) in loRa mode
          So I want to know if these settings are the same if we work in LoRa mode and not LoRaWAN? because if we take into account the two reception windows of LoRaWan normally it takes all the time 2 seconds between sending 2 non confirmed msg. but in my example (LoRa mode) it takes 1 to 2 seconds between sending 2 frames.

          J 1 Reply Last reply Reply Quote 0
          • J Offline
            jmarcelino @assia
            last edited by jmarcelino

            @assia
            In raw LoRa mode there are no set receive windows, once you call lora.recv(..) it should start receiving.

            A robert-hhR 2 Replies Last reply Reply Quote 0
            • A Offline
              assia @jmarcelino
              last edited by

              @jmarcelino said in LoRa receive windows:
              thank you it is clear now

              1 Reply Last reply Reply Quote 0
              • robert-hhR Offline
                robert-hh @jmarcelino
                last edited by

                @jmarcelino Since timeing is a little bit inconsistent, is there a way to tell TTN or the gateway to use the second receive window, as that seems to be a little bit longer?

                J 1 Reply Last reply Reply Quote 0
                • J Offline
                  jcaron @robert-hh
                  last edited by

                  @robert-hh I suppose that would be up to the network to decide rather than the node. Note that the two RX windows use different parameters (frequency, data rate...), so they’re not quite equivalent.

                  robert-hhR 2 Replies Last reply Reply Quote 0
                  • robert-hhR Offline
                    robert-hh @jcaron
                    last edited by

                    @jcaron I'm fighting since days with the OTAA join. On some days it works, on the next in the same set-up not. I found that variation of the time at which the node starts receiving is about 15 ms.
                    Do you know how long the receive windows are set on xxPy? Looking at the time stamps I gathered it is about 26ms for Window1 and about 200ms for Window2.

                    1 Reply Last reply Reply Quote 0
                    • robert-hhR Offline
                      robert-hh @jcaron
                      last edited by

                      @jcaron Now I have set the parameter in the Lora Stack for timing error to 100ms, which seems to give proper joins.

                      1 Reply Last reply Reply Quote 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
                      • 1 / 1
                      • First post
                        Last post

                      Pycom on Twitter

                      Pycom