Asynchronous Transmission Using E220-900T22D

Home Forums The libraries hosted on the site EByte LoRa e220 UART devices LLCC68 Asynchronous Transmission Using E220-900T22D

Viewing 2 reply threads
  • Author
    Posts
    • #32063
      Cosmic
      Participant

        Hello there,

        I have been trying to debug an issue for quite a while now but cannot seem to find a solution for it. I am designing a pretty large software where various tasks need to be completed/checked especially at a high frequency, one of them (tasks) being to send telemetry data via the E220 Ebyte Lora module.
        Unfortunately, for some reason, this stops all the processes until the transmission is sent. All of my tasks are formatted to be in a non-blocking form or asynchronous through the use of system timing, but even when I implemented it for the module, it still stops all tasks from going forward, which makes me believe that the library is inherently synchronous.

        I hope you understand my current situation and I hope someone has a solution for this.

        I have tested and used your library for a while now to communicate between 2 Lora modules but have yet to find a solution to this. I know that the RadioLib library allows for asynchronous transmission yet I cannot get it to work with the E220-900T22D Lora module.

        I hope to hear from someone soon.

        Sincerely,

        Shay

      • #32069
        Renzo Mischianti
        Keymaster

          Hi, cosmic,
          The library is designed to send data and wait for the device’s feedback, but it does not use any delay or similar operations, so I think it doesn’t perform a blocking operation.
          If you need to perform nonblocking operations without feedback, you can use a multicore device like esp32s3 or similar.
          Bye Renzo

          • #32080
            Cosmic
            Participant

              Hello Renzo,

              Thank you for the reply! I did think of switching to an ESP32 for multi-core use but found that the data I was transmitting was too large, so after a certain number of characters, it would block all tasks. I managed to minimize the number of characters being sent, which immediately solved the problem. I also implemented the Task Scheduler Library, which made everything work very well—no more blocking.

              Sincerely,

              Cosmic

              • This reply was modified 8 months, 3 weeks ago by Cosmic.
          • #32088
            Renzo Mischianti
            Keymaster

              Ahh! perfect!
              Thanks for your feedback, and enjoy your work!
              Bye Renzo

          Viewing 2 reply threads
          • You must be logged in to reply to this topic.
          Exit mobile version