bluetooth stack + api, sdk - JAM, MDA Compact, S100 General

i'm looking for a sdk or api for the bluetooth stack on the magician. I'm planning on writing a tool that will enable some much needed stuff on wireless headsets (caller id and other stuff)
but i do need that api to do stuff, as i can't really find any info on the handling of the protocols and profiles

Justice Strike said:
i'm looking for a sdk or api for the bluetooth stack on the magician. I'm planning on writing a tool that will enable some much needed stuff on wireless headsets (caller id and other stuff)
but i do need that api to do stuff, as i can't really find any info on the handling of the protocols and profiles
Click to expand...
Click to collapse
I do not know if it can help you but this is a free compact framework library with many Bluetooth oriented classes
http://32feet.net/library/

i've seen it, it's seriously underdocumented. their is only the name of a specific function, but no explanation about it.

Hey,
the bluetooth stack on the magician is from microsoft. There are several commercial and non-commercial bluetooth API`s around. Commercial for example: www.franson.com. Non- Commercial: search for Peter Foot on Google.
Later,
sojakim

Related

Bluetooth Programming Help

i know this is not an approriate place to post this, but i really need ur help guys, does anone have any idea on how to create bluetooth ready applications using microsoft's .net , for example: creating software that can access a bluetooth usb module.
any help , refrences , books , articles would be helpful
I dont think you can access the Bluetooth stack using managed code, but could try using the Bluetooth api http://msdn.microsoft.com/library/d...-us/guide_ppc/htm/ppc_bluetooth_api__amdi.asp for ppc. The OpenNETCF did have support/having support for bluetooth in v1.1 which was released on May17th but it doesnt seem to be in the help library.
Luke Smith
http://www.luke-smith.co.uk

Program that plays all PDA sounds via bluetooth headset

What't the free program that routes all the PDA sounds via the handsfree/headset profile of a bluetooth headset?
There are various, but VJVolubilis will do it within hardware limitations. I don't think the Magician permits this, from my findings. Typically it's only WM5 devices or non-MS bluetooth stacks that allow it. Although if you find otherwise, let me know and I'll incorporate it.
V
vijay555 said:
There are various, but VJVolubilis will do it within hardware limitations. I don't think the Magician permits this, from my findings. Typically it's only WM5 devices or non-MS bluetooth stacks that allow it. Although if you find otherwise, let me know and I'll incorporate it.
V
Click to expand...
Click to collapse
Vijay,
Can you not write one?
http://www.howardforums.com/showthread.php?t=772614&
That one doesn't work with the Magician.
27 - you may have misunderstood. I did write one, VJVolubilis. It permits slightly more control then the app linked to in the HowardForums post, although it's made from the same information publicised in the MSDN blog, so it does the same and a bit more. However, the limitation is down to the Microsoft bluetooth stack and their implementation of the audio gateway in WM2003.
"VJvolubilis -agon" will try to direct audio to headset, if your system is compatible.
V
vijay555 said:
27 - you may have misunderstood. I did write one, VJVolubilis. It permits slightly more control then the app linked to in the HowardForums post, although it's made from the same information publicised in the MSDN blog, so it does the same and a bit more. However, the limitation is down to the Microsoft bluetooth stack and their implementation of the audio gateway in WM2003.
"VJvolubilis -agon" will try to direct audio to headset, if your system is compatible.
V
Click to expand...
Click to collapse
So, does your program work on the Magician?
27 - unfortunately no, it doesn't work on the Magician as I said. In fact, I don't think it works on any WM2003 device AFAIK, but as I said, it's based on the same code as the other app, which was provided by a Microsoft guy.
There may be special secret ways to enable it, since I believe that this is possible with other bluetooth stacks, but it doesn't seem to be possible with the standard Microsoft stack.
The BluePlayer app that is available on the board apparently redirects all audio to bluetooth (stereo) headsets. If this works on the Magician, this might be another way to try it.
V
vijay555 said:
27 - unfortunately no, it doesn't work on the Magician as I said. In fact, I don't think it works on any WM2003 device AFAIK, but as I said, it's based on the same code as the other app, which was provided by a Microsoft guy.
There may be special secret ways to enable it, since I believe that this is possible with other bluetooth stacks, but it doesn't seem to be possible with the standard Microsoft stack.
The BluePlayer app that is available on the board apparently redirects all audio to bluetooth (stereo) headsets. If this works on the Magician, this might be another way to try it.
V
Click to expand...
Click to collapse
It needs to redirect to a mono kit. This is the purpose
http://www.howardforums.com/showthread.php?t=899607

HOWTO: programmatically determine BT device type

hi all,
When I use comm manager in my PDA to scan for bluetooth devices it can detect the BT device type and shows different icons for PDAs, phones or workstations.
I want to implement this capability in my BT program, anyone knows how to do this or have some tips or links or anything useful????? I use eVC++ 4.0, 2003se sdk.
Thaaaaaaaaaaaaaaaaaaaaaanks alot
Mohammad
look for WSALookupServiceBegin
tons of lines of code

Widcomm stack for Hermes development thread

Hellow all, as noticed in the thread
http://forum.xda-developers.com/showthread.php?t=284329
we have pledged to ghather some 500$ and give it to some developer/hacker that is willing to port for us the latest version of the Widcomm stack for the Hermes. The reason for this is basically that the MS one simply has way too many bugs and lacks a lot of functionality.
I have contacted mikelspikel from aximsite and he agreed to try and help us. This will be the thread where we will discuss the porting efforts.
I will begin by posting mikelspikel's message :
"Hi!
I'd be delighted if I could help you but it's very difficult without having a device to test. I can give you some guidelines for you to test. You'll need a registry editor such as Resco Explorer registry add-in.
The package we built is completely oriented to the X50 / X51, but maybe it can be adapted to work with other devices easily, so I'd start installing our package. But be careful! Do it only if you don't mind having to hard-reset your device! You'll probaly need to.
The first thing we must make work is the communication between the main processor and the BT chip. This is done through a serial port. In the Axim, this port in COM5 and it's referenced in the registry in [HKLM\Drivers\BuitIn\BTUart]. This driver can be different in other devices, but usually it isn't difficult to figure it out from a [HKLM\Drivers\BuitIn\] branch registry dump (you can send me a dump of this branch if you want me to have it a look). Once we have the correct COM port, we have to modify [HKLM\Software\Widcomm\BTConfig\SerialTransport]. In Axim, as the BT port is COM5, we have to set Device=COM and Port=5.
The BT chip of our device defaults to a baudrate of 115200 bps, so we set BaudRate=115200. With ShiftSpeed and ShiftCommand we increase the port speed after connecting at 115200. In order to test safely in your device, i'd delete or rename these two keys and i'd keep BaudRate at 115200.
These two settings (COM port and BaudRate) are the two that use to make the stack startup fail with the out of memory message.
Other keys key I'd change at the beginning of the test process are, in [HKLM\Software\Widcomm\BTConfig\General], I'd delete or rename RadioInitLibrary and RadioInitPostLoadScript.
It's important to know that there's a log where we can find sometimes useful information about what's going on. This log is located in registry too, in [HKLM\Software\Widcomm\BTConfig\Debug\Log].
I think this is enough to start the tests. Let me know your results or any question you have. I'll try to do my best to help you. You can use my email if you prefer (*******@gmail.com).
Greetings,
Mikel"
I edited the e-mail as i rahter we post all our findings in this thread in order to avoid spamming him
So whoever feels brave enough to do some testing, go right ahead. I'm unfortunetly still busy these days but i'll be dropping by from time to time to hopfully post my findings.
Once again a BIG BIG thank you to mikelspikel for helping us and let the testing BEGIN!
Adi
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
superdave said:
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
Click to expand...
Click to collapse
Cool, what version of the stack are you testing ?
Also, you can download the Widcomm for Win CE (aka mobile) SDK and tools at http://www.broadcom.com/products/bluetooth_sdk.php for free.(registration required)
Adi
Let the hacking begin...... mwuahahahahahahahahahahahaaaa.
Ok, im getting ahead of myself now but this is good news thus far.
I am using 1.7, the same as the axim version.
,Dave
jasjamming said:
this is good news thus far.
Click to expand...
Click to collapse
Good? I'd say it's great! And I don't even have a TyTN yet.
superdave said:
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
Click to expand...
Click to collapse
Is it possible to enable and disable Wdcomm bluetooth from commManager?
And it supports PAN profile, doesn't it?
great, looking forward in the progress of this hack.
Hi!
Glad of the progress so far! Superdave, are you interested in sharing your settings/progress?
In the Axim, one of the most difficult tasks was making HFP and HSP work. They need some vendor specific HCI commands to be sent to the BT chip (Texas Instruments BRF6150 in the Axim). Does anybody know which is the BT chip in the Hermes? Maybe we can get some info about HSP/HFP from the documentation of that chip.
BTW, Dave, have you tested BT and WiFi toghether? Does it work? That was another problem we found in the Axim. It requires some vendor specific commands too.
The Hermes uses the same BRF6150 chip.
Cool! Nice you see you here mikelspikel
Menneisyys said:
Cool! Nice you see you here mikelspikel
Click to expand...
Click to collapse
I meet you everywhere! How is this possible?
Sleuth255 said:
The Hermes uses the same BRF6150 chip.
Click to expand...
Click to collapse
That's very good! In Aximsite we got the proper HCI commands to enable WiFi and BT coexistence and audio routing to enable HFP/HSP in the BRF6150. If Superdave posts information about the state of his development, maybe we can use some of these commands to make HFP/HSP work.
Moreover, I developed a bts (Bluetooth Script) parser that can be used to get the responses from the BRF6150 when initialization commands are sent. For the Axim, we built a file called MkSpk100.bts that enables both coexistence and audio routing. Maybe this file can be used directly or slightly modified in the Hermes.
Superdave, did you start working with the Aximsite package or did you start from scratch? If the first is the case, could you please post what modifications you did to the original package?
Yeah, I started with the Axim package. Your script and dll mods do connect the HS but audio is not routing. The only mods needed to get the axim package installing is to remove the ms stack and change the com port to 7 the baud to 921600 and flow to 0, I also removed the shifts. Also the stack uses com 7/8 by default for the serial ports, that needs to be changed to com0/8.
Im intersted in your bts parser and the mods you made. I see the mods you made in the dll, MOV R0, #0x79 to MOV, R0 #0x75 before the IO CTL, but, not sure exactly what your doing there yet.
Thanks,
Dave
Quickly tested the stack & the hack instructions on the Universal; no success so far, no matter how I teaked the parameters. I will also test this on my HTC Wizard.
Anyone with these devices?
superdave said:
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
Click to expand...
Click to collapse
Awesome dude!!
this sounds great guys so far. I wish I could contribute but my knowledge on software is fairly limited.
I myself am an electrical/electronics engineer with a PhD where I specialize in 3G-4G basaband hardware (microelectroncis). Soon we will see UWB (ultra wideband) communications on PDA's where we can stream HD video to our LCD TV's etc as well HD music to our digital receivers. Also, I have a student working on gyro's for PDA's where it will enable you to, for e.g., dial a number by just writing the number in thin air with the PDA (there are more benefits besides this)
Its good to see a device like the hermes offering so much, but from I know about bluetooth (having designed baseband components for bluetooth 1.1 back in the day (in 2001) ), I know it "shouldn't" operate the way M$ configures it to via its firmware/software.
So the progress made so far sounds excellent. Once all the profiles work and reg hacks made etc.... will this be made available in a CAB or EXE for us software "lay" people to install with ease?
Cheers and great work.
superdave said:
Yeah, I started with the Axim package. Your script and dll mods do connect the HS but audio is not routing. The only mods needed to get the axim package installing is to remove the ms stack and change the com port to 7 the baud to 921600 and flow to 0, I also removed the shifts. Also the stack uses com 7/8 by default for the serial ports, that needs to be changed to com0/8.
Im intersted in your bts parser and the mods you made. I see the mods you made in the dll, MOV R0, #0x79 to MOV, R0 #0x75 before the IO CTL, but, not sure exactly what your doing there yet.
Thanks,
Dave
Click to expand...
Click to collapse
Good! It's curious the BT chip works by default at 921600.
Well, the MkSpk_PCM_Routing.dll is, as you noticed, a modified version of the original HTC_PCM_Routing.dll. We were working with several versions of the files, some from an Axim X50 WM2003 and some from an iPaq hx4700.
In the X50 version, the file TIBinaryParser.dll has a function called SetAudioRouting. This function basically has a call to a DeviceIoControl of device WAV1. Running such a IOCTL from a C++ program mutes or activates the integrated audio of the Axim.
In the iPaq, the SetAudioRouting function is located in HTC_PCM_Routing.dll instead of in TIBinaryParser.dll. Moreover, the IOCTL has a different parameter (0x79 instead of 0x75), so we patched the original HTC_PCM_Routing.dll to be compatible with the IOCTL that works in the Axim. Have you tried with the original HTC_PCM_Routing.dll? You have to reference it in [HKLM\Software\WIDCOMM\Plugin\HandsFree\AudioSetupDll].
You should also check if the default audio device of the Hermes is called WAV1 too. If it isn't, the IOCTL won't work.
Maybe we can figure out the correct IOCTL building a C++ program. The code I used is:
Code:
HANDLE l_File;
char l_cmd[]={0,0,0,0,0x75,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd3[]={0,0,0,0,0x74,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd2[20];
DWORD l_br;
long l_res;
int i;
for (i=0;i<20;i++)
{
l_cmd2[i]=0;
}
l_File=CreateFile(_T("WAV1:"),GENERIC_READ | GENERIC_WRITE, 3, NULL,3,0,0);
if (l_File==0)
{
MessageBox(_T("Error opening WAV1:"));
return;
}
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(_T("IOCTL1 Error"));
return;
}
/* l_res=DeviceIoControl(l_File,0x1D000C,l_cmd3,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(_T("IOCTL2 Error"));
return;
}*/
If I remember OK, in the Axim, l_cmd mutes internal Audio and l_cmd3 enables it. The parameters we changed in the DLL were the 0x75 and 0x74 of these two buffers.
Find attached the BTS parser eVC++ 4 source code. It's a too quickly developed app to send bts files to the BT chip and trace the responses. You'll need to change some code, at least the comport the chip is connected to. Let me know if you need some help about it. The code is properly uncommented but it's very simple.
Hey Mikelspikel,
Thanks for your input to this project. It is greatly appreciated. I look forward to the progress made to a complete widcomm solution to the hermes..
great that you guys are working on this. the ms bluetooth is one of the largest fun killers with the hermes. thumbs up! and good luck for the patch...

Connecting WiiMote

Hi, I'm a student of IT. My final project is on remote monitoring of patients. One of the features is the detection of falls and I have to use two types of accelerometers (Witilt and WiiMote).
Market applications that use the Wiimote does not work in our i9000.
And my question is: Is it possible with the standard ROM to perform a program that connects to the Wiimote?
If so could someone guide me a little about how to start, or put some link where I can see the starting point for this part of my project?
If it is not possible, would appreciate an explanation of why this happens.
Thanks in advance
Nobody can help me? =)
Can't you just use the accelerometer and orientation sensors built into the phone? If you have to use the external hardware in conjunction with the phone I would say use an Arduino, which has a lot of Wiimote and Wiichuck interface code available, with a Bluetooth module to talk to the phone; look at the Amarino project for interface code.
Alternatively the wiimote IME developer had the problem with the SGS and HTC because they were using a native library as most phones didn't have Bluetooth HID support, and the Bluetooth native library didn't behave the same way on all phones. Because the SGS with Froyo has Bluetooth HID support you may be able to interface with the Wiimote at a higher level and avoid the native libraries, if you take care of its quirky pairing behavior, but you will have to do more work with the Wiimote low-level protocol, which is quite well documented.

Categories

Resources