IrCOMM working in NewtonScript
Good news: A previously dumb IrDA endpoint now knows all about TinyTP and IrCOMM. This is on the NewtonScript side of things, so if you now instantiate an IrDA endpoint, you can initiate an IrCOMM connection (notice that accepting IrCOMM connections is not done yet).
There are some things to note regarding the current implementation: If the code is active, all IrDA connections are IrCOMM connections. This will could get in the way of existing applications such as beaming. It is a bit difficult to anticipate when to use IrCOMM and when to use IrLMP (the Newton's default). For that reason, I will add a preference setting to turn on IrCOMM manually.
It is also possible to talk to another IrCOMM peer directly using the C++ interface. This is easier because it uses synchronous communication. I'll add a NewtonScript interface to these functions as well.
One big piece of the puzzle is however currently missing: how to make existing applications that use a plain serial connection (i.e. not IrDA) to use IrCOMM? I was hacking the NIE Modem/Serial support package a bit, changing the instantiation parameters from 'aser' (serial connection) to 'irda' (IrDA connection) and the physical location of the port from 'extr' (external port) to 'infr' (IR led). It didn't really do the job, but some parts of the IrCOMM code came already to life. Time to set some breakpoints and find out what's going on!