Urgent Help: WiFi Server timeout with LED matrices and Multiplexer

Hi,

We are using Intel Edison micro controller.
Our setup involves 16 LED matrices (I2C). Since the LED matrices provide an address range of 0x71 to 0x77, we are using a Multiplexer to extend the address range to 16.

Each bus on the multiplexer is supporting 2 LED matrices. Here is the addressing info .

Bus 0: LED Matrix 1 (0x70) and LED Matrix 2 (0x72)
Bus 1: LED Matrix 3 (0x70) and LED Matrix 4 (0x72)
Bus 2: LED Matrix 5 (0x70) and LED Matrix 6 (0x72)
Bus 3: LED Matrix 7 (0x70) and LED Matrix 8 (0x72)
Bus 4: LED Matrix 9 (0x70) and LED Matrix 10 (0x72)
Bus 5: LED Matrix 11 (0x70) and LED Matrix 12 (0x72)
Bus 6: LED Matrix 13 (0x70) and LED Matrix 14 (0x72)
Bus 7: LED Matrix 15 (0x70) and LED Matrix 16 (0x72)

Please note that the addressing of the LED matrices is the same across the buses. The combination of the Bus address and the LED matrix address makes it unique.

We are running Arduino’s WiFi Server on the board and receiving the requests from a Client (external Web page (which sends the requests to the Server’s/Board’s IP address). So, based on the request received we turn on (or) off the specific LED matrix. Since we are using the Multiplexer, we first address the Multiplexer Bus and then address the specific LED matrix.

Problem

This setup works well for a limited period of time, after which the Server stops receiving further client requests. The limited period of time is variable based on the “delay( )” value in the loop(). As we increase the delay( ) value, the timeout. We cannot increase the delay( ) beyond 700 as it slows down the response time of our application.

Code attached.

DebugBigCart.ino (7.9 KB)

Hi,

There are several reasons why no one has replied to help you until now.

Many forum members read on phones and tablets and cannot open .ino files.

Your code is large and takes a long time to read.

Intel Edison does not feature very often on this forum, few members are familiar with it.

You did not include a schematic.

You need to simplify the problem, so it can be reproduced with as little code as possible. In the course of doing that, you may discover the reason for the problem yourselves.

My thought, not having read the code, is that could be caused by a memory leak. Check that all client & server sessions are closed after use.

Paul

Thank you. Yes, it was a memory leak issue.
Handled this in my code and now it works.