PSoC™ Creator & Designer Forum Discussions
I've requested the ability to create more than the Debug and Release build configurations available for a future release of PSoC Creator.
This gives me the ability to make new configurations with different conditional compiles for:
- creating sub-variants of a product.
- "white-box" testing stubs.
- special "black-box" test stubs.
- special debugging code versions.
- more options yet to be conceived.
As an alternate recommendation which might be easier to implement, I recommend the following layered approach:
- Allow for the creation of a "new" project that inherits ALL the objects in a specific project already created in the same Workspace (linked not copied). Objects can be Schematics, Design-wide resources, headers, and source files. Only build files are assumed to be managed per project. However and the initial creation of this inherited project, the build files are copied to inherit all build parameters at first. This allows for different build parameters including defines for conditional compiles.
- A build of an inherited project will build with the design files linked from the original project UNLESS a replacement file (of the same name) is inserted in the inherited project directory. This includes headers, sources, design-wide resources and Schematics.
- Anyone with good feedback to add here?
Len
Show LessI have a flag on PSOC Creator 4.2 that there are multiple definitions of components. I searched, the only answered question I could find was for a revision of PSOC Creator that is no longer relevant - the option does not exist as explained. I tried to remove the old definition under Tools>Options>Design Entry>Component Security but it had no immediate effect and after restarting the old value had reappeared.
Help?
Show LessHere's what I try:
/* `#START UART_Boot` */
#include "TxEnable.h"
/* `#end` */
cystatus UART_UartCyBtldrCommWrite(const uint8 pData[], uint16 size, uint16 * count, uint8 timeOut)
{
cystatus status;
status = CYRET_BAD_PARAM;
if ((NULL != pData) && (size > 0u))
{
/* `#START UART_Boot` */
TxEnable_Write(1);
CyDelayUs(5);
/* `#end` */
/* Transmit data. This function does not wait until data is sent. */
UART_SpiUartPutArray(pData, (uint32) size);
*count = size;
status = CYRET_SUCCESS;
if (0u != timeOut)
{
/* Suppress compiler warning */
}
/* `#START UART_Boot` */
CyDelayUs(50);
TxEnable_Write(0);
/* `#end` */
}
return (status);
}
ON clean and build, above mods get removed and here's what gets appended to the new generated source:
/* [] END OF FILE */
#if 0 /* begin disabled code */
`#start UART_Boot` -- section removed from template
#include "TxEnable.h"
`#end`
#endif /* end disabled code */
#if 0 /* begin disabled code */
`#start UART_commwrite` -- section removed from template
CyDelayUs(50);
TxEnable_Write(0);
`#end`
#endif /* end disabled code */
Show LessI have a char array, example char c[] = {0xC0, 0x02, 0x00, 0x01, ...}
I want to send it over uart to another device via a while loop and UART_putchar(*c) but I also want to send it over USBUART so I can see it over terminal but USBUART_putchar doesn't seem to work. My guess is it's trying to change it to an ASCII character. I've found other discussions that did something similar but not quite the same thing and the same thing goes just trying to find stuff on stackexchange.
What I have so far is something like:
char str[3];
for(int i=sizeof(c); i>0; i--){
sprintf(&str[1],"%2x",c);
USBUART_PutString(str);
}
to make sure that it has a null termination on the string but that doesn't seem to work. I just want termial to print out "C0020001...." and no matter what tweaks I've done can't seem to figure out why it's not working.
Any help would be greatly appreciated.
(using CY8KIT-050 i.e. PSoC 5LP and PSoC Creator 4.2)
Show Lesshello
i am using flash chip W25Q128FV, and interfaced it with PSOC5 lp
at basic level i am able to read, write and read device id
but how can i implement flash with FatFs like sd card?
any document or code example for flash?
thanks in advance
Show LessIn the Logical section of the component catalog I do not have any gates. They are located in the CyPrimitives folder in my C drive but they do not show up in the catalog. I have checked the permissions of the CyPrimitives folder and made sure it is set to Full for all users. My project dependencies also have CyPrimitives 'components' and 'code' checked. I suspect I am missing other components as well.
I am using PSoC Creator 4.2 on Windows 10.
Any ideas? Thanks!
Show LessI'm using Psoc Creator 3.3_SP2. It takes almost 15 minutes to enter debug mode every time. Every project ! Every time!
Psoc Creator is installed on C disk and other modules in the software don't have this phenomenon.
I can' understand why....and this problem seriously affects my work efficiency. Could you help me, please?
Thank you very much.
Show LessHi folks!
This seems like a bug - but I'm hoping that I'm just overlooking something obvious. I seem to keep stepping in the same hole and can't get out.
In PSoC Creator (v4.2, but has happened on earlier versions, too) I'll get build errors that refer to schematic objects that I've deleted and can no longer see on the schematic. Often, it seems that I'll exceed the Resource limits (often UDB related) at the same time that I get an error for a missing Clock connection (for example). Then, I'll delete the schematic object with the offending missing clock. But, the same error remains.
A Clean and Build doesn't correct it. Neither does close and reopen the project.
I end up selectively cut/pasting the parts that I want into another project to continue. If I <ctrl-a> Select All to copy, it will copy the offending object that I can no longer see, which I obviously don't want in another project.
But that is getting too burdensome on big projects where I'm at the edge of resource constraints all the time.
I've attached an example project to demonstrate what happens.
Any insight is appreciated. Thanks!
Show LessHi all,
Im having the strangest problem with the Compiler removing my code in ISR.c. It only happens when you change the hardware layer, just software rebuild doesnt do it.
Before anyone asks, The code is squarely within the "Place user code here" statements... Has anyone else seen this?
ISR code below:
CY_ISR(isr_switch_Interrupt)
{
#ifdef isr_switch_INTERRUPT_INTERRUPT_CALLBACK
isr_switch_Interrupt_InterruptCallback();
#endif /* isr_switch_INTERRUPT_INTERRUPT_CALLBACK */
/* Place your Interrupt code here. */
/* `#START isr_switch_Interrupt` */
isr_switch_ClearPending();
int cmp=0;
cmp = PWM_ReadCompare();
if (cmp == 100)
{
PWM_WriteCompare(150);
LED_REG_Write(!LED_REG_Read());
}
else if (cmp == 150)
{
PWM_WriteCompare(200);
LED_REG_Write(!LED_REG_Read());
}
else if (cmp == 200)
{
PWM_WriteCompare(100);
LED_REG_Write(!LED_REG_Read());
}
/* `#END` */
}
Show Less