details about BLE Stack 1.2 Released:
http://e2e.ti.com/support/low_power_rf/f/538/t/166931.aspx
The article referred:
- Support for "Production Test Mode" has been added, allowing a BLE application in a "single-chip" configuration to temporarily expose the HCI over the UART interface when triggered externally to do so (e.g. hold a GPIO pin low during power up). This allows the device to be connected to a Bluetooth tester in order to run direct test mode (DTM) commands on a production line using the final release firmware, while leaving the UART GPIO pins available for the application to use at all other times
1) Which pins(CC2541) shoulod be used as UART in DTM? Or which pins you will recommend to be used as UART in DTM?
2) "(e.g. hold a GPIO pin low during power up). " Which GPIO pin should be used?
Thanks.
Yes! Same problem here!
The README.txt of BLE Stack 1.2 mentions:
We are going to do the Qualification Test to our product at Bluetooth Qualification Test Facilities (BQTF).
Does this new feature help? How do we use it exactly?
Best regards,
Jeff
Hi,
Hello Nick,
Already tried incorporating the mentioned changes and did see the GPIO P0.4 is held low by MT8852B but still failed to perform test.
Which EUT control shall be selected from the Anritsu tester application? the baudrate to use?
thank you
Hello Nick,Thanks for the great detail!Our Bluetooth Qualification Test Facilities uses the BITE T1111 RF Test System.I need to confirm how the pins connect to RS232 when I use your PTM code.CC2540 <<<=======>>> Tester
UART0, Alt 1. RS232C----------------------------------------P0.2:RX <<<========== TXP0.3:TX ==========>>> RXP0.4:CT <<<========== RTSP0.5:RT ==========>>> CTS----------------------------------------Are these connections correct? Do I have to connect all these four pins? Are there other pins I should connect to RS232?And, what baudrate should I use?Thanks for your help!Jeff
Hi Jeff,
I have not run the BITE system myself but I do know some of our customers does so it should work fine!
Connect all 4 pins as you have shown. The set-up opf the instrument should be:
Baudrate -> 57600
Databits -> 8
Stop bits -> 1
Parity -> None
Protocol -> None
Let me know if it works!
-Per
I have updated some information regarding DTM/PTM on our wiki:
http://processors.wiki.ti.com/index.php/PTM
Have a look there and see if you've missed anything.
Br
Still not able to make it work...
From the wiki you mentioned that the DUT's RTS will be asserted, which indicates to the Tester that the DUT is ready. But P05 remains high even after EnablePTM.
I also tried using BTool to issue the HCIExt_EnablePTM to a cc2541 with CC2541_SmartRF_HostTestRelease_All.hex firmware.
I got an unknown hci command status.
12] : <Tx> - 03:03:41.047-Type : 0x01 (Command)-Opcode : 0xFC0E (HCIExt_EnablePTM)-Data Length : 0x00 (0) byte(s)Dump(Tx):01 0E FC 00
------------------------------------------------------------------------------------------------------------------------[13] : <Rx> - 03:03:41.109-Type : 0x04 (Event)-EventCode : 0x0E (HCI_CommandCompleteEvent)-Data Length : 0x04 (4) bytes(s) Packets : 0x01 (1) Opcode : 0xFC0E (HCIExt_EnablePTM) Status : 0x01 (Unknown HCI Command)Dump(Rx):04 0E 04 01 0E FC 01
any idea what i've done wrong?
tnx, J
Hi J,
Did you follow the code examples in the "How to Use PTM from an Application Point of View" section? Have you connected the Anritsu correct?
As for the HCIExt_EnablePTM it says in the TI BLE Vendor Specific HCI Guide:
hello nick,
yes, did follow the sample code snippet. and did verifiy the function was called by setting a break point.
i was able to run the anritsu tester with the cc2540 module running the CC2540_SmartRF_HostTestRelease_All.hex. EUT control set to rs232 with 57600 baudrate.
but for this PTM, regardless whether i set the EUT control to RS232 or bi-wire, it doesnt work. how do i know whether cc2540 is really running in test mode?
thanks
regards, J
J,
Make sure that you do have HCI_DISABLE_UART defined. To check if the HCI_EXT_EnablePTMCmd was successful, make sure that the return value is 0x00.
there is no HCI_DISABLE_UART in the list of preprocessor defined symbols and i did get a 0x00 from calling HCI_EXT_EnablePTMCmd.
Regards,
J
Hi Nick,
I have two questions on your description.
1. Does HCI_EXT_EnablePTMCmd only work with UART_0? We just need to understand if UART_1 can be used due to some constraints with our pin assignments.
2. For UART_0, can HCI_EXT_EnablePTMCmd only work with alternative 2? That is, can we use (P1.5, P1.4, P1.3, P1.2) as UART_0 for DTM/PTM?
Hi Chi-wen,
I have updated the wiki (http://processors.wiki.ti.com/index.php/PTMhttp://processors.wiki.ti.com/index.php/PTM) with further information on this matter. Please have a second look. The UART config is fixed in the library file so you would have to use UART 0 for DTM/PTM.
Best Regards
Could you also answer my 2nd question in the previous post?
so following the updated wiki, I have made sure that the HCI_DISABLE_UART, HAL_UART, and HAL_DMA=TRUE are defined in the project options.
and i noticed that there is this "f0 50 10 d0" data coming from cc254x on power up from the uart port. may i know what is this 4 byte data conveying?
j