PDA

View Full Version : IDE only seems to use FTDI interface - why not standard coms ports?



Peter Jakacki
02-15-2007, 08:36 PM
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.

Jim Fouch
02-15-2007, 11:10 PM
I've been using the IDE with 2 seperate real COM ports on my desktop PC w/o problems. It also works with the· Prop Plug. On my laptop I've tried using 3rd party USB->RS232 converters w/o reliable results. But the one Parallax sells works 100% correctly.

Jim

John R.
02-15-2007, 11:16 PM
I've also used "std" COM ports and the FTDI stuff.

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 (http://share.crustcrawler.com/JohnR/)

Mike Green
02-16-2007, 12:12 AM
The IDE doesn't expect the COM ports to be FTDI or any other specific brand of VCP (virtual com port) or other serial port. The IDE does come with the FTDI drivers because Parallax sells FTDI-based adapters. As John R. mentioned, the IDE does expect a serial port that implements DTR (used for reset) and is careful about the timing of the serial stream since the IDE has fairly tight timing constraints on how the serial stream is delivered.

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.

Luis Digital
02-16-2007, 12:16 AM
Peter Jakacki said...
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.

I am interested in knowing if the problem is that its port was not detected or the Propeller.

Try Project_Propeller.exe

http://forums.parallax.com/forums/default.aspx?f=25&m=169705

QuattroRS4
02-16-2007, 05:55 AM
Peter,
See attached
www.parallax.com/dl/docs/prod/prop/PropStick-v1.2.pdf (http://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

Peter Jakacki
02-16-2007, 02:20 PM
Ok, it looks like it should work with the internal serial ports although the ide gets confused and locks up sometimes when a propeller isn't present which may be due to that virus program that Microslop sells. So the only problem I can see really is whether the IDE is able to work with the silabs parts. If it could then it would be nice otherwise I may look at a driver/loader myself or scrap these protos and redo them with ftdi chips.

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*

Forrest
02-16-2007, 05:29 PM
Well you don't have to incorporate the FTDI USB to serial part on your board at all. The Parallax Proto Board, the Propeller Education kit and the Propeller Robot Controller www.wulfden.org/PRC/index.shtml (http://www.wulfden.org/PRC/index.shtml) all are deisgned to use the FTDI based PropPlug programmers.

Peter Jakacki
02-16-2007, 09:53 PM
Forrest said...
Well you don't have to incorporate the FTDI USB to serial part on your board at all.


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 http://forums.parallax.com/images/smilies/nono.gif

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*

QuattroRS4
02-18-2007, 04:04 AM
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 ?

Paul Baker
02-18-2007, 06:51 AM
Peter, are you using the DTR line of the Silab part correctly? Look at the published schematic for the Prop Plug: http://www.parallax.com/dl/docs/prod/prop/32200-32201-PropClipPlug-v1.3.pdf

You'll note it's inverted and capacitively coupled.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Peter Jakacki
02-18-2007, 12:53 PM
Hi Paul, the problem seems to be that the ide does not recognize the CP2102 as a coms port even though it shows up in devmngt and works through TeraTerm. For the moment I have bridged P31,30 with an RS-232 port on the board and connected to this directly from the PC COM1. Even though I didn't hook up the DTR side as well I am still able to program the Prop by manually reseting at the same time I am downloading (Q&D).

*Peter*

Paul Baker
02-18-2007, 01:22 PM
To my knowledge the Tool treats it as a simple serial port, IOW no special device typing is done. The only thing I can think of is either the driver for the SiLab chip makes it somehow not look like a normal com port, or you have more than 2 COM ports, and you didn't implement the DTR correctly, so while it checks the COM line, it doesn't list it in it's dialog box (since it only will list a max of 2 COM ports even though all were checked).

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Peter Jakacki
02-19-2007, 05:47 AM
Paul, I have disabled all ports except the internal COM1 and the CP2102 on COM5. Hitting F7 for a scan results in only COM1 being detected and not COM5. The IDE never detects any CP2102 coms ports even though these are functioning correctly as coms ports with TeraTerm.

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*

QuattroRS4
02-19-2007, 06:01 AM
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'

Peter Jakacki
02-19-2007, 06:43 AM
Quattro, your engine's revving but you are still in neutral. http://forums.parallax.com/images/smilies/roll.gif

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*

QuattroRS4
02-19-2007, 06:56 AM
Prolific - USB-to-Serial Com Port
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'

Jeff Martin
03-06-2007, 06:26 AM
Hi,

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.

koft
03-06-2007, 01:52 PM
I'm using a Sipex sp3232ECP on my propeller setup ( did mine with the 40 pin dip on a bread board ) connected to COM1 on my pc and propeller tool works fine. If your stuff isn't working, it's probably because you are not handling DTR properly.

Peter Jakacki
03-06-2007, 02:07 PM
CP2102 is a USB to serial chip, not an RS-232 driver.

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*

koft
03-06-2007, 03:27 PM
That clears up some design questions I've been wondering about. Thanks for the tips Peter.

cocokiwi
03-06-2007, 03:53 PM
Peter Jakacki said...
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.
········· I have the Same problem! i have a couple of CP2102 devices, mini USB connection! Both work fine with their driver,but when one tries to use it with either

······· 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 Blank
03-06-2007, 03:55 PM
Peter Jakacki said...
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.

Configurable on the command-line? Would you mind sending a patch? http://forums.parallax.com/images/smilies/smile.gif

-- Remy

Desy2820
03-06-2007, 04:08 PM
Peter,

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!

cocokiwi
03-06-2007, 04:09 PM
Jeff Martin (Parallax) said...

Hi,

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,
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

Peter Jakacki
03-06-2007, 04:33 PM
Remy Blank said...

Peter Jakacki said...
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.

Configurable on the command-line? Would you mind sending a patch? http://forums.parallax.com/images/smilies/smile.gif

-- Remy


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*

Jeff Martin
03-08-2007, 10:24 AM
Hi 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.

Peter Jakacki
03-08-2007, 10:39 AM
Hi Jeff,

The first version listed everything except the CP2102 port whereas the second ran successfully as is shown below.



Communications Port (COM1)
Communications Port (COM2)
USB Serial Port (COM8)
PCI Serial Port (COM3)
PCI Serial Port (COM4)
CP210x USB to UART Bridge Controller (COM6)



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*

Jeff Martin
03-08-2007, 01:19 PM
Hi 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 Hebel
03-08-2007, 01:25 PM
I don't have the CP210x for programming the propeller, but I do have one as a USB interface for an XBee, and I can confirm Peter's findings in that the 1.1 version shows only com 1 and 1.2 shows COM 1 and CP210x USB to UART Bridge Controller (COM14).

-Martin

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters (http://www.selmaware.com/)
Southern Illinois University Carbondale, Electronic Systems Technologies (http://www.siu.edu/~isat/est)

Kloss
03-08-2007, 06:45 PM
Tried this with 2 different USB2RS232 converters connected to my PC.
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

Mike Cook
03-08-2007, 08:17 PM
EnumerateCOMPorts_v1.2.exe detects my Digi·Edge Port/4 USB to serial converter (http://www.digi.com/products/usb/edgeport.jsp), but EnumerateCOMPorts_v1.1.exe does not.

http://forums.parallax.com/attachment.php?attachmentid=45779·· http://forums.parallax.com/attachment.php?attachmentid=45780

COM1 = Built in Serial Port on my Dell GX-280
COM13 = Propeller Plug
COM8 = FTDI USB to Serial converter

Can we also have this change made for the SX-Key IDE v3.2.3? Or will PeterM (PJMonty)·have to make this change? Here's a link to were it was reported as a problem in the SX-Key v3.2.3 IDE software:

http://forums.parallax.com/showthread.php?p=609128


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike (http://www.allsurplus.net/)

Post Edited (Mike Cook) : 3/8/2007 12:47:47 PM GMT

Jeff Martin
03-09-2007, 12:57 AM
Fantastic Everyone!

Thanks for the testing and the screenshot/data.· I will update the Stamp Editor and Propeller Tool, and ask the associated developer's to update the Oscilloscope and SX-Key software as well (They are all·using my EnumerateCOMPorts routine, I believe).

Thanks!

I'll post a message here when the updates are ready for download.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Stan671
03-09-2007, 08:33 AM
WOW!!

Prior to 3/5: Customers complain about COM port identification problems.

3/5: Senior·Software Engineer·returns·to work·and is alerted to the problem.

3/7:·Senior Software Engineer posts test utility·for customers to try.

3/7 and 3/8: Customers report results of tests.

3/8: Senior Software Engineer announces problem fix will be incorporated into the next versions of several software packages to be available soon.

Now, THAT is CUSTOMER SERVICE!!!

Parallax ... YOU GUYS ARE THE BEST!!!!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Stan Dobrowski

Kloss
03-09-2007, 08:19 PM
Jeff,

be carefull.
I just noticed that the integrated COM1 port, that the 1st routine doesn't detect
has an exclamation mark behind it. This is due to an interrupt conflict with
my docking station.
It may be that the 2nd routine just detects all available ports, regardless of
their status. This may lead to a long delay, if a PC has several deactivated
or otherwise not available com ports.

- Karl

Jeff Martin
03-10-2007, 01:16 AM
Hi Karl,

Ugh.· You may be right, that may cause a bad problem.· Unfortunately, I don't have any machines here experiencing this problem and I could create it, but am not confident that the results will be conclusive.·

I think the best thing to do is for you to try it on your machine when I post the new Propeller Tool.

I'll post it here, shortly.



Hi Stan,

Thanks for the compliments!· Appreciation, like yours, for the things we can fix, is sure nice to hear.· In the face of Windows' ever-moving target, writing software that runs correctly on all systems can be a horrific task.· For this reason, I sure do love programming on the Propeller! ;-)· The Propeller makes WORK feel like PLAY. :-)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Jeff Martin
03-10-2007, 01:49 AM
Hi All,

Well, in light of what Karl found, I'm not so confident this is the best solution now, but here it is, attached,·for you all to try.· Please reply back with more results (did it work, did it fail, did it have trouble with a listed port that has a hardware conflict?).

This version, 1.05.4, includes the following:

· 1) Rolled an enhancement to the COM port enumeration method into the communication routines.· This should now allow the tool to see the occasional COM port device that it did not detect before.· (See Karl's note about a potential problem with this).

· 2) Added an item to preferences.· Edit->Preferences... Operation tab.· Download section now has an option for the Propeller's Reset Signal to be set to DTR (the default), RTS (for those USB-to-Serial devices that do not have a DTR signal), or both DTR and RTS.· I chose to make this an option rather than·fixing it to toggle both DTR and RTS for everyone, on every machine, fearing that doing so·may lead to unexpected problems with other existing devices that may be attached to those machines... and from what we've seen, most USB-to-Serial devices include the standard DTR signal.

Note: The attachement includes only the Propeller Tool itself (no other files) due to attachment size constraints on this forum.· Depending on the results of your testing, I will wrap this up into the installer and release soon.

Thanks!


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Post Edited (Jeff Martin (Parallax)) : 3/9/2007 5:53:44 PM GMT

Mike Cook
03-10-2007, 07:13 AM
Jeff

The Propeller Tool that you attached in this thread works flawlessly with my Digi EdgePort/4 USB to serial box. I only tried COM3 on the box but I will try COM4..COM6 later tonight, I don't expect that there will be any issues.

Note: I did have to reboot the PC (Del GX-280 XP SP2) before it would work though. Before rebooting when I would do a F7 to identify, the Propeller tool would hang on 'looking at' COM3 and then the Propeller Tool would exit. However rebooting the PC solved this issue, now it will detect, program RAM/ROM using COM3 on the Digi EdgePort/4 USB to Serial box.

Thanks!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike (http://www.allsurplus.net/)

Peter Jakacki
03-10-2007, 09:36 AM
Thanks Jeff, even though there are perhaps some issues with detecting disabled ports the software worked beautifully. I have attached screen captures:-



v1com ; V1 enumerator
v2com ; V2 enumerator
f7com ; What the Propeller tools sees (I have disabled the DTR on COM4)
devman ; My setup (notice that I disabled COM3 & COM4)




The propeller is attached to COM4 and unless I hold down it's BOOTEN button it won't reset with a DTR signal so you can see from f7com.jpg what the Propeller tool is seeing. Interestingly it says it is unable to open COM3 being the disabled port which does not seem to present itself as a problem. The CP2102 connected Propeller ended up being enumerated to COM4 which is also a disabled PCI comport but that did not cause any problems either.

I haven't tested the RTS signal yet but I will get back to you soon with more exhaustive tests results. Thanks again for your willing support and feedback, and not to be forgotten speedy turn-around. Good work!

*Peter*

cocokiwi
03-10-2007, 10:08 AM
Jeff Martin (Parallax) said...

Hi 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,
······· I checked both of your programs also!· PGM 1.1·nothing!· PGM1. 2·· picked it·up!

·Using Mtty.exe earlier when I was trying to figure this out I found that the status line was different,with the Usbtoser ALL status boxes had ticks with the other only the CTS·shows a tick. Both with the Same setting!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://people.delphiforums.com/cocokiwi/Image/picture.jpg

Post Edited (cocokiwi) : 3/10/2007 2:21:32 AM GMT

Oliver H. Bailey
03-10-2007, 10:17 AM
Peter,
I am using the Propeller successfully with standard COM ports, Silabs CP2102 and CP2103, and Prolific USB-RS232. I haven't had a problem with any of these products at all.

Regards,
Oliver

cocokiwi
03-10-2007, 10:17 AM
Jeff Martin (Parallax) said...

Hi All,

Well, in light of what Karl found, I'm not so confident this is the best solution now, but here it is, attached,·for you all to try.· Please reply back with more results (did it work, did it fail, did it have trouble with a listed port that has a hardware conflict?).

This version, 1.05.4, includes the following:

· 1) Rolled an enhancement to the COM port enumeration method into the communication routines.· This should now allow the tool to see the occasional COM port device that it did not detect before.· (See Karl's note about a potential problem with this).

· 2) Added an item to preferences.· Edit->Preferences... Operation tab.· Download section now has an option for the Propeller's Reset Signal to be set to DTR (the default), RTS (for those USB-to-Serial devices that do not have a DTR signal), or both DTR and RTS.· I chose to make this an option rather than·fixing it to toggle both DTR and RTS for everyone, on every machine, fearing that doing so·may lead to unexpected problems with other existing devices that may be attached to those machines... and from what we've seen, most USB-to-Serial devices include the standard DTR signal.

Note: The attachement includes only the Propeller Tool itself (no other files) due to attachment size constraints on this forum.· Depending on the results of your testing, I will wrap this up into the installer and release soon.

Thanks!



http://forums.parallax.com/images/smilies/freaked.gif· it worked!!!http://forums.parallax.com/images/smilies/jumpin.gif···· now to get it to run(grin)

Cheers Dennis

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://people.delphiforums.com/cocokiwi/Image/picture.jpg

Jeff Martin
03-14-2007, 01:43 AM
Mike Cook said...

Jeff

Note: I did have to reboot the PC (Del GX-280 XP SP2) before it would work though. Before rebooting when I would do a F7 to identify, the Propeller tool would hang on 'looking at' COM3 and then the Propeller Tool would exit. However rebooting the PC solved this issue, now it will detect, program RAM/ROM using COM3 on the Digi EdgePort/4 USB to Serial box.


Mike,
Had you·just installed the Digi EdgePort device before trying the Propeller Tool?· Have you since had any problems with it?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Post Edited (Jeff Martin (Parallax)) : 3/13/2007 5:53:30 PM GMT

Jeff Martin
03-14-2007, 01:49 AM
Peter Jakacki said...
Thanks Jeff, even though there are perhaps some issues with detecting disabled ports the software worked beautifully. I have attached screen captures:-

The propeller is attached to COM4 and unless I hold down it's BOOTEN button it won't reset with a DTR signal so you can see from f7com.jpg what the Propeller tool is seeing. Interestingly it says it is unable to open COM3 being the disabled port which does not seem to present itself as a problem. The CP2102 connected Propeller ended up being enumerated to COM4 which is also a disabled PCI comport but that did not cause any problems either.

Hi Peter,
That's an unfortunate side effect... the disabled ports show up.· I'm surprised that it didn't report that it couldn't open the original COM4.· Either way, to make things more clear, you can go into devman's properties for each port and reassign the ID for each, so that you don't have duplicates of the same number (so the status message from the Propeller Tool makes more sense).

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Jeff Martin
03-14-2007, 01:51 AM
Oliver H. Bailey said...
Peter,
I am using the Propeller successfully with standard COM ports, Silabs CP2102 and CP2103, and Prolific USB-RS232. I haven't had a problem with any of these products at all.

Regards,
Oliver
Hi Oliver,
What are you doing differently?· Different drivers?· Different OS?· How can you get the CP2102 to work when it doesn't have a DTR signal?· Please advise.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Jeff Martin
03-14-2007, 01:53 AM
cocokiwi said...

http://forums.parallax.com/images/smilies/freaked.gif· it worked!!!http://forums.parallax.com/images/smilies/jumpin.gif···· now to get it to run(grin)

Cheers Dennis

Yea!· Thanks Dennis.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Mike Cook
03-14-2007, 01:54 AM
The Digi EdgePort/4 was already installed (years ago - 03/16/05), and the drivers were updated recently (a few weeks ago - some time in February), before I installed the Propeller Tool, attached in this thread. After installing the Propeller tool, attached in this thread, and before rebooting, that's when the Propeller Tool 'hung' for a few seconds looking at COM3 and then the Propeller Tool would exit by it's self. After I rebooted the PC (DELL GX-280 XPPro SP2) then all was ok.

BTY: I've used this Digi EdgePort/4 will all of Parallax's software before the enumeration enhancement was added to the Stamp or SX-Key software, and have not had any issues with it until the first release of the Propeller Tool and v3.2.3 of the SX-Key software. Also works with the Java IDE, but I believe Parallax has not updated that tool.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike (http://www.allsurplus.net/)

Jeff Martin
03-16-2007, 07:40 AM
Hi again,

The fact that the last "fix" I made has the side-effect of listing every port, including malfunctioning and disabled ports, really bugs me.

I've been doing some more research and found what I think is a better solution now.


!!!!·Peter, Karl, Mike, Dennis, and Martin (and anyone else also) !!!!

If you could download the attachment, run all three versions on your system, and post screenshots of each·(noting the version)·and describe your results, that would be very, very helpful.· The attachment contains v1.1, v1.2, and v1.3 of the EnumerateCOMPorts program.· The first two are exactly as they were the previous time I posted them.

v1.3, I'm hoping, will list all ports that are functioning, and none that are not.· (fingers crossed).· At least that's how it works on my system... but I don't have the silabs or any other usb-to-serial device that didn't show up in the v1.1 version.

Thanks everybody!



▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.

Mike Cook
03-16-2007, 11:02 AM
Jeff,

Just ran all three. The 'better way' of doing it (EnumerateCOMPorts_v1.3.exe) NOW DOES NOT DETECT the Digi EdgePort/4 USB to Serial converter box. The Propeller Tool v1.05.4 works flawlessly with the Digi EdgePort/4 USB to Serial converter box. I prefer the method of EnumerateCOMPorts_v1.2.exe, even though it will detect COM ports that may be improperly installed, for whatever reason.

I hope Parallax will not penalize us folks who know how to install hardware on or PC's and can make it work. I think it's really up to the end user to be responsible enough to make sure that all of their hardware, installed on their PC, is operational.

I would be happy with a check box, in the Propeller IDE, that will allow the functionality that EnumerateCOMPorts_v1.2.exe provides. Parallax can even put a disclaimer in that basically states: If you use this option your on your own for tech support.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike (http://www.allsurplus.net/)

Post Edited (Mike Cook) : 3/16/2007 3:14:18 AM GMT

Peter Jakacki
03-16-2007, 03:12 PM
Jeff,

I would tend to agree with Mike, I just hate software that insists something that you know is false. When it insists that there aren't any serial ports there even though you have been using them then there is something wrong with the method. Sure Microsoft should know but that's like saying the phone company should know whether you can get adsl in your street, I can choose from ten different versions from ten different people there.

The results are in.



METHOD 1
Communications Port (COM1)
Communications Port (COM2)

METHOD 2
Communications Port (COM1)
Communications Port (COM2)
PCI Serial Port (COM3)
PCI Serial Port (COM4)
CP210x USB to UART Bridge Controller (COM7)

METHOD 3
Communications Port (COM1)
Communications Port (COM2)
CP210x USB to UART Bridge Controller (COM7)




So method 3 worked correctly for me as COM3 and COM4 are disabled. The slightly annoying thing about Silabs USB is that they all have the same serial number and if I plug a new one in it will probably enumerate to COM3. Windows just hates (guess what that means) more than one of these devices if they all have the same serial number. I have a utility that allows me to modify the chip ids so I can have multiple devices connected, but it's a pain, so maybe I'll just use ftdi as they all have unique serial numbers.

Thanks again for the patch, I can live with it.

*Peter*

Jeff Martin
03-21-2007, 03:41 AM
Hi,

Just wanted you to know that I've wrapped up the version I made for you (with the v1.2 Enum... fix) plus a compiler fix we needed to make, into v1.05.5, which is now posted on our website.

Thanks for your help, everyone!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.