General > Jobs

Needed Arduino Programmer for Small, One Time Job

(1/1)

gnuarm:
My brother has a "gadget" that interfaces a piece of new equipment to a logging device via RS232.  The new equipment is like the old equipment that the project was designed to use, spitting out lines of sensor data.  But the new equipment omits the header information (a fixed set of text strings).  The "gadget" is called a translator.  It receives the data from the new sensor and every 20 lines, adds the the header. 

The data rate is 9,600 bps, with strings about 50 characters long.  From the files I've seen, the sensor is sending DOS type line terminators, with /r/n. 

Looking at the code, it simply counts the characters received until a /r, copying them into a buffer.  There is no checking of the character count to prevent a buffer overflow.  So that needs to be fixed. 

I think the end of line check should be /n instead of /r, but that doesn't seem to be part of the immediate problem.

The immediate problem is that the output of some translators will go wonky.  From the files I was sent, it's hard to define just what "wonky" means, but the output file log is pretty messed up.  I'm thinking the Arduino has gone off the deep end.

I am not experienced with Arduinos.  The code looks enough like C so I can tell what it's doing, mostly, but not the fine details.  I also think I'm looking at the code with debugging mods, but I can't tell for sure, since I don't really speak "Arduino". 

So... my brother is looking for someone to take this over, and make the units work reliably.  It may not be a software problem at all, since it tracks with certain units, and others work 100%.  But I'm thinking a combination of the two, such as a corrupted /r character causing an undetected buffer overflow and a subsequent crash. 

Anyway, if you'd like to get involved, I will pass your contact info on to my brother, after you and I have some conversation. 

Feel free to ask questions here, or we can talk more privately with messages. 

cantata.tech:
Actually that sounds like a Flow-Control issue.

Is there any "Flow Control" being used ?

artag:
If the output contains more characters than the input (the headers) then there'd better be either flowcontrol or gaps in the input. Otherwise the buffering will always fail eventually.

gnuarm:

--- Quote from: cantata.tech on January 18, 2023, 05:31:00 pm ---Actually that sounds like a Flow-Control issue.

Is there any "Flow Control" being used ?

--- End quote ---

Nope.

Vincenzo:
Does your brother share both parents with you or only one?

Navigation

[0] Message Index

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod