PSoC™ Creator & Designer Forum Discussions
I had a project using 2 SAR ADC's on the marvelous PSOC 5.
The PSOC Creator is a great platform for getting complex projects done very quickly. I usually have a project up and running before any other IDE out there has finished pointing me to the Google search areas where the IDE has made your life difficult. But I digress.
I was running the SARS in Differential Input Mode sharing a common reference, all on port 3.
The router routed SAR1 input to SAR2 and vice versa, even though the pin numbers were correct.
I put in an analog pin on port 3 to monitor the SAR Input, and suddenly it routed correctly. Took it away and got a bad route.
I was able to permanently cause a proper route by using a monitoring pin for the opAmp driven reference on an unused Port 3 pin. (I noticed it took more analog iterations to do the route, so I think the iterator said it was done too soon otherwise.
So, next time some thing like that happens, place an additional monitor on an unused pin on that port to see what happens!
Show LessHello,
I am currently Running PSOC Creator on a Mac M1 running Windows 11 via Parallels Desktop.
The software runs and builds as you would expect. However, I cannot get my KitProg to show up.
It appears as a device in both OSX and Windows, but appears to be stuck in a loop of resetting / restarting etc..
Anyone have a similar issue? any workarounds known? (many google tunnels later I still have no success)
Many Thanks
Nick
Show LessHello,
I am New to this Development.
I am working with the CY8CKIT - 042 PSoC 4 Pioneer Kit and CY8CKIT - 024 Capsense Proximity Shield, To understand the working of the Proximity Shield i downloaded the example Projects ( Infineon-Proximity_Example_Projects ), and i was able to Flash the .hex file directly from the Hex file folders in the Example Projects, But to customize and work with the Capsense components and to understand the process of configuration from the Top Design file with .cysch i am not able to configure the capsense or any Components as it says the error as Error in customizer for component
"CapSense_CSD_P4_v2_0" : Loading : (Unable to locate and customize component 'CapSense_CSD_P4_v2_0' used in schematic 'C:\Users\dmd\Downloads\Infineon-Proximity_Example_Projects-Software-v01_00-EN\Proximity Example Projects\AN92239 example projects\Liquid_Tolerant_Proximity_042\Liquid_Tolerant_Proximity_042.cydsn\TopDesign\TopDesign.cysch'.).
along with the following detail
A customizer plugin for a piece of content has a bug. The author of the component will have to diagnose and fix the issue. Contact customer support.
How to get access to the customize parameters to the components in PSoC Creator
Thanks in Advance
The Creator 4.4 installer does not recognize that VC++ 2013 redistributable has been installed (it has successfully). I've tried the MS .NET fix/repair feature that was recommended somewhere on the forum. No go.
This is a fresh install on a fresh Win11 pro machine, an i9 loaded.
What the secret?
Thanks - Steve
Show Less
I have been playing with the
https://www.sparkfun.com/products/9836 ADXL345 Accelerometer to get some practice working with SPI protocols.
I modified the sparkfun arduino example code into standard c functions replacing the arduino specific spi functions with PSoC functions.
https://github.com/sparkfun/SparkFun_ADXL345_Arduino_Library
I was struggling for a long time to figure out why it wasn't working at all on my PSoC, so borrowed an Arduino to try the test code.
I found that the Arduino could write consecutive bytes with little to no time in between writes/reads looking at the miso, mosi, clock and CS signals.
On the PSoC I discovered a very strange behavior where it would write a byte, then wait the period that it takes to send 1 full byte before pulling the CS low again to send and receive. Due to this odd behavior I was unable to ever receive the byte the accelerometer was trying to send back to me.
I found if I change the SPI Data Bits from 8 to 16, then I can send the first byte to specify register I want to read or write to, then send the 0x0 dummy byte for receiving data from the register I wanted to read from.
I can now at least read one byte per two; however, it effectively has the same exact behavior as sending 8 bits. The CS will only pull low and send the clock for the period of 16bits then go high for the period of 16bits before sending the next 16bit packet.
This is a picture of the CS in Yellow, and the register address byte followed by 0x0 on the MOSI channel.
We can clearly see that there is ~32 Clock cycles (16bytes) of wait time between packets.
Is this how the SPI Master is designed to operate wasting half the potential throughput? Doesn't make a lot of sense to me.
It's set to operate MOSI + MISO
CPHA = 1, CPOL = 1
Shift Direction: MSB First.
The Advanced Enable Highspeed mode doesn't change anything but I didn't think it would from what I understand that allows one to use faster clocks?
Is there something I can do to take advantage of the full bandwidth?
Show LessHello,
I'm trying to integrate the Segger SystemView into my FreeRTOS PSOC5 project, but I'm encountering errors during the project compilation. It appears that certain assembly codes are generating 'bad instruction' errors. Please see the output below for more details:
arm-none-eabi-as.exe -mcpu=cortex-m3 -mthumb -I. -IGenerated_Source\PSoC5 -alh=.\CortexM3\ARM_GCC_541\Debug/SEGGER_RTT_ASM_ARMv7M.lst -g -W -o .\CortexM3\ARM_GCC_541\Debug\SEGGER_RTT_ASM_ARMv7M.o ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s: Assembler messages:
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:78: Error: bad instruction `name SEGGER_RTT_ASM_ARMv7M'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:93: Error: bad instruction `_ext_sym __aeabi_memcpy'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:94: Error: bad instruction `_ext_sym __aeabi_memcpy4'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:95: Error: bad instruction `_ext_sym _SEGGER_RTT'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:97: Error: bad instruction `_pub_sym SEGGER_RTT_ASM_WriteSkipNoLock'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:126: Error: unexpected character `t' in type specifier
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:126: Error: bad instruction `_section(.text, CODE,2)'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:127: Error: bad instruction `_align(2)'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:128: Error: bad instruction `_thumb_func'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:175: Error: bad instruction `_align(2)'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:237: Error: bad instruction `_place_lits'
ThirdParty\SEGGER\SEGGER\SEGGER_RTT_ASM_ARMv7M.s:240: Error: bad instruction `_end'
The command 'arm-none-eabi-as.exe' failed with exit code '1'.
I attached the ASM file that triggered the errors. Do you have any suggestions on how to address this? Could it possibly be linked to the GCC version utilized in PSOC Creator 4.4?
Thank you and best regards
Show LessHi all, recently I have updated my PSoC Creator to version 4 and I'm unable to edit or change any codes in some previous projects I made. The text cursor won't appear when I click on any lines on the main.c file. Nothing comes out when I press any key on my keyboard.
Show LessWasn't sure exactly where to put this since there isn't really a "dev tools" forum category and this seems like the closest thing.
I'm trying to familiarize myself and start using the PSoC Programmer COM Interface and running into something strange.
Following the COM Interface Guide in the PSoC Programmer program directory I've assembled a small C# .NET project to (for now) simply grab the connected programmers and report their status/capabilities. I'm using the "Late Binding" as described in section 1.2 of the COM Interface Guide.
The program works (eventually), but I'm running into a problem where the first time I press my "Connect" button I am getting System.NullReferenceException thrown on both w_IsConnected() and w_ConnectToLatest().
w_IsConnected():
w_ConnectToLatest:
Here's the event handler I have for a Connect/Disconnect toggle button:
private void btn_toggleConnect_Click(object sender, EventArgs e)
{
if (!pprog.w_IsConnected())
{
if (pprog.w_ConnectToLatest() == 0)
{
rtb_infoBox.AppendText("Programmer COM-object " + pprog.Version() + "\r\n");
if (SUCCEEDED(pprog.GetPorts(out portList, out strErr))){
foreach (string port in portList)
{
rtb_infoBox.AppendText(port + "\r\n");
}
btn_getInfo.Enabled = true;
} else
{
rtb_infoBox.AppendText(strErr + "\r\n");
}
btn_toggleConnect.Text = "Disconnect";
} else
{
rtb_infoBox.AppendText("No programmer detected.\r\n");
}
} else
{
pprog.w_Disconnect();
rtb_infoBox.AppendText("Programmer Disconnected.\r\n");
btn_toggleConnect.Text = "Connect";
btn_getInfo.Enabled = false;
}
}
It looks like the Version() member is null for some reason, and that's where the exception is being thrown. I would think it would be set when the ComLib_WrapperClass() is Instantiated in the constructor for the form:
public partial class frm_mainFrm : Form
{
PP_ComLib_WrapperClass pprog;
string[] portList;
string strErr;
public frm_mainFrm()
{
InitializeComponent();
pprog = new PP_ComLib_WrapperClass();
portList = new string[10];
strErr = "";
}
//Snipped
}
If I eat these exceptions (ignore them) and simply keep executing, after a delay of a few seconds, the application does come up with the COM object version and I can get the MiniProg 3 and KitProg (CY8CKIT-050) I have connected:
Past this point I don't seem to have any issues, I can query the capabilities of each of these devices without any problems. If I disconnect and reconnect (call w_Disconnect() and then w_ConnectToLatest()) the exceptions are no longer thrown in everything appears to operate as expected. I assume this is because the .Version() member is now loaded with a value.
Would anyone know why I'm getting these exceptions thrown at me only on the first attempt? Is there something else I should be calling to ensure my instance of the PP_ComLibWrapperClass() is ready to use? I'm following the steps laid out in the Interface Guide, so I'm not sure what I'm missing here.
I have attached the Visual Studio project, it's not very large or complex, just for now trying to find my way around using the library. If someone could see if they could reproduce this (or has any insight to why it is behaving this way) it would be very helpful.
Thanks!
Show LessJust bought a PSoc MiniProg3 to debug a special board.
I cannot install the software from www.cypress.com/psocprogrammer.
The download I get is for another program. It asks to attach the USB cable.
Nothing happens.
How do you get Psoc programmer up and running?
Seems the "quick start" guide is out of date.
D Hoffman
Hagenhoff LLC
Show Less