IDE only seems to use FTDI interface - why not standard coms ports?
Peter Jakacki
Posts: 10,193
I've run into a problem with some prototypes where I am using Silabs CP2102 USB to serial chips then through an isolation barrier and onto the Propeller. It just occurred to me that the Propeller IDE expects the serial interface to be in the form of an FTDI device and not anything else. Now there isn't anything wrong with FTDI devices now that they are a lot simpler to use just like the Silabs parts but isn't it a bit restrictive to have only FTDI USB ports, what about standard PCI serial ports or other USB interfaces?
In other words I am asking if the IDE can be updated to handle coms ports in the standard Windows manner or am I missing something?
*Peter*
P.S. I been quiet for awhile but I should be back in the Propeller saddle again soon.
In other words I am asking if the IDE can be updated to handle coms ports in the standard Windows manner or am I missing something?
*Peter*
P.S. I been quiet for awhile but I should be back in the Propeller saddle again soon.
Comments
Jim
Some other USB or other "Virtual" ports will probably also work.
See threads in the Basic STAMP or SX forums for discussions on why some other USB/Virtual port drivers don't work. Basically, the IDE and the Chips (Prop/SX/Stamp) require a fairly thorough implementation in terms of I/O control, handshaking and timing. Not all port emulations are created equal.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
Click here to see my Nomad Build Log
I've used several different FTDI-based adapters and a Keyspan High Speed adapter without problems.
SiLab's driver won't work with my computer (an Intel-based MacBook) under the MacOS.
Try Project_Propeller.exe
http://forums.parallax.com/forums/default.aspx?f=25&m=169705
See attached
www.parallax.com/dl/docs/prod/prop/PropStick-v1.2.pdf
its a propstick - std serial connection to program...
I have had a test circuit connected using a standard serial connection and a demoboard connection - when I decide to program (F10/F11) I just power up the circuit I want to program and the IDE finds it - no problems..
also read the following thread..
http://forums.parallax.com/showthread.php?p=631993
Post Edited (QuattroRS4) : 2/15/2007 10:01:33 PM GMT
I've been using the silabs parts for ages in different production items without any problems and so it is a common part in our inventory. The footprint of the silab's part is very small and I am able to squeeze this in most designs easily. Looks like I might have to add the ftdi part to any Propeller designs at least.
*Peter*
True, but these are commercial production designs where the usb port is part of the product but also required for programming the propeller. I think you would hate it if you bought a commercial product that needed a "special adapter" just to connect to the PC
Just to reiterate for the rest of you that haven't quite read the thread, I have some production protos that use Silab's CP2102s for the usb serial port (our standard part) and unfortunately the Propeller IDE won't recognize them, everything else will, but PropIDE, no. These are not toys to fiddle an interface with, I either get the PropIDE to function with these chips or I redesign with the ftdi chips. As these are early days it is not so bad, it just means more time and more money, but it has to be 100% before it goes to production.
*Peter*
Just to clarify - I have built multiple circuits to program the propeller using MAX232 drivers - similar to the layout of the propstick serial circuit - http://www.parallax.com/dl/docs/prod/prop/PropStick-v1.2.pdf
I have programmed the Prop through various USB to serial adapters and from a P.C (real) serial port without any issue ... My only query here is that you mentioned an 'isolation barrier' - assuming you built the circuit as shown and omitted the isolation barrier - does it work then ?
You'll note it's inverted and capacitively coupled.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
*Peter*
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
The fact that it is not even detected by the IDE despite different configurations indicates a bug of some sort in the IDE as many other coms programs work with the CP2102, not one of them failing to work. Also, this does not seem to be a timing/DTR problem as the other coms ports do not need to be connected for them to be detected and listed by the IDE.
Does this mean that the only USB chips supported by the IDE are FTDI's?
*Peter*
It does not - I have had various USB to serial devices detected by the IDE ... and no issues programming
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
'Necessity is the mother of invention'
Which USB to serial devices? I have found the CP2102 to be a very reliable and capable usb-serial device that I have used in commercial devices. This is the first instance of software not even detecting it.
As you might guess from the tone of my previous posts I am interested in the IDE working with the CP2102. There is an issue, it may not be your issue but it is an issue. The fault may be Silab's or it may be with the IDE and it needs to be recognized as an issue so that it can be addressed. If it turns out to be with the CP2102 driver then I can take it to Silab for their attention.
BTW Quattro, in English (at least) the question "Does this mean ..." is not an immediate question but a challenge for a solution, such as is employed in teaching. Answering "of course not" would lead to the next question "well, what about this then" and so on.
*Peter*
Keyspan USB to Serial
and a Belkin version
as well as the FTDI
with reference to your English tutorial -
I don't believe I said 'Of course not'. I stated a fact.
you asked:
'Does this mean that the only USB chips supported by the IDE are FTDI's?'
I answered:
It does not - I have had various USB to serial devices detected by the IDE ... and no issues programming.
- now supported with examples
I have now selected a gear !! (lol)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
'Necessity is the mother of invention'
I've been away for awhile and was just alerted to this thread.
For those that have read the thread above, you already know this, but just for an "official" word on the matter:· The Propeller Tool asks Windows for a list of COM ports before it downloads.· It doesn't care what the COM port is based on (FTDI, Standard, or not), it treats it like a serial port.
Some USB to Serial devices will not function with the Propeller, however, because some don't faithfully implement all the standard serial port features, namely: BREAK conditions... that seems to be a problem with some devices, but most are okay.
If the USB to Serial device is not seen by the Propeller Tool as an existing port, that is another problem.· I've heard of this happenening before, with a particular kind of USB to Serial device from Radio Shack, but upon purchasing that part and trying it out, it worked fine on my machine so I was not able to diagnose the issue.
Peter, perhaps you and I·can coordinate offline to find the source of your problem.· If a solution is found, we will update this thread.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin
· Sr. Software Engineer
· Parallax, Inc.
BTW, DTR doesn't even have to be handled as the Propeller tool is only looking for coms ports and then an appropriate boot response from the Propeller. It tickles the DTR and if you have the DTR detection circuit hooked-up it will reset the CPU. I have manually hit the reset on the Propeller at the same time as the Prop tool is connecting which shows you can do it without DTR. On Remy Blank's Loader.py I have added RTS as a reset control in addition to DTR as some of my USB2SER cables only use RTS/CTS and not DTR.
*Peter*
······· the basic stamp or the Prop IDE they will NOT see the port given!· WHY!
·· Dennis
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://people.delphiforums.com/cocokiwi/Image/picture.jpg
-- Remy
I'm a Stamp user, not quite ready for the Propeller, but I was wondering, is it an absolute requirement for your project to be able to program through the Silabs implemented serial port?· Or does your project just require USB serial communications (which already seem to work)?·
Since serial comms don't require the DTR lines and·seem to work no matter what chipset or adapter, I use a Parallax adapter to program on one computer and a second adapter (and computer) for my project's interface.· This way I can see what my project's output is, while adjusting the program in real-time.· Using the two serial ports has saved me a lot of aggrevation!
I hope this helps!
I have a couple of the small mini USB to serial which I have found do NOT work with the Basic stamp or the IDE program they are seen with the MTTY program
But when hooked to the stamp or IDE the COM port is NOT seen at all even though it is listed in windows,they skip the com port as if it does not exist but works fine if a FTDI chip version is used.
Cheers Dennis
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://people.delphiforums.com/cocokiwi/Image/picture.jpg
I actually used the serial.setRTS() method next to the serial.setDTR() method in you Loader.py. I suppose I could add the extra parser.add.option for it to read the option from the command line. I'm not a Python programmer but it looks very easy to work with.
*Peter*
Attached is a zip file containing two "test" programs for displaying what COM ports are available.· Please run them both and tell me if they respond differently.· The first one (EnumerateCOMPorts_v1.1.exe) contains the API calls that are currently in the Propeller Tool and the Stamp Editor for enumerating the available COM ports.· The second one (EnumerateCOMPorts_v1.2.exe) contains a slight enhancement to the same API calls which may rectify this situation.
IE:· The first one may not list the desired USB-to-Serial port when you click the "Get COM Ports" button, but hopefully the second one does.
Also, please indicate if there are any other issues you note (like ports listing that you don't actually have, or items that are not really COM ports, etc).· BTW: The change I made goes against Microsoft's example of how to do this, which tells me that some USB-to-Serial port driver·manufacturers are not following the standard way of doing things... but perhaps we can safely work around that.
If the others that reported the same problem with other USB-to-Serial devices could try the same tests and report your results here (screenshots appreciated), I would be very thankful.
Thanks.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin
· Sr. Software Engineer
· Parallax, Inc.
The first version listed everything except the CP2102 port whereas the second ran successfully as is shown below.
So I think you are on the right track with this as the Propeller tool does not detect the CP2102 coms ports at all at present.
*Peter*
That's great news!
Anyone else have a chance to try it out?
If it doesn't look like it has bad side effects, I'll wrap it into the Propeller Tool and the Stamp Editor and release a new version immediately.
Thanks, Peter, for taking the time to test it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin
· Sr. Software Engineer
· Parallax, Inc.
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters
Southern Illinois University Carbondale, Electronic Systems Technologies
A cheap none name product, don't know what sort of chip they use and
a development board from silicon labs, containing the CP2101.
The first program shows:
Prolific USB-to-Serial Comm Port (COM19)
The second one shows:
Communications Port (COM1)
Prolific USB-to-Serial Comm Port (COM19)
CP210x USB to UART Bridge Controller (COM16)
Seems that the first one does not even detect the integrated COM port of
my DELL Latitude D800 notebook.
-Karl