Hi LabView community,
I have been working on making a test software for an embedded software in a circuit board. It's UART communication between my PC (LabView test software) and the board (embedded software). Here is one example showing how it works. If I send a char H to the board, it replies back to me with temperature and humidity reading from sensors on the board.
Couple weeks ago, I faced to an issue sending the whole TXT file to the board. What I have implemented is reading the TXT file line by line and it converted to an array of string. Each element of the array of string, which is each line of TXT file, goes into the VISA WRITE as inputs.
The total number of lines in the TXT file is 6083, and the format is like:
@0000 (memory address)
(machine code in HEX)
@0040
(machine code in HEX)
@16xxx
(machine code in HEX)
@17xxx
(machine code in HEX)
q
The q is the termination character of the data receiving for the embedded software. As soon as the embedded software in the circuit board gets the termination character, q, it stops receiving and send an acknowledgement message saying the download was successful.
My problem is not getting to the point. It seems like the embedded software does not get the q from my LabView software.
One thing I have found is if I delete the code,
@16xxx
(machine code in HEX)
@17xxx
(machine code in HEX)
and then extend the code of
@0040
(machine code in HEX)
up to 6083 (same size as before), it works fine.
Or if I shorten the length of the overall file like:
@0000 (memory address)
(SHORTEN machine code in HEX)
@0040
(SHORTEN machine code in HEX)
@16xxx
(SHORTEN machine code in HEX)
@17xxx
(SHORTEN machine code in HEX)
q
it works fine (it's about 500 lines).
I thought it might be the buffer size issue, so I made the transmit and receive buffer in LabView as 1MB for each. Still does not fix the problem.
Any of you had a similar issue? Any recommendation is welcomed as well.
I would much appreciate your advice.
Thank you.