At 12:30 PM +0200 2001/09/18, Henrik Dalgaard wrote:
>If this is the only problem, then I could get the idea that I could just set
>bit 5 - Infrared Enable in the UART 2 Miscellaneous Register at 0x(FF)FFF918
>instead of calling SerControl with serCtlIrDAEnable. Of course this action
>will only be called under PalmOS 4.0.0.
>
>I have tried this (also on UART1) to see if it worked, but without luck.
>Is there more involved in enabling IrDA?

Yes, much more.

To enable IrDA communication, you have to disable the cradle port serial line driver, 
switch the output of the UART to the IrDA transceiver, put the UART into IrDA mode, 
and set the correct IrDA pulse width (if memory serves I believe it's 1.6uS but don't 
just take my word on that value). Then to disable IrDA communication, you have to 
disable IrDA mode on the UART, switch it back to the cradle port, and re-enable the 
cradle port serial line driver. Note the order for both operations is important.

I cannot guarantee that circumventing the serial driver plug-in entirely for these 
selectors will work correctly if at all, because the plug-in's internal state 
variables won't match the actual hardware values. Perhaps a better approach would be 
to access the plug-in's API and send it the vdrvOpCodeEnableIRDA and 
vdrvOpCodeDisableIRDA selectors directly(?) Even better, lobby Palm to release our 
already-developed but internal-only 4.0.1 System Update.

Regards,

Jim Schram
Palm Incorporated
Partner Engineering


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to