User home path problem (bug?)

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

cross mob
Anonymous
Not applicable

PSoC Creator  4.1 (4.1.0.2686)

Culture: Russian (Russia)

OS Version: Microsoft Windows NT 10.0.15063.0

CLR Version: 4.0.30319.42000

"Creator" uses user home directory (Documents) for installing PDL and downloading example projects.

But if the path contains non-english characters, it fails to use it.

For example:

I download an example and tries to create a project based on it.

Creator asks for new project location and on the next step says that my username included in the path is incorrect string.

0 Likes
1 Solution
Anonymous
Not applicable

The solution from Cypress support:

On of the workaround for the issue is-

1. We need to find the URL of the .cyparcel to download. Start with the WCD content manifest file.

  http://download.cypress.com/wcd/top.manifest

2. Look at top.maniest for desired example. I.e., search for:

  <example name="ADC_DifferentialMode"

  The parent "<parcel" element has a name="" attribute that includes the parcel name and version. That's what we need to construct the URL. E.g., here's what to look for for the ADC_DifferentialMode example:

<parcel name="ADC_DifferentialMode_v2_20" xmlns="http://cypress.com/xsd/cywcd_v1">

  <examples>

  <example name="ADC_DifferentialMode" version="2.20" path="ADC_DifferentialMode">

  The <parcel name="ADC_DifferentialMode_v2_20" is what you're looking for. The PARCEL_NAME is "ADC_DifferentialMode_v2_20".

3. Download the parcel. The URL is:

  http://download.cypress.com/wcd/PARCEL_NAME.cyparcel

  E.g., the above example's URL is:

  http://download.cypress.com/wcd/ADC_DifferentialMode_v2_20.cyparcel

4. Rename the extension from .cyparcel to .zip

5. Extract the zip file.

6. Move the directory that contains the example contents (NOT the top level directory extracted from the ZIP) to:

  <InstallDir>/PSoC Creator/<CREATOR MAJOR VERSION>/PSoC Creator\examples\sampleprojects

  E.g., in the above example to install it in Creator 4.1, copy the ADC_DifferentialMode_v2_20/ADC_DifferentialMode/ directory to <InstallDir>/PSoC Creator/4.1/PSoC Creator\examples\sampleprojects

  When done the user should have a <InstallDir>/PSoC Creator/4.1/PSoC Creator\examples\sampleprojects /ADC_DifferentialMode directory.

7. Restart Creator. The example is now installed and the user should be able to instantiate it.

Thanks & Regards

Ankita

View solution in original post

0 Likes
20 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I had the same problem. Cypress told me to install PDL in a different location and to set the path in project settings. I tested and it worked.

Bob

Anonymous
Not applicable

Yes, it works for PDL, but not for examples

0 Likes

I would suggest you to get in contact with Cypress directly: At top of Cypress Home page select "Design support -> Create a Support Case" and ask your question. You will be helped by a Cypress engineer.

Bob

0 Likes
markgsaunders
Employee
Employee
50 sign-ins 10 solutions authored 5 solutions authored

I am trying to reproduce the error. Do you get this message from PSoC Creator? I installed PDL into My Documents/банан. It is driving me banans

Failed while attempting to update project 'CE218636_I2S01': Unable to include referenced file: 'C:\Users\yfs\Documents\?????\PDL\3.0.1\drivers\peripheral\ipc\cy_ipc_config.c'. One or more invalid characters appears in the path: 'C:\Users\yfs\Documents\?????\PDL\3.0.1\drivers\peripheral\ipc\cy_ipc_config.c'. Examples of invalid characters are as follows: '", <, >, |, �, �, �, �, �, �, �, �, �, , , �, �, , �, �, �, �, �, �, �, �, �, �, �, �, �, �, �, �, �, �, *, ?'. Please notice that some invalid characters are shown as Unicode characters..

0 Likes

Mark, see case#00371365.

Bob

0 Likes

Ah! Is this an FM0+ project?

0 Likes
Anonymous
Not applicable

Yes. it's withing Creator. But i'm not building custom project (I wrote about PDL as it's placed in same userhome subfolder and I _expect_ same problems with it).

I've just received CY8CKIT-042 (4248 BLE Kit) and try to open one of Examples. Creator downloads it in userhome subdirectory correctly, but when I press Create project it asks for new project location and on the next step throws that window with path element error.

PS. I also tried to reinstall PDL in some correct root folder and to create new project with wizard - it builds with no problem.

0 Likes

Do you get this...

Unable to open the workspace "C:\Users\yfs\Documents\банан\PSoC_4_BLE_CapSense_Slider_LED\PSoC_4_BLE_CapSense_Slider_LED.cywrk": (Invalid character(s): бан). Address the error and try again.

I do not think this is a PDL issue. The documentation could be better on this subject but the PDL is a driver library for Flexible Microcontroller (FMx) products and also PSoC 6. It is not needed for PSoC 4 BLE.

PSoC Creator cannot handle projects in folders with these characters in the path because it relies upon executables in the build flow that do not support them. We cannot fix the third party tools and so we have to deny the request to create the project. I have tried to create new projects and kit projects and code example projects in my банан folder and it does not let that happen (strictly I am using an internal build of 4.2 but I do not think this has changed since 4.1).

I realize this is a big pain, and I apologize for the inconvenience, but can you create projects in a folder that our software can handle?

0 Likes

To be honest: Windows supports language specific characters in pathnames for 15 years now. A software that is not able to handle that should be corrected, regardless of "third party". At least (the very least) the installer should not propose such filenames nor accept them as a choice. Removing and re-installing can be a pain ita.

Bob

0 Likes
Anonymous
Not applicable

ONE MORE TIME.

PDL or build toolchain is NOT the main problem - I can fix it.

The main problem is "Example usage"  !

I can't say Creator to download examples to different place.

It creates example projects from templates downloaded to my homefolder and get no success in it.

0 Likes
Anonymous
Not applicable

Creator1.png

Creator2.png

Creator3.png

0 Likes
ScottA_91
Employee
Employee
10 solutions authored 100 replies posted 50 replies posted

It would be very helpful if you would provide the path that you had as the issue may be limited to a specific character and not all non-English characters.

0 Likes
Anonymous
Not applicable

It's not about single character, it says "Исаев" is incorrect string within path.

0 Likes
ScottA_91
Employee
Employee
10 solutions authored 100 replies posted 50 replies posted

Yesterday, I reproduced the same behavior using your username on a developer setup.  I've filed a defect ticket on this (287653) to not only fix the current behavior but to also add a new test case which is missing.

The only workaround right now would be to create a user with non-Unicode characters.  From this point forward it is on the development team to fix this incorrect behavior.

A year has passed...

and nothing has happened

I am still not able to compile projects that rely on my username within the path (mostly the library updates) which I cannot change.

Latest occasion hinders me to help a stuck user with a modification of his project. Compilation fails due to an invalid char.

Disappointed Bob

0 Likes

This was supposed to be fixed in the 4.2 release. I suspect it fixes the code example location problem rather than the general "invalid" char problem. So I  am afraid you still need to locate projects outside of your home area. Sorry.

0 Likes

Mark,

The problem results from the default user path which is used by the updated component files. I can change the setting for my project (although I have to do that for each project) but I cannot deploy the project to someone else. Compilation will fail because the changed paths do not exist at the user's site. This should be changed generally.

Bob

0 Likes
Anonymous
Not applicable

The solution from Cypress support:

On of the workaround for the issue is-

1. We need to find the URL of the .cyparcel to download. Start with the WCD content manifest file.

  http://download.cypress.com/wcd/top.manifest

2. Look at top.maniest for desired example. I.e., search for:

  <example name="ADC_DifferentialMode"

  The parent "<parcel" element has a name="" attribute that includes the parcel name and version. That's what we need to construct the URL. E.g., here's what to look for for the ADC_DifferentialMode example:

<parcel name="ADC_DifferentialMode_v2_20" xmlns="http://cypress.com/xsd/cywcd_v1">

  <examples>

  <example name="ADC_DifferentialMode" version="2.20" path="ADC_DifferentialMode">

  The <parcel name="ADC_DifferentialMode_v2_20" is what you're looking for. The PARCEL_NAME is "ADC_DifferentialMode_v2_20".

3. Download the parcel. The URL is:

  http://download.cypress.com/wcd/PARCEL_NAME.cyparcel

  E.g., the above example's URL is:

  http://download.cypress.com/wcd/ADC_DifferentialMode_v2_20.cyparcel

4. Rename the extension from .cyparcel to .zip

5. Extract the zip file.

6. Move the directory that contains the example contents (NOT the top level directory extracted from the ZIP) to:

  <InstallDir>/PSoC Creator/<CREATOR MAJOR VERSION>/PSoC Creator\examples\sampleprojects

  E.g., in the above example to install it in Creator 4.1, copy the ADC_DifferentialMode_v2_20/ADC_DifferentialMode/ directory to <InstallDir>/PSoC Creator/4.1/PSoC Creator\examples\sampleprojects

  When done the user should have a <InstallDir>/PSoC Creator/4.1/PSoC Creator\examples\sampleprojects /ADC_DifferentialMode directory.

7. Restart Creator. The example is now installed and the user should be able to instantiate it.

Thanks & Regards

Ankita

0 Likes
Anonymous
Not applicable

Today I've discovered another side-effect of non-uk characters in user-home path.

Creator has found some updates for components: SCB_P4_v4_0, BLE_v3_40, LUT_v1_60

After downloading, it has updated my project and... And it fails to build - new version components was not found.

I found them in my "user-home\Documents\PSoC Creator\4.1\Downloads ( 4.1).cylib" directory.

The solution it to move that directory (Downloads) to some "correct" path and change Project->Dependencies:

CypressDownloads.png

Uncheck system dependencies to Downloads and Add new user dependency pointing to "Downloads ( 4.1).cyprj". Directory name must be same as filename ("Downloads ( 4.1)").

PS. Still don't undestand why to use user home directory. Different users supposed to have different examples or component updates?

JuAh_3196681
Level 1
Level 1

jesus christ, what a ridiculous error.

i spent hours trying to fix this thing.

the default path for me was somehow in the ondrive folder, which started dumping hundreds of files into my onedrive sync, not  to mention the project wouldn't compile because of some directory error.

I can't even add my custom dependency path for some reason.

0 Likes