| Bluetooth
Developer FAQs Updated 11/1/04 |
||
|
Take a look at the .Net Architecture Review. |
||
|
We know, it is pretty confusing (see our Compiler Page). The main thing to know is that our BTAccess products only work with particular versions of the Widcomm stack (we do not support any other stack such as the one from Socket Communications, Digicomm, or even Microsoft). If you have one of the Widcomm stack versions we support, no matter what the model number or brand of your PDA, BTAccess will probably work. As of today it works like this: Widcomm v1.2 requires BTAccess Classic Widcomm v1.3 on PocketPC 2002 requires BTAccess54 Widcomm v1.4 on PocketPC 2002 (a ROM upgrade) requires a special build we call "BTAccess54 for PPC02" Widcomm v1.4 and up to v1.5 Build 2000 on PocketPC 2003 ("Windows Mobile") requires BTAccess Mobile Widcomm v1.5 Build 2000 and later requires a special version of BTAccess Mobile called our "4700" version (because this stack first started appearing on the iPAQ h4700 PDA). Widcomm v1.6 and later runs only on Windows Mobile 5 with .Net Compact Framework v2.0, and requires our BTAccessMobile v3.0 ("BTAccessWM5"). As new versions of the Widcomm stack come out, we will create a version of BTAccess that works with it if necessary (for example, v1.5 came out in September 2004 and BTAccess did not require any changes). |
||
|
We are strongly considering making equivalent versions of BTAccess that work on top of Microsoft's PocketPC bluetooth stack, Microsoft's desktop bluetooth stack, and Widcomm's desktop bluetooth stack. We are also looking at building a BTAccess for SmartPhone devices. |
||
|
Read the sad story of radio control. |
||
|
See this short article on using the CE Event Notification API. |
||
|
The various Connect methods work in 2 steps. Step 1 is to call something like SPPConnect. You will get an immediate return code like BT_OK or BT_SVC_NOT_SUPPORTED that indicates whether the operation has "started" or not. Just because you get BT_OK does NOT mean the connection has been finalized. For example, the other device may pop up a message to its user to authorize your connection request. Step 2 is that a few seconds later you will get a ConnStatus event (in .Net) or a BTMSG_CONNECTION_STATUS message (in C++) that tells you whether the connection was finally successful or not. If you issue the CreateFile call after Step 1, there is no connection yet. The stack will notice this and "helpfully" pop up its user interface so the user can select a device to connect to. You must wait until Step 2 before calling CreateFile. Then the stack (really, its virtual comport driver software) will know there's already a connection for this port and skip the user prompt screen. |
||
|
Probably not! You'll most likely have to rebuild your application with the newer C++ compiler from Microsoft (embedded Visual C++ 4.0). Check out our Compiler Info page here. |
||
|
Yes, so-called "legacy" applications can use the Bluetooth wireless links as long as the user can configure the application to use the special COM7: or COM8: "virtual Bluetooth" ports. The COM7: port is for accepting "inbound" serial connections, and COM8: is for initiating "outbound" serial connections. The only difference between the two is which device initiates the serial connection over Bluetooth. If you initiate the connection, use COM8:. If some other device connects to you, use COM7:. In either case the one port is used for normal serial communications in both directions. In fact you can write a brand new "legacy application" to use the serial port (either in C++ or in eVB) and the app will work wirelessly over Bluetooth. |
||
|
Check out source code examples in eVC++ and eVB.
|
||
|
|