avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avrdude-dev] half-duplex


From: Axelrod, Ben
Subject: Re: [avrdude-dev] half-duplex
Date: Tue, 10 Jun 2014 14:11:54 +0000

After a little bit of poking around in the avrdude source code, I think the 
best course of action would be to make a new programmer type.  I'd basically 
just clone butterfly (because it implements the protocol I need), but replace 
the serial reads and writes with the ftdi library versions.  And wrap the 
writes in the ftdi command to pull the RTS pin high (due to my half-duplex 
link).  How does that sound?  

My understanding of the AVR109 protocol is that only one device is talking at 
any given time, so it should work over a half-duplex link.  Although I haven't 
verified this yet.

Thanks,
Ben

-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of Axelrod, Ben
Sent: Friday, June 06, 2014 4:29 PM
To: 'address@hidden'
Subject: [avrdude-dev] half-duplex

I would like to use avrdude to program my chip through the xboot bootlader, 
over a ftdi cable 
(http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_USB_RS232_CABLES.pdf)
 and a half-duplex communication bus.  Is this possible?

I think the tricky part is the half-duplex bus.  This means that avrdude will 
need to pull the transceiver-enable line high (the RTS line) while 
transmitting, then low when waiting for a response.  My version of xboot is 
hacked to have this feature.  (FYI I have used avrdude + xboot in the past, but 
was either going through the avrispmkII, or going straight through the serial 
port on a gumstix using the AVR109 "programmer").

Is this half-duplex programmer-less option supported in avrdude?  Or would it 
be easy (for me) to add?  I poked around a little and it looks like the ftdi 
library does support low-level control of this pin.  Although I haven't tried 
it yet.

My only other option is to use a secondary chip to be some sort of go-between.  
(full-duplex on one side, and half on the other).  But this would have to know 
when each side is done talking to appropriately switch the transceiver enable 
pin...

Thanks,
Ben


Ben Axelrod
Sr. Robotics Software Engineer
iRobot Corporation
8 Crosby Drive, M/S 8-1
Bedford, MA 01730
(781) 430-3315
address@hidden<mailto:address@hidden>

_______________________________________________
avrdude-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avrdude-dev





reply via email to

[Prev in Thread] Current Thread [Next in Thread]