Why PDL 3.1 has BLE version 2.3 and PDL bundled with the ModusToolbox has 3.0?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
OnPi_2263161
Level 4
Level 4
First like received Code Expert

Hi All,

I would like to start using multiplatform BLE configurator provided with the ModusToolbox. I expected that released PDL 3.1 will support them. My expectation was wrong and after PDLs comparison came out that the ModusToolbox has never BLE version than standalone PDL.

Why the ModusToolbox has never version?

I have taken BLE library from the ModusToolbox and linked it with my code. Now, I can initialize BLE and start advertising but I cannot connect with a device. The code with previous PDL version used BLE configuration taken from the PSoC Creator and this configuration was duplicated with the new BLE Modus configurator. The code with old PDL worked. Attached is generated configuration from the ModusToolbox tool.

Can someone look on it and tell me why I cannot connect with PSoC63 chip?

Thank you

Ondrej Pilat

0 Likes
1 Solution
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

Hello Ondrej,

As you can see in the PDL changelog, ModusToolbox has a newer version of BLE middleware 3.0 while PSoC Creator has 2.30. Please note that the only changes that were done in the newer version was a reorganization of the middleware to make it a device agnostic library which means it doesn't need to know the device before hand to add middleware to the project. In addition, there are some changes to the BLE config structures and the configuration flow. Now these changes were required to make it work with the new IDE.

ble_changelog_marked.png

The changes were done for reasons specific to the IDE. For example, BLE Middleware v2.30 has PSoC Creator APIs Cy_BLE_Start() which are specific to PSoC Creator while you won't have these in Modus BLE Middelware v3.0.

So I wouldn't suggest porting libraries across platforms since they have been designed with work flow of the IDE in mind. It may not work as expected.

Regards,

Dheeraj

View solution in original post

0 Likes
5 Replies
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

Hello Ondrej,

As you can see in the PDL changelog, ModusToolbox has a newer version of BLE middleware 3.0 while PSoC Creator has 2.30. Please note that the only changes that were done in the newer version was a reorganization of the middleware to make it a device agnostic library which means it doesn't need to know the device before hand to add middleware to the project. In addition, there are some changes to the BLE config structures and the configuration flow. Now these changes were required to make it work with the new IDE.

ble_changelog_marked.png

The changes were done for reasons specific to the IDE. For example, BLE Middleware v2.30 has PSoC Creator APIs Cy_BLE_Start() which are specific to PSoC Creator while you won't have these in Modus BLE Middelware v3.0.

So I wouldn't suggest porting libraries across platforms since they have been designed with work flow of the IDE in mind. It may not work as expected.

Regards,

Dheeraj

0 Likes

Hi Dheeraj,

it means that I cannot download standalone PDL designed to work with the ModusToolbox configuration tools and has same directories layout as from the page https://www.cypress.com/documentation/software-and-drivers/peripheral-driver-library-pdl.

It is pity. We do not use Creator or ModusToolbox. The new configuration tools are at least compiled for all main OSes and we would like to use them instead of the Creator configuration process.

Cypress does not recommend to combine BLE middleware with the official standalone PDL as I understand it, so am I right?

Regards,

Ondrej

0 Likes

Hello Ondrej,

The standalone PDL is designed for PSoC Creator. Hence you cannot download the standalone PDL and move it into the installation directory of ModusToolbox.

The PSoC 6 Software library consists of two parts:

#1: PDL

#2: Middleware and Software libraries

The SDKs are designed to work with the specific IDEs (like ModusToolbox/ PSoC Creator). Due to this reason, I mentioned that copying the files from Modus and adding to PSoC Creator directory will not work.

Cypress does not recommend interchanging of middleware or PDL files across our IDEs.

Regards,

Dheeraj

0 Likes

Hello Dheeraj,

I apology I wasn't clear. We use directly PDL with another IDE. Therefore I expected that I can choose which interface (Creator or Modus) is better for us. The drivers are easy to use and It is simple to write for them initialization manually. Compared to them are middlewares (libraries) such as BLE which Cypress has configurator without too much information and more complex configurations.

For these reasons, I expected that using standalone PDL drivers and the Modus BLE library isn't issue and can be used together.

Regards

Ondrej

0 Likes

Hello Ondrej,

If you want to the use the PDL and Middleware used in ModusToolbox, you can find the entire software library present at this path: "C:\Users\<user_name>\ModusToolbox_1.0\libraries\psoc6sw-1.0\". It contains both the PDL and the middleware.

You do not need to download the standalone PDL again. It comes integrated with Modus. Just use that.

About how successful using our software SDKs with your IDE will be, I'm not sure. I think it is more complex that it seems. Anyways, let me know how it goes

Regards,

Dheeraj

0 Likes