Hi,
I'm trying to use a Spark Fun WiTilt (essentially a 3D accelerometer attached to a bluetooth radio, see http://www.sparkfun.com/commerce/product_info.php?products_id=254) with PD 0.39.2extended-test4 on win XP.
I know the device is connected and sending because I can see the correct output if I connect to the device with hyperterminal.
My device is on com port 12. If I try
[comport 12 9600]
I get the error: "[comport] invalid handle for COM".
Is there any reason why comport should not see the port, when hyperterminal can?
Cheers,
Hallo, Martin Dupras hat gesagt: // Martin Dupras wrote:
You may need to recompile comport or use a different port: As default it only accepts up to 8 comports.
Therse is this in comport.c:
#define COMPORT_MAX 8 static char *sys_com_port[COMPORT_MAX] = { "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8" };
which you can try to change to something like:
#define COMPORT_MAX 12 static char *sys_com_port[COMPORT_MAX] = { "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8" "COM9", "COM10", "COM11", "COM12" };
but I just guessed this, so no guarantees.
Frank Barknecht _ ______footils.org_ __goto10.org__
Hallo, Martin Peach hat gesagt: // Martin Peach wrote:
Ah, true: I just cvs up'd and now I have the changed code as well. So Martin D. may just want to compile the newest version, too, instead of editing the old code as I suggested.
Frank Barknecht _ ______footils.org_ __goto10.org__
Well, Frank seems to be right. I have 0.39.2extended-test4.exe on XP; I have changed the actual com number by doing
control panel->system->device manager->bluetooth devices and changing the com number for my device to com 2.
That seems to work fine.
I have always wondered why these limitations are put in place? Why limit things like that? Surely the memory usage difference is minimal in comparison with the hassle that arises from hitting the limitations? Or am I missing something?
Thanks for the help. I don't think I would have been close to a solution without it.
On 04/08/06, Martin Peach martin.peach@sympatico.ca wrote:
Martin Dupras wrote:
I don't know. It probably started with the list of names being too boring to type after COM8 , and then got changed to an apparently arbitrary maximum of 99. I suppose ideally the code should find out from the OS how many serial ports are actually available on the system and use those and only those. This approach takes more time to code than just setting the arbitrary limit (and it will be different code for each OS). The easiest is to not have a limit but experience teaches that there are usually one or more values that will crash the program. In the past checking for the existence of a serial port involved accessing memory at its presumed address, which could cause another device at that location to malfunction. A quick check on MSDN shows no obvious way in Windows to find a list of serial devices without trying each and every one, which starts to take too much time beyond a few hundred...
Martin