Forum Rule: Always post complete source code & details to reproduce any issue!
Page 2 of 2 FirstFirst 1 2
Results 26 to 30 of 30

Thread: E1.31 sACN Ethernet DMX Performance help - 6 Universe Limit improvements?

  1. #26
    Member crees's Avatar
    Join Date
    Dec 2016
    Location
    Utah
    Posts
    94
    I have updated the main controller code. Will work on uploading the one socket w5500 version.

  2. #27
    Member crees's Avatar
    Join Date
    Dec 2016
    Location
    Utah
    Posts
    94
    Quote Originally Posted by KasparsL View Post
    Hi all, I am trying to replicate the success of people here to create Ethernet attached e1.31 controller.
    I have multiple ESPixelSticks, but wifi is not always reliable enough and I am building 1 or 2 wired controllers for Christmas decorations.

    I got the Crees code from svn (there seems to be a bracket in wrong position after latest commit) and tried also code seen in the thread.

    The problem I am facing is that it seems not all universes or the last universe is not received/detected and "Leds.show();" is not called frequent enough.
    Because of thes LEDs are updated every 0.5..1sec only.
    This is because the controller is expecting 32 universes but is seeing alot less. Mostly due to the incompatibility of the w5500 with the current one socket library (not seeing the full 16k buffer).

  3. #28
    Junior Member
    Join Date
    Dec 2018
    Posts
    4
    Thanks Crees for sharing your work! I see you have made some changes already.
    While I have ordered a couple of w5200 modules, Is there anything I could read regarding what has to be done to W5100 library and what single socket means..
    I am guessing that w5100 is using one socket only and we need to free up memory in the w5200 library as it is taken by supporting multiple sockets - is this correct?

  4. #29
    Member crees's Avatar
    Join Date
    Dec 2016
    Location
    Utah
    Posts
    94
    Here is my latest hack to the one socket library that will work with the w5500. Please note that the TX buffer / settings are not working correctly so if you plan to use it for anything requiring tcp or udp send etc it may not work. However this project is focused on UDP full buffer receive.

    Your on track with 5100 . The one socket library uses SPIFIFO and a large buffer by telling the wiznet to bind to one protocol (UDP). wiznet allows multiple protocols at the expense of allocating at least one socket per protocol (2k per socket). There are two 16k buffers one for TX and the other for RX. With this setup UDP RX is all we need and we use all 8 sockets for it (8 * 2k = 16k ).

    from my debugging and observation....

    Using all sockets gives us the buffer we need and that will allow about 21-25ish universes. However as I am noticing SPIFIFO gives us the "turbo" speed we need to quickly pass data from the wiznet without typical SPI overhead. With SPIFIFO I see all 32 universes even at 40+ frames a second. The limit starts after 32 universes both due to buffers across the board (LED Buffers, Wiznet etc)

    the onesocket I have listed on github is hacked to detect the w5200 and allocate the buffer for it. I noticed that it does not detect or work well with the w5500. the following link will get you the hacked version for w5500


    Please note you will need to remove your existing ethernet library under the "hardware / teensy /avr / libraries " folder and place it somewhere else (don't delete it just move it out or up a directory). move the hacked version folder into its place and recompile.

    I wanted to fix the tx issue before I got it up to github but for now you can grab from my dropbox link. Don't forget to remove it and place the original Ethernet library back so you can use it for your other arduino projects!

    https://www.dropbox.com/sh/98vhmyne0..._wPg8hHma?dl=0
    Last edited by crees; 12-06-2018 at 04:02 PM.

  5. #30
    Junior Member
    Join Date
    Dec 2018
    Posts
    4
    Quote Originally Posted by crees View Post
    I wanted to fix the tx issue before I got it up to github but for now you can grab from my dropbox link. Don't forget to remove it and place the original Ethernet library back so you can use it for your other arduino projects!

    https://www.dropbox.com/sh/98vhmyne0..._wPg8hHma?dl=0
    Thanks Crees!
    I can confirm that with this library I was able to receive all 32 universes using W5500 ethernet module. Great job, thanks a lot!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •