DSPS Android version not showing the device number

16 posts / 0 new
Last post
Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
DSPS Android version not showing the device number

Hi,

I am using PAN1740 USB Dongle board. I have flashed sps_device code in to PAN1740. 

(1)  I can see the device serial number in IOS DSPS app. Howervr I can not see the serial number in android app. Is this facility is ot available in android?.

(2)  I can able to send data from serial terminal to app when I am using the breakout board. However I am not able to send the data when i use my custom board. I have debugger from TI and I have connected PAN1740 in SWD interface (SWCLK and SWDIO) pins. What could be the reason?.

(3)  I have a message from my manager that is " I see that this module has no commands and something implemented instead. However if you change the flash of the module how is the stack certification process kept? And the radio certifications?"

Here I just burn the System RAM. Do we need to make the above certifications in order to burn System RAm or SPI Flash or OTP?.

Thank you.

Device: 
PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

  1.  Are you able to connect to the PAN when using the iOS DSP mobile application? The DSPS mobile application is available for Android devices, so it is little bit weird that you cannot see your device. In addition, what do you mean with the “serial number”? Have you read the DSPS user manual first?
  2. If I am able to understand correctly from what you mentioned, when using our DK, you can connect from the DSPS application and you can send successfully data from a serial monitor. Did you use the iOS or the Android DSPS mobile application? In your custom board, I suppose that you are using the PAN, don’t you? Could you please let me know if in the DSPS device source code, you are using the extended sleep mode? If yes, you should use UART flow control (either software or hardware flow control), because you will not be able to wake up. When the device is configured in extended sleep mode, it will go into sleep between advertising or connection intervals. So, if you don’t have flow control, you will not be able to wake up. Regarding the debugger form TI, we are only be able to provide support only for our products. Be aware that in all our DKs and out products, the J-Link Lite is used.
  3. I am not completely sure I get what you mean, but Bluetooth LE stack is implemented in the ROM code. If your question is regarding the BLE stack. Otherwise, please clarify it.

Thanks, PM_Dialog

Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi PM_Dialog,

Hi PM_Dialog,

1. Are you able to connect to the PAN when using the iOS DSP mobile application?

Yes. I am able connect the device. Also i can send some data through this app. Like some alphabets numbers. I can see them on serial terminal.

The DSPS mobile application is available for Android devices, so it is little bit weird that you cannot see your device

No. I can see the device in Android also. 

In addition, what do you mean with the “serial number”? 

I mean serial number of the device BLE. In iOS app I can see something like A92B3191-3A43-F4ED-ADFC-67 and so on. I thought this is the serial number of the BLE device. This information I dont see in Android. If this is something else, Is there any way to see the serial number of the device in the android app.?.

 

2. Did you use the iOS or the Android DSPS mobile application? In your custom board, I suppose that you are using the PAN, don’t you? 

I have both apps iOS and android. In iOS if i enter 100 alphabets in the app, I can see up to 50 in the serial terminal. In Android it is even less. 

yes I am using PAN in my custom board.

Could you please let me know if in the DSPS device source code, you are using the extended sleep mode?

Yes it is in extended sleep mode.

const static sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;

3. If your question is regarding the BLE stack. Otherwise, please clarify it.

I will clarify it after sometime. I should get the clarification from my manager. Thank you.

 

PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

  1. Could you please send me a snapshot form the DSPS Android application? If the device is advertising correctly, you should see the BD address and the device name. I am not able to see any serial number in the Android application.
  2. What baud rate are you using in the serial monitor? Also, could you please let me know if you are using UART flow control?

Thanks, PM_Dialog.

Attachment: 
Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi PM_Dialog,

Hi PM_Dialog,

1. Here Im attaching the screenshot. I can see the device name and some other information(subscript) which i did not understnad.  It is showing the name DIALOG-SPS. My requirement is to display some number like CL820-xxxx so that we can identify the product. Previously we have some devices with serial number CL820-xxxx. So this project will be the next version to them. We can easily understand. Sorry for my wrong communication. I was also thought to display the serial number of BLE. But our manager intension is to display our product number instead of DIALOG-SPS. 

2. I am using 115200. Also I have tried with other Baudrates. Only partial data is displaying with PAN1740 USB dongle. 

No data is transferring when I use my custome board.  In the code I have changed the extended sleep to sleep off. Still no change. 

I did not use any UART flow control. I have just read that document. I will use UART flow control.

If I use UART Software flow control, can i have the code snippet pls?.

If I use UART Hardware flow control, I should only connect the hardware like Rx,Tx,CTS and RTS or should I do any other things?.

3.  Today I was trying to pair the PC to my custom board. I am able to see the device on PC(DIALOG-SPS). When ever I try to pair /connect them, It says connecting for some time and then try to connect again. I have attached the image. 

How can I do this?. UART flow control is the solution also for this?. Thank you. 

 

Attachment: 
PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

  1. The "DIALOG-SPS" is the device name and you can have your own device name by changing the USER_DEVICE_NAME macro in user_config.h file.
  2. Since you are using extended sleep mode, you need to have hardware flow control and the CTS/RTS/TX/RX pins should be connected. You could find the UART configuration in user_periph_setup.h file. If you are using sleep mode with software flow control or without flow control, you will not be able to wake up, because the device goes into sleep between advertising or connection intervals. The appropriate macros for enabling each one flow control are locates in user_periph_setup.h. The hardware follow control is by default enabled.

 

#define CFG_UART_HW_FLOW_CTRL

#undef CFG_UART_SW_FLOW_CTRL

 

  1. Could you please run the code in debug mode and try to connect from the DSPS mobile application? Does the code get stack somewhere?

Thanks, PM_Dialog

Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi PM_Dialog,

Hi PM_Dialog,

1. Thank you.

2.  Since you are using extended sleep mode, you need to have hardware flow control and the CTS/RTS/TX/RX pins should be connected.

    If I use ARCH_SLEEP_OFF. Then also I should use Hardware/Software flow controls.

   I have some interface / connection doubts.

   For example>

I would like to implement the Software floe control. 

I have connected my DA14850 device to the MSP432 EXP Breakout board. The MSP breakout board has two parts one is debugger part and another is Microcontroller part. I have connected SWDIO ,SWDCLK pins of DA14850 to the SWDIO ,SWDCLK  pins of Debugger and also RXD a,TXD pins of DA14850 to the  RXD ,TXD pins of Debugger part.

When I try to flash the sps_device code  it is saying RDDI-DAP error.  How can I connect the RXD and TXD pins of DA14850 pins to the MCU? or Debugger part?.

If I want to have Hardware Flow Control:

Can I connect the pins like below:

 #define GPIO_UART1_TX_PORT   GPIO_PORT_0
    #define GPIO_UART1_TX_PIN    GPIO_PIN_4
    #define GPIO_UART1_RX_PORT   GPIO_PORT_0
    #define GPIO_UART1_RX_PIN    GPIO_PIN_5
    #define GPIO_UART1_RTS_PORT  GPIO_PORT_0
    #define GPIO_UART1_RTS_PIN   GPIO_PIN_3
    #define GPIO_UART1_CTS_PORT  GPIO_PORT_0
    #define GPIO_UART1_CTS_PIN   GPIO_PIN_2

 

3. When I try to run the device in debug mode, it is trying to recover the debug connection.  And also written there that the device might went in to dep sleep mode and application could not come out of it.  The device at this moment is ARCH_EXT_SLEEP_ON.

When I changed that to ARCH_DEEP_SLEEP_ON. I dont even see the device in the bluetooth list.

When I used ARCH_SLEEP_OFF then I can see the device like ARCH_EXT_SLEEP_ON. In these both cases I am unable to pair device. Please help me out this situation.

Flow control is the reason for this also. Thank you.

 

 

PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

  1. Glad that you are able to change the device name. If you found the answer useful, please mark it as “accepted”
  2. In case you are not using sleep mode, the flow control is not necessary. However, the usage of flow control is recommended in order to have the correct reception of the data over UART. If you don’t have any GPIO available for the CTS/RTC (hardware flow control) and you are not using extended sleep mode, you could use software flow control (XON/XOF) by undefining CFG_UART_HW_FLOW_CTRL and defining CFG_UART_SW_FLOW_CTRL macros in user_periph_setup.h. The software flow control is already implemented in DSPS reference application code.  In case of extended sleep mode, the hardware flow control is necessary. Regarding the connection with MSP432, this is up to you, since you provide support only for our products. Normally, you should have the flowing connections:
  • PAN TX   à  MSP RX
  • PAN RX   à  MSP TX
  • PAN RTS à  MSP CTS
  • PAN CTS à  MSP RTS
  1. The deep sleep mode is not supported in DSPS reference application code. Only active and extended sleep mode are supported. Generally, if the DA14580 is configured in deep sleep mode, the device must boot from OTP, so the OTP must be burnt with the binary image.  OTP stands for One Time Programmable, thus you can’t erase and re-write the OTP multiple times, but you can only flip the bits that are still set to 0 and turn them to 1. Could you please clarify this question: “When I try to run the device in debug mode, it is trying to recover the debug connection”?

Thanks, PM_Dialog

Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi PM_Dialog,

Hi PM_Dialog,

 

Here I am not using the MCU. I am using the Debugger part of the developemnt board.

1. I just wanted to pair the BLE to my PC. I am not using the sleep mode.

   I have changed the line 

const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;

Also I am not using the UART. I have just connected the SWD pins of PAN1740 to SWD pins of debugger. After I start and stop the debugging in keil, I tried to connect the BLE on PC. It is trying to connect and afer some time it says try connecting your device.

What is the problem. Why it is not pairing. The device is not in sleep mode. 

2. Other side I tried the software flow control , On the debugger section I have pins for SWD and RXD,TXD. I have connected RXD and TXD pins of PAN1740 to TXD and RXD pins of debugger part respectively.

Then the code is not running. The keil shows RDDI-DAP error. 

Im unable to pair the device. If i do that then I will try to make communication (software debug).

 

 

Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi,

Hi,

Software Flow control:

I have turned off the sleep mode by

const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;

then I have changed the macros:

#define CFG_UART_SW_FLOW_CTRL
#undef CFG_UART_HW_FLOW_CTRL

Later I have connected the pins RXD of BLE to the TXD of Debugger and TXD of BLE to RXD of debugger.

next I have tried to made dubug on and off. I could not make it. 

It is showing RDDI-DAP error by keil. If I disconnect the RXD and TXD pins then Im able to make debug on and off and able to see the device.

im unable to pair the device. Im not able figure out why it is showing the error RDDI-DAP when I connect RXD and TXD.

 

PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

  1. “I am using the Debugger part of the development board.” : The SWD is been using for debug purposes. You could download firmware into the Syst-RAM as well. Could you please clarify what do you mean with that? Also, when downloading firmware into the System-Ram, after any kind of reset the, It will not be retained, so you need to re-download it. Did you run you code with hot attached the debugger? Could you please check if the coed gets stuck somewhere?  
  2. “I just wanted to pair the BLE to my PC.” I need some clarifications on that. Are you using a PC application?
  3. “Also I am not using the UART. I have just connected the SWD pins of PAN1740 to SWD pins of debugger” : This is wrong, because the DSPS is using UART
  4. “Other side I tried the software flow control , On the debugger section I have pins for SWD and RXD,TXD. I have connected RXD and TXD pins of PAN1740 to TXD and RXD pins of debugger part respectively.” ; This is not software flow control! The SW flow control is a software implementation of HW flow control and instead of CTS/RTS you will have XOF/XON.
  5. “Then the code is not running. The keil shows RDDI-DAP error.” : Could you please send me a screenshot?

Did you have a look at DSPS user manual? Initially, you should connect the UART pins of the PAN to the FTDI’s pins in order to establish the connection between the PAN and the PC.  After that you should decide which flow control you will use. Please have a look at the DSPS user manual. Then, download firmware into the Sys-RAM and hot attach the debugger and try to connect with the DSPS mobile application. To be honest, I not completely understand what you have done and which are the connections that you are using. I would strongly recommend you to read the DSPS user manual.

Thanks, PM_Dialog

Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi PM_Dialog,

Hi PM_Dialog,

1. “I am using the Debugger part of the development board.” : The SWD is been using for debug purposes. You could download firmware into the Syst-RAM as well. Could you please clarify what do you mean with that? 

 Yes. I am downloading the firmware to Sys-RAM via SWD.  My intension to say Im using only debugger part is that Im not using the MCU part of the development board (MSP-EXP432P401R). Here my doubt was, Should I use MCU part to download the firmware to BLE_ or can I use only debugger part to download the firmware?. 

I have got the answer. I no need to use the MCU on development board. 

2.“I just wanted to pair the BLE to my PC.” I need some clarifications on that. Are you using a PC application?

  Here Im not using any PC application. On the PC for example. If I want to use my phone via bluetooth, first we need to pair the device by entering some password. Then they will be paired and available for file or data sharing. This is waht my question was.

I have also almost got an answer after reading our forum. I should use ble_app_security project to pair with the PC. I have done it. Here My inension is to have a serial communication between my PC and BLE. For that first we need to pair the devices and then we should make serial ommunication.

3.“Also I am not using the UART. I have just connected the SWD pins of PAN1740 to SWD pins of debugger” : This is wrong, because the DSPS is using UART

 This is also my mistake. I came to know from our forums that I should use ble_app_security project and then must implement the UART functionality in the project to make serial communication on teraterm serial termianl.  Here I ask you that is it right?. Do we have any project with ble which can make serial communication?.

4.“Other side I tried the software flow control , On the debugger section I have pins for SWD and RXD,TXD. I have connected RXD and TXD pins of PAN1740 to TXD and RXD pins of debugger part respectively.” ; This is not software flow control! The SW flow control is a software implementation of HW flow control and instead of CTS/RTS you will have XOF/XON.

 ble_app_security with UART also need software implementation of hardware flow control?. I dont see those macros in user_peripheral.h file. Also one doubt that earlier you mentioned that for software flow control we just need to have RXD and TXD connections and device must not be n sleep mode also we must change the macros from HW to SW in user_peripheral.h file. Then it automatically makes the communication in software implementation of HW flow control. Am i right?.

  5.“Then the code is not running. The keil shows RDDI-DAP error.” : Could you please send me a screenshot?

 I still see this error. When I connect only SWD pins I can able download the firmware to Sys-Ram . Additionally when I connect RXD and TXD pins to have serial communication then I see this RDDI DAP error in the keil. I have also asked in some other forums. One guy asked me to use level shifter if the logic level of MCU and BLE or different. Does it make any sens?. Do you think the logic level of BLE is different?. When i measured the logic level at RXD pin of debugger(without connecting the ble), I see 3.3V. 

Im stuck here at serial communication. Im also attaching the screenshot. Please find it. Thank you.

Attachment: 
Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Hi,

Hi,

 

Here I have connected RX and TX pins to the P0.5 and P0.4 respectively. 

 #define GPIO_UART1_TX_PIN    GPIO_PIN_4
    #define GPIO_UART1_RX_PORT   GPIO_PORT_0
    #define GPIO_UART1_RX_PIN    GPIO_PIN_5

 

PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

I am little bit confused, so can you kindly create new forum threads with your issues? Could you please let me know which project are you currently using, and which is your issue?  Are you still working on DSPS reference application code?

  1. No need to use the MCU on development board. Generally, I our design we are using the J-Link Lite.
  2. Do you want to print the information you want to a serial monitor? If yes, you could user arch_printf() and printing you data to a serial monitor via UART2.

 

  • #define CFG_PRINTF in the da1458x_config_basic.h
  • Change the uart ports of the fw and assign the UART_TX port/pin to P04 and UART_RX port/pin to P05 (make sure that the configuration that you have changed is under the HW_CONFIG_PRO_DK and that this the board declared in the HW_CONFIG definition).

#elif HW_CONFIG_PRO_DK

#define UART2_TX_GPIO_PORT  GPIO_PORT_0

#define UART2_TX_GPIO_PIN   GPIO_PIN_4

#define UART2_RX_GPIO_PORT  GPIO_PORT_0

#define UART2_RX_GPIO_PIN   GPIO_PIN_5

 

  • If you have one other of our DKs or if you are working on a custom board, please modify the definitions above with the appropriate GPIOs

 

  • Include the arch_console.h file into your application
  • Invoke arch_printf()
  • Change the baud rate of the terminal into 115200.

 

  1. You could use the arch_printf() function in ble_app_security example of the SDK. If you would like to add any security functionality in you project, this is the appropriate example of the SDK.
  2. In ble_app_security there is not need of UART flow control.  As I mentioned before, you can use the arch_printf(). Please follow CFG_PRINTF macro.
  3. In our designs we are using the J-Link Lite, so the “options for target” should be like the attached screenshots. Do you have the J-Link lite in your design?

Thanks, PM_Dialog

Gandhi
Offline
Last seen: 1 month 4 weeks ago
Joined: 2019-05-02 13:00
Dear PM_Dialog,

Dear PM_Dialog,

Acually previously I used to work on sps_device project. When I found with this project we can only able to communicate with DSPS app then I switched to ble_app_security. My current task is to test the serial communication between BLE and PC ( teraterm terminal ).

Can we test serial communication on sps_device project?. You said I should implement flow control to have serial communication. You also said for ble_app_security project I dont need flow control. 

Hence I was using ble_app_security project. I have made all modification you said on other day. 

like 

#define CFG_PRINTF in the da1458x_config_basic.h

Change the uart ports of the fw and assign the UART_TX port/pin to P04 and UART_RX port/pin to P05 (make sure that the configuration that you have changed is under the HW_CONFIG_PRO_DK and that this the board declared in the HW_CONFIG definition).

Invoke the arch_printf() function in order to print for example when the device starts advertising.

Include the arch_console.h file.

However I do not see message on serial terminal. I have an error when I made debug on keil. that error is

*** error 122, line 17: AGDI: memory read failed (0x000000C6)

I have also attached the screenshot. Can you say me the soluton for this error. 

 

I dont see that error for sps_device project. If I make above mentioned procedure for sps_device project, Can i see the serial data?. Thank you.

Attachment: 
PM_Dialog
Offline
Last seen: 4 days 13 hours ago
Staff
Joined: 2018-02-08 11:03
Hi Gandhi,

Hi Gandhi,

Try to unzip the SDK in a new deduced path folder and then re-install the Keil tool and the JLink. After that, try to build the projects. Are you able to build them correct?  Be aware that I am not able to replicate your issue, so please try this and let me know.

c:\myWorkshop\DA1458x_SDK\5.0.4

Also please try to disable all the break points you have set inside your code.

Thanks, PM_Dialog