i bought your bluetooth module and had some questions / problems during my first steps:
(i earlier, but some years ago, developed a bluetooth stack (my task was HCI and OBEX) which was commercially sold, so i think i am not just a beginner in bluetooth…)
I see there is a master mode and a slave mode.
According to page 5 of documentation (4/21/2010), client means slave, server means master.
I understand and agree that the one who builds up the bluetooth connection is a master. But why is it a server ? Isn’t it that a client builds up the connection to the server ?
But this is only a detail for understanding.
As i understood from page 6 a slave can disable / enable been inquired by +INQ=x. So this means this affects “inquiry mode” of the bluetooth module.
Is it activated endless or are there conditions (time or when a connection is established), when it is switched off ?
Does this simultaneous activate pageable mode ? Or is pageable mode always on ?
When doing +INQ=1 as master, i search for other devices. Do i search for multiple devices or always only for one device ? Endless or via timeout ?
If timeout, how big is it ? Are same devices reported multiple times during my search or only once ?
I played a bit to build up a connection from Samsung Galaxy I9000 (Android 2.1, not yet Froyo Android 2.2). I was not able to find the bluetooth module.
What i have done: Switched to slave mode (+STWMOD=0) and enabled inquiry mode (+INQ=1).
Does the module offer a standard SPP or something proprietary ? I don’t know if Android searches only for other devices or also checks
for supported profiles. Perhaps SPP was not searched by Android…
How do i recognize if commands were successful / failed or were stopped because of a timeout ?
E.g. if i build up a connection, how do i know it was success (when can i start sending data)
E.g. how do i recognize if there were errors, e.g wrong BT address, wrong PIN, out of range…
E.g. Inquiry times out (if this is possible at all)
Is it possible to do the connection without pairing / pin exchange ? As far as i remember pairing was optional.
Same for encryption. Is the link always encrypted ? Or only if remote side requests it ?
How can i detect which (SW) version the module has ? Is there an update of the software possible at all ? What interface / lines do we need to update software in case we
have soldered the Bluetooth module on our PCB ?
Currently i have connected the module via UART RX and TX. There is a USB, as well as a SPI interface. Are these interface possible as well ?
Do i get the same commands over these interfaces ? Or does it behave like a standard USB dongle (with HCI over standardized USB endpoints).
There is a PCM interface on the board and interface. How can i use it ? There seem to be now command to control it ?
There are plenty of GPIOs on the module. How can i define them as input / output, get their level or set their level ?
Are power saving modes supported ? Are they automatically enabled ?