QN9080 BLE Without OS Abstraction

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

QN9080 BLE Without OS Abstraction

1,171 Views
cicerodomingosj
Contributor II

Hello friends,

I'm developing an application based on QN9080. This application should read values from two I2C sensors and store in a buffer in a Flash SPI memory. At 15-second intervals it should send the stored data, arranged in formatted packets, via BLE to a Smartphone application.  So, I'd like to write the QN9080 software in the simplest way possible. I already have the base application running with FreeRTOS, performing the readings of the sensors, writing on an OLED display and storing in flash memory. I need to implement BLE communication without using the OSAbstraction layer. Can anybody help me ?

Labels (2)
3 Replies

907 Views
georgecapraru
NXP Employee
NXP Employee

Hello.

It is not possible to create an Bluetooth LE application without the OS Abstraction layer, because the functions defined by this framework module are called from the Bluetooth LE Host library. Without it, the application will generate linker errors.

I suggest keeping the OS Abstraction layer as is (to be used by the communication stack), and simply add your new application code which use the FreeRTOS API directly. It should coexist without any problems.

Regards,

George

907 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello, 

 

Is there a specific reason why you would like to remove it ? I would recommend you to check the Bluetooth LE Application Developer's Guide for a deeper understanding of how it’s the stack working and which are the necessary elements to have it working, you can find the document in the SDK documentation.

 

Regards,

Estephania

907 Views
cicerodomingosj
Contributor II

Hello Estephania,

For several reasons Estephania. One of them is that the SDK documentation does not explain how to integrate the I2C Master drive into an OSA environment.

Also, the Framework does not have direct write functions with slave addressing parameter.

Using the basic SDK routines I have already been able to write an application with 4 Threads that normally operate the I2C, SPI communication. However I am having difficulty incorporating this program into the structure of the "private_profile_server_fregues" application sample.

Regards,

Cicero

0 Kudos