Macro cell is one of the building blocks of the digital components in PSoC. In your project the debouncer is causing the resource limitation. You can check your resource usage in resource meter.
you can check the de-bouncer datasheet to see how the resources are used.
You may have to reduce the number of debouncer inputs to resolve the issue.
There are two solutions: (1) hardware debouncing, (2) software debouncing.
1. Remove Debouncing component and attach small (0.1u) capacitors to each input pin. This should be enough. You can further reduce a number of ISRs used to one single interrupt, attached to a port.
2. You can use software for periodically polling input pins and to debounce signals by CPU with minimal overhead. See discussion and a demo project in
1 of 1 people found this helpful
Attached is a demo project showing operation of the custom component (Button_SW) for debouncing switch buttons. The component is written entirely in code and does not consume PLD/UDB resources, and can handle up to 8 buttons on a single port. This is a draft version of the component meaning it may need more testing and is subject to changes in the future, and no datasheet is available yet. Component was tested using PSoC5LP and PSoC4200.
P.S. The final release version of the the component (+datasheet, App Note and demos for PSoC5 /PSoC4) can be found here:
Thank you for the explanations and suggestions!
You are welcome. But did it work for your project? Since it is early beta component, I am interested in feedback.
I was able to resolve my issue by removing a timer and a PWM I was not using in this solution. I will load up your component and give it a test in my application. At moment laying out the board. I just have to add a couple of smart high side load switch's and i am ready to go.