If you want to configurate, debug and test your implementation interactive, you can do this with mecrisp-stellaris, an FORTH implementation for several Cypress PSOCs.
To initiate a PWM there are several API's to do this. One API write the compare value:
To using this API you can call the API in a C-function. To modifies it on the fly you can use the configure menu from PSOC-Creator and translate and flash the whole application.
Alternative you can do following, if you have install mecrisp-stellaris:
100 PWM_1_WriteCompare1() <enter> \ 100 is put on the data stack and the API 'PWM_1_WriteCompare1()' will be calling. /!\ translating and flashing are not necessary
You can also define a word like this:
... MaxDuty wait MinDuty .... \ for more examples download one of following mecrisp-stellaris implementations:
As already published here, the FORTH development environment 'mecrisp-stellaris' is available for download for the following 7 Cypress PSoC's:
Board: / PSoC:
CY8CKIT-043 -> cy8c4247azi
CY8CKIT-044 -> cy8c4247azi
CY8CKIT-046 -> cy8c4248bzi
CY8CKIT-049 -> cy8c4245axi
CY8CKIT-050 -> cy8c5868axi
CY8CKIT-059 -> cy8c5888lti
FreeSoC2 -> cy8c5888axi
If you would like to know more about FORTH, you will find the classic Starting-FORTH and Thinking-FORTH by Leo Brodie:
The Definition of ANS FORTH you can find here: http://lars.nocrew.org/dpans/dpans.htm
If you want to know more about Mecrisp-Stellaris you are right here:
When PSoC evaboard is not listed and you interest on a Forth for your board, please contact me via the e-mail address provided in README of one of the downloads to clarify the possibility of porting
Meanwhile, there are mecrisp stellaris in version 2.4.9.
For the listed PSOC's the FORTH version 2.4.1 to 2.4.5 are available, depending on the PSOC type. An upgrade to 2.4.9 is not required.