PSoC™ Creator & Designer Forum Discussions
I'm working on a project with several people, but the single TopDesign.cysch files is extremely problematic for version control (git).
I'm trying to figure out how to use multiple .cysch files in one project. I realize that you can create multiple tabs or pages in a single .cysch file, but that doesn't help with version control since it seems that even with multiple isolated pages, TopDesign is not really mergeable.
Has anyone had success in separating out the various components of their design into multiple .cysch files?
Show LessHi,
I have a PSoC Creator Workspace with several projects. There are no dependancies between the projects, but they use common functions, etc collected into header files.
Those headers are located in the workspace root directory, one level above the project directory. The files are added to each projects header collection (Project-> Add existing item...), and the compiler custom search path is set to "${ProjectDir}\..\".
This enables the project to be build correctly, but the problem is that the code editor still complains that the file could not be found (error mark on the line with the #include statement). Also right-clicking on the statement and selecting "go to definition / declaration" doesn't work.
This is also true for the automatically generated files (e.g. project.h) as well as the symbols defined in headers, etc.
Is this a bug or do I have some wrong settings? For me, this behaviour is really annoying.
Regards,
Ralf
Show LessI have a workspace with a Bootloader/Bootloadable project pair. I have archived the project and shuffled around and renamed some of my working directories, and I believe at some point in the process my filepaths went awry. I've searched all files that I'm aware are relevant to the build process to find a path that is incorrect but have had no success.
Error: bse.M0106: TopDesign.cysch: Unable to open the file for reading. File not found (File=C:\Users\Luke\Google Drive\Company\Projects\MyProject\MyProject2\Firmware Builds - Production Version\PSoC3\MyProject\MyProject_Bootloader.cydsn\TopDesign\TopDesign.cysch)
Error: fit.M0050: The fitter aborted due to errors, please address all errors and rebuild. (App=cydsfit)
I get this error message for both projects, but I can't this incorrect filepath anywhere in any of the relevant files. Manual deletion of the code gen folders and cleaning the workspace prior to building does not help. Does anyone have some input on how or where I can correct this in the build process?
Please let me know if I can provide any further information to help.
Show LessWe're trying to create a single project template that can run on multiple machines and reference a set of common libraries without requiring manual intervention to set dozens of include paths on every machine individually. The ideal solution is to simply have each user create an environment variable with the same name that points to the library parent directory for their specific machine.
Is there a way to pass a system environment variable as an include path to the ARM-GCC compiler when it is invoked via PSoC Creator? From the command line I can just run
arm-none-eabi-gcc -I%MY_PATH% main.c
This evaluates just fine, however when invoked from within PSoC Creator MY_PATH does not get evaluated (I have verified that it does exist within the environment of the application). My guess is that it's something to do with the way in which PSoC Creator is spawning the app, it's not simply invoking a command line and it's passing the variable as a literal.
Alternatively is there a way to manually create a custom PSoC Creator build macro which does get evaluated before being passed to the compiler? (Such as ${OutputDir}, ${WorkspaceDir} etc.)
For reference setting C_INCLUDE_PATH as a system variable does work but it's not ideal as it will also pull those include directories into every other unrelated project built using any GCC version.
Show LessRolf Nooteboom helped develop a technique for writing and compiling firmware for PSOC5 on Linux and Macintosh (and Windows). The overall system uses the free VSCode from Microsoft, the ARM compiler from ARM itself, some of the Modus Toolbox work Cypress put into previous versions of ModusToolbox(tm).
The upside to his work is the entire project's build finishes in seconds on Mac or Linux vs. minutes natively. (The minutes is when building under Windows using Creator). I was able to take his work and stumble into modifying it for using a KitProg (as well as kitprog 2 or 3). The pattern for the project directory was also changed, making it easy to use as a template for future projects, and with FreeRTOS. (Yes, a complete FreeRTOS rebuild takes seconds on a Mac.)
I wrote several blog posts on this at socmaker.com. My guide for coding/compiling on Linux (which is built on the previous blogs) is at https://socmaker.com/?p=1119 . You have to create the schematic with PSOC Creator first. (I use a virtual machine running windows 7, 64 bit to accomplish this.) Then finish with the firmware development on your native O.S.
Previous posts at socmaker.com cover the Macintosh side. Enjoy
Show LessIn a test to see if I could route a 64 channel analog mux into a SAR I picked up on
an error associate with mux. It reported, as shown, only 5 address bits, but errored
when I gave it a 5 bit buss. Whn I gave it 6 bit buss it stopped complaing, but you can
see in symbol its still reporting only 5 bits needed.
Regards, Dana.
Show LessHow do you find and download Lesson6 Android app that works with
the Capsense program that works with the CY8CKIT pioneer kit.
I want to see if I can get that program working on the Android studio ?
Show LessBLE component is missing from Communications component of PSoC Creator 4.4
I am an end user and some years ago my developer installed PSOC on my computer so I could go into control C and adjust various parameters
My computer has died and I want to install creator back on my new laptop so that I can open the programs I have saved and edit them again
I just need a bit of direction on which version to install and get it setup, Would I just be able to use the latest version?
Show Less
Dear Community Member,
(as I didn't find a solution here, I've written one and share it)
Please, find my attached sample code for NO polling, interrupt based Martix 4x4 keypad.
Background: most of our projects the the focus is on analog and real-time processing, so I would always feel uncomfortable if a device used in a very small time slot -like a 4x4 matrix keyboard- used up valuable CPU time.
This sample code is interrupt based (the key pad pins is only 'watching', no CPU time needed at this stage).
The user key press event give a trigger for this watching state to CPU start working.
Very simple logic behind of that:
1.)
-matrix keypad COLUMN (input digital) pins setted to HIGH,
-matrix keypad ROW (input digital) pins setted to resistive pull-down mode, pluss a rising edge interrupt service routine attached to row pins.
This is the watcher / idle state.
2.) if any key pressed, the rising edge interrupt service routine TRIGGERED by row pins.
3.) After an adjustable debouncing periode the columns and correcponding row pins are scanned: the pushed key found.
Tested with the following 4x4 matrix membran keypad:
https://www.hestore.hu/prod_10041773.html
with CyKit-059.
All the other other information: see main.c comments
(how to use math library and special SWD pins)
Thanks for the feedback,
Have nice day,
Péter
Show Less