Windows 7 (64 bit) Arduino Service Strangeness - SOLVED

 

Here I'll go over several issues I have found with the Arduino service & WIndows 7 (64 bit)

FTDI Driver strangeness & Jumpy Oscope

After updating my driver at some point (or unknowingly being updated by Windows) I noticed the Arduino Oscope behaving very strangly.  When I selected a trace on the Arduino to display, the trace line would freeze, then flash quick, then pause, then flash - nothing like the smooth behavior it had previosly.

I solved this by looking at the driver specifics Manage Computer -> Device Manager -> Double Click on USB Serial Port -> Port Settings Tab -> Advanced button -> USB Transfer Sizes -> Recieve & Transmit sizes - was set at 4096 - they should be set at the other end 64 bytes !   

I'm guessing this is configuration the buffer size of the USB protocol.  MRL uses a very very small protocol to communicate - only 4 to 5 bytes.  When the buffer is configured for 4096 bytes, it waits until the buffer is full before sending or recieving it.  Well, since MRL protocol is so lightweight, it takes a while to fill up the buffer and therefore - makes the data look like its coming in large buckets with long intervals of wait time between (staggered)

Putting this back to 64 for small quick data exchange makes the oscope look better.

Possibly changing BM Options might enhance the speed of flushing the buffer - but I have not messed with it yet.

 

After this is adjusted I get a smooth oscope trace again

References


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
DancesWithRobots's picture

Uh. . .I saw this too.

Just like Michael described in the shout.  But I was testing the new Adafruit Motor Shield, and attributed it to that.

GroG's picture

On Linux ???

On Linux ???

michael96_27's picture

I think...

I think GroG there's a problem with this fix. It seems that it doesn't allow the Arduino IDE (not the service from MRL)  to upload programs into arduino. There's an error like : avr... not in sync