External Proximity Reporter app on MSP430

9新职位/ 0
Last post
mabraun
Offline
最后看到:3 years 3 months ago
加入:2015-11-16 15:57
External Proximity Reporter app on MSP430

Hi all,

frist of all: my goal is to get the the host application of the external proximity reporter app (projects\host_apps\da1458x\proximity\reporter) running on an MSP430.

In order to accomplish that, I am trying to "port" the project to Code Composer Studio (CCS). My initial thought was to just create a clean project in CCS and add the source and header files of the Keil project and replace the device-specific drivers (such as SPI). My problem is that I'm not able to get the project running, since CCS doesn't have access to the DA14580 SDK. (app.c, app_task.c, ble_msg.c, .... all include files from the SDK.) Is it correct that the project needs access to the SDK? How do I accomplish that?

I imagine I am not the first one trying to get the proximity reporter running on an MSP430. Is there a how-to guide for that problem? I tried to work with UM-B-010 and UM-B-013, but I didn't find them very useful, since they're just explaining the scenario in which the host application runs on a DA1458x.

Any help is appreciated!

mabraun
Offline
最后看到:3 years 3 months ago
加入:2015-11-16 15:57
Let me refine my question. In

Let me refine my question. In the attached screenshot you can see the basic architecture for a external processor configuration, as described in various Dialog user manuals. Generally speaking, I don't know what part of the proximity reporter app is part of the "host application" (green box in screenshot), and how to connect the host application to the rest of the platform.

What I need to know is:

1. Which header/source files of the proximity reporter app are part of the "host application"?
2. Which parts of the DA14580 sdk do those files (the host application) need to compile? (the sdk is structured into 'app_modules', 'ble_stack', 'common_project_files' and 'platform'. Can I just delete the 'platform' part from the project?)
3. What is the interface of the "host application" to the remaining system? How do I connect the host application to my MSP platform? I'm looking for a concise list of host-application-functions, which need to be connected to the platform.

提前谢谢!

MT_dialog
Offline
最后看到:1 week 5 days ago
工作人员
加入:2015-06-08 11:34
Hi mabraun,

Hi mabraun,

The proximity application in external proccessor configuration executes in combination with the windows reporter application located in the SDK/projects/host_apps/windows/proximity/reporter there you can find all the nessecary headers and source files that are used in order to create your custom external host. The user_platform should be there in order to setup the UART and communicate with the extrernal host. The external application with the 580 communicates through UART over GTL, please check the UM-B-010 proximity application for more info on this.

Thanks MT_dialog

mabraun
Offline
最后看到:3 years 3 months ago
加入:2015-11-16 15:57
Hi MT_dialog,

Hi MT_dialog,

thanks for your reply. So from what I understand, the SDK provides two different examples for the proximity reporter in external processor configuration:
1. The windows application (SDK/projects/host_apps/windows/proximity/reporter), which intends to connect with a DA14580 via UART.
2. The project found under SDK\projects\host_apps\da1458x\proximity\reporter. In this scenario, two DA14580 connect via SPI; one DA14580 is taking the role of the external microcontroller, the other DA14580 is taking the role of the BLE radio. No Windows application is required for this setup.

Can you confirm this?

My intention is to connect my DA14580 to the external microcontroller via SPI, thus I'm trying to use example #2 (SDK\projects\host_apps\da1458x\proximity\reporter) as a reference, and not the windows application.

Hope that makes sense.

Cheers,
mabraun

Edit: I'm only talking about the proximity REPORTER here. I'm aware that an additional DA14580 is needed for the proximity monitor.

MT_dialog
Offline
最后看到:1 week 5 days ago
工作人员
加入:2015-06-08 11:34
Hi mabraun,

Hi mabraun,

Yes that right, you can use two 580s (one has the external application and the other the stack) and interract with each other over GTL via SPI you can find more info about this in the UM-B-013.

Thanks MT_dialog

mabraun
Offline
最后看到:3 years 3 months ago
加入:2015-11-16 15:57
Hi MT_dialog,

Hi MT_dialog,

thanks for the clarification. So that means that in the project "SDK\projects\host_apps\da1458x\proximity\reporter", the GTL layer corresponds to "spi_hci_msg.c". However, the file name "spi_hci_msg.c" suggests that the HCI interface is being used here. Also, all the comments in that file suggest the same thing. Is the used protocol really GTL in that example? Why all the talking about HCI? From what I understand there's a significant difference between the two interfaces (at least from a protocol-stack point-of-view).

Thanks,
mabraun

MT_dialog
Offline
最后看到:1 week 5 days ago
工作人员
加入:2015-06-08 11:34
Hi mabraun,

Hi mabraun,

The 580 doesn't fully support the all the commands from of the HCI interface so the commands are over GTL.

Thanks MT_dialog

mabraun
Offline
最后看到:3 years 3 months ago
加入:2015-11-16 15:57
Hi MT_dialog,

Hi MT_dialog,

thanks for your help, I finally got the project running! :)

I have one more question. Related to my problem described here (http://support.dialog-semiconductor.com/spi-slave-mode-not-working#comme...), I had to clear the SPI_EN_CTRL bit in SPI_CTRL_REG during SPI initialization in spi_hci_slave_init(). Otherwise the SPI connection would not be stable.

Are there any consequences of disabling SPI_EN_CTRL in the "projects\target_apps\ble_examples\prox_reporter_ext_spi" project?

Thanks,
mabraun

MT_dialog
Offline
最后看到:1 week 5 days ago
工作人员
加入:2015-06-08 11:34
Hi mabraun

Hi mabraun

Perhaps your lines are a bit noisy, and thats why when disabling the SPI_EN you get data with no errors. If the the SPI_EN is deactivated between the MSB and LSB bits, the I/O buffer resets and goes to idle state. Its good to have the SPI_EN activated, it's supposed to protect from invalid data in a clear line.

Thanks MT_dialog