PSoC™ Creator & Designer Forum Discussions
text.format{('custom.tabs.no.results')}
Hi,
First of all I have confirmed using Bridge Control Panel that I can do "List" and Bridge Control Panel is able to find my Slave device and show the 8bit and 7 bit address correctly (0xC2 for 8-bit or 0x61 for 7-bit respectively).
Now I am trying to use Python to interact with MiniProg3 to do the same thing.
I started from the example file: "C:\Program Files (x86)\Cypress\Programmer\Examples\Protocols\I2C\Python_Ex\Python_Ex.py" file.
There are codes that is suppose to scan the I2C bus and get the slave address:
hResult = pp.I2C_GetDeviceList()
devices = hResult[1]
I expect that the contents of the 2nd item in hResult that came from pp.I2C_GetDeviceList() to be some sort of string or character or integer that is a representation of my slave device address.
However the contents of hResult is like this (I am using Spyder3 on Anaconda):
In [19]: hResult
Out[19]: (0, <memory at 0x0000025D302D9708>, '')
As can be seen above, the 2nd item in hResult is a "memoryView" object.
Question: what am I doing wrong?
How is this <memory at 0x0000025D302D9708> memoryView related to my Slave device address?
Please help. Thank you.
Show LessI started a discussion thread that had gotten locked due to inactivity.
New-custom-Counter-component-feature-set-ideas
I'd like to continue the request for new component features.
I current have a new custom component that is a special counter. I haven't officially published it yet.
The intent of this new counter is to provide additional useful features while at the same time only using the same PSoC resources as other Infineon counters currently available.
I have a working version with a number of special features. It needs documentation (datasheet) and a good demo project to display most of its capabilities and the API calls to access them.
Here's a quick overview of its current features:
- Up-counter
- Settable width 1 to 32 bits.
- Count value available by HW-routable outputs, DMA or CPU.
- Settable Unsigned or signed counting (design-time)
- Settable reset value (run-time)
- Settable increment value. (run-time) (With increment values > 1, some counts are skipped. Therefore the desired initial and maximum values may be readjusted for the count to work properly.)
- Settable initial starting value (run-time)
- Settable maximum value (run-time)
- Terminal count output
- Next Count available output (intended for DMA, ISR or HW signaling downstream)
- Reset input.
Possible enhancements:
- Settable capture input with a 4-byte FIFO capture buffer. (run-time)
- Settable Up/Down count (design-time)
- Up/Down count input (run-time)
Any other recommendations?
I'm hoping to publish this new counter by the end of June.
Show LessI'm checking out the Creator software for compatibility with Windows 11 AND Windows 10 to make sure that my students will have an easy installation and useage. In general, the students will have either Win 11 or Win 10 on the laptops and I'd like to use a common version for both operating systems.
We currently use Creator 4.2 -- I'm concerned that this version will have issues in Windows 11 (works fine in Win10). We could switch to Creator 4.4 if it works in Win11, and also in Win10.
Let me know your experience - positive or negative.
Thanks.
Show LessHi,
I've created a new custom counter component that I haven't officially published yet. I'm waiting to see if there are any good feature add suggestions.
The component currently functions as a simple up-counter with the following features over the standard counter component:
- A settable maximum value. (This is virtually identical to the period value)
- A settable reset value. This allows from non-'0' reset values to be used. This is useful to create 'signed' value outputs where the reset value can be set to -32768 and the maximum value to 32767 so that the counter will increment from the lowest signed 16-bit value through the highest signed value.
- A settable increment value. This allows for stepping the count value in values greater than 1. For example, the counter is 32-bits in width. If I want to count from 0 to (2^32)-1 with a 48MHz count clock, it would take 89.5 seconds to complete. Using a increment of 2 would cut this down to 44.8 secs.
- The current counter value doesn't require a two-read operation as with the standard counter. The counter value is directly readable for DMA access.
Your suggestions for additional features are welcome.
Show LessHi,
I am using MiniProg3 and using Bridge Control Panel to do USB-to-I2C.
I know how to do a "read" continuously from first register on-wards. This is the syntax explained in the Bridge Control Panel help file (for example to read from Slave Address=0x09, and read 3 bytes):
"R 09 x x x P".
This works fine, and it returns correctly the contents of the 1st, 2nd and 3rd register from my Slave IC.
But what about if I want to read starting from a specific register (and not from the 1st register).
For example I want to only read the data in the 3rd register.
How do I do a "Register Read"? What is the syntax in Bridge Control Panel for this?
Your assistance is much appreciated. Thank you!
Show LessHello,
I've been using PSoC Creator for years, but just recently it's started popping up an admin dialogue every time I run it asking me to register the Keil compiler. Thing is, I don't work with 8051 devices, I don't have a kit installed for anything with PSoC3 and I'm not aware of ever installing Keil. So, I don't want to register it.
Is there any way to uninstall the compiler to prevent these popups appearing? (Also, why has it only just started happening?)
Show LessHi
Using PSoC Creator V4.4. How can I insert my company's standard function headers and comment blocks? I have searched but cannot find anything in the published information. There is a Cypress video (less than 1 minute long) but it does not explain how to create or where to put a snippet.
Thanks in advance, SImon
Show LessLog file for this session is located at: C:\Users\86186\AppData\Local\Temp\PSoC Creator-000.log
The following projects have new component updates available: MCU_B. To update the components in a project right-click on the project in the Workspace Explorer and select 'Update Components' or click on the notification icon in the status bar.
--------------- Build Started: 04/02/2022 21:57:15 Project: MCU_B, Configuration: ARM GCC 5.4-2016-q2-update Debug ---------------
The code generation step is up to date.
The compile step is up to date, no work needs to be done.
arm-none-eabi-ar.exe -rs .\CortexM3\ARM_GCC_541\Debug\MCU_B.a .\CortexM3\ARM_GCC_541\Debug\CyDmac.o .\CortexM3\ARM_GCC_541\Debug\CyFlash.o .\CortexM3\ARM_GCC_541\Debug\CyLib.o .\CortexM3\ARM_GCC_541\Debug\cyPm.o .\CortexM3\ARM_GCC_541\Debug\CySpc.o .\CortexM3\ARM_GCC_541\Debug\cyutils.o .\CortexM3\ARM_GCC_541\Debug\SysTickTim.o .\CortexM3\ARM_GCC_541\Debug\SysTickTim_PM.o .\CortexM3\ARM_GCC_541\Debug\SysTickInt.o .\CortexM3\ARM_GCC_541\Debug\Led1.o .\CortexM3\ARM_GCC_541\Debug\Led2.o .\CortexM3\ARM_GCC_541\Debug\SysTickClk.o .\CortexM3\ARM_GCC_541\Debug\IIC_SCL.o .\CortexM3\ARM_GCC_541\Debug\IIC_SDA.o .\CortexM3\ARM_GCC_541\Debug\IIC_RST.o .\CortexM3\ARM_GCC_541\Debug\PHU_Pin.o .\CortexM3\ARM_GCC_541\Debug\PHI_Pin.o .\CortexM3\ARM_GCC_541\Debug\StartUpIn.o .\CortexM3\ARM_GCC_541\Debug\StartUpOut.o .\CortexM3\ARM_GCC_541\Debug\PADJ.o .\CortexM3\ARM_GCC_541\Debug\PADJ_PM.o .\CortexM3\ARM_GCC_541\Debug\PADJPin.o .\CortexM3\ARM_GCC_541\Debug\FOut.o .\CortexM3\ARM_GCC_541\Debug\FOut_PM.o .\CortexM3\ARM_GCC_541\Debug\FreqOut.o .\CortexM3\ARM_GCC_541\Debug\VRefPin.o .\CortexM3\ARM_GCC_541\Debug\IRefPin.o .\CortexM3\ARM_GCC_541\Debug\VRMSPin.o .\CortexM3\ARM_GCC_541\Debug\IRMSPin.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRef.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRef_PM.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRef.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRef_PM.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRMS.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRMS_INT.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRMS_PM.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRMS.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRMS_INT.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRMS_PM.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRMS_IRQ.o .\CortexM3\ARM_GCC_541\Debug\DRV_IRMS_theACLK.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRMS_IRQ.o .\CortexM3\ARM_GCC_541\Debug\DRV_VRMS_theACLK.o .\CortexM3\ARM_GCC_541\Debug\POUT.o .\CortexM3\ARM_GCC_541\Debug\POUT_PM.o .\CortexM3\ARM_GCC_541\Debug\POUT_INT.o .\CortexM3\ARM_GCC_541\Debug\POUT_AMux.o .\CortexM3\ARM_GCC_541\Debug\POUT_Ext_CP_Clk.o .\CortexM3\ARM_GCC_541\Debug\POUT_IRQ.o .\CortexM3\ARM_GCC_541\Debug\POUT_theACLK.o .\CortexM3\ARM_GCC_541\Debug\POUTPin.o .\CortexM3\ARM_GCC_541\Debug\KeyUp.o .\CortexM3\ARM_GCC_541\Debug\KeyDown.o .\CortexM3\ARM_GCC_541\Debug\KeySelect.o .\CortexM3\ARM_GCC_541\Debug\KeyScan.o .\CortexM3\ARM_GCC_541\Debug\EEPROM.o .\CortexM3\ARM_GCC_541\Debug\EEPEna.o .\CortexM3\ARM_GCC_541\Debug\CANRx.o .\CortexM3\ARM_GCC_541\Debug\CANTx.o .\CortexM3\ARM_GCC_541\Debug\CANEna.o .\CortexM3\ARM_GCC_541\Debug\CANDrv.o .\CortexM3\ARM_GCC_541\Debug\CANDrv_INT.o .\CortexM3\ARM_GCC_541\Debug\CANDrv_PM.o .\CortexM3\ARM_GCC_541\Debug\CANDrv_TX_RX_func.o .\CortexM3\ARM_GCC_541\Debug\SysTick15To8.o .\CortexM3\ARM_GCC_541\Debug\SysTick7To0.o .\CortexM3\ARM_GCC_541\Debug\SysTick23To16.o .\CortexM3\ARM_GCC_541\Debug\SysTick31To24.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin0.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin1.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin2.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin3.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin4.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin5.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin6.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin7.o .\CortexM3\ARM_GCC_541\Debug\CentHzPin8.o .\CortexM3\ARM_GCC_541\Debug\PhaseErr.o .\CortexM3\ARM_GCC_541\Debug\PhaseCent.o .\CortexM3\ARM_GCC_541\Debug\MCUBRdy.o .\CortexM3\ARM_GCC_541\Debug\UARTDrv.o .\CortexM3\ARM_GCC_541\Debug\UARTDrv_PM.o .\CortexM3\ARM_GCC_541\Debug\UARTDrv_INT.o .\CortexM3\ARM_GCC_541\Debug\UARTDrv_BOOT.o .\CortexM3\ARM_GCC_541\Debug\UARTDrv_IntClock.o .\CortexM3\ARM_GCC_541\Debug\cy_em_eeprom.o .\CortexM3\ARM_GCC_541\Debug\DISP_DIN.o .\CortexM3\ARM_GCC_541\Debug\DISP_CLK.o .\CortexM3\ARM_GCC_541\Debug\DISP_STB.o .\CortexM3\ARM_GCC_541\Debug\TD.o .\CortexM3\ARM_GCC_541\Debug\TD_PM.o .\CortexM3\ARM_GCC_541\Debug\PHI.o .\CortexM3\ARM_GCC_541\Debug\PHI_PM.o .\CortexM3\ARM_GCC_541\Debug\PHU.o .\CortexM3\ARM_GCC_541\Debug\PHU_PM.o .\CortexM3\ARM_GCC_541\Debug\Clock_5.o .\CortexM3\ARM_GCC_541\Debug\MCUA_ERR_State.o .\CortexM3\ARM_GCC_541\Debug\MCUA_ErrCnt.o .\CortexM3\ARM_GCC_541\Debug\IO1.o .\CortexM3\ARM_GCC_541\Debug\IIC_RST_1.o .\CortexM3\ARM_GCC_541\Debug\DRV_UART.o .\CortexM3\ARM_GCC_541\Debug\DRV_UART_PM.o .\CortexM3\ARM_GCC_541\Debug\DRV_UART_INT.o .\CortexM3\ARM_GCC_541\Debug\DRV_UART_BOOT.o .\CortexM3\ARM_GCC_541\Debug\DRV_UT.o .\CortexM3\ARM_GCC_541\Debug\DRV_UT_PM.o .\CortexM3\ARM_GCC_541\Debug\RS485Dir.o .\CortexM3\ARM_GCC_541\Debug\U1TxIsr.o .\CortexM3\ARM_GCC_541\Debug\U1RxIsr.o .\CortexM3\ARM_GCC_541\Debug\U1ToIsr.o .\CortexM3\ARM_GCC_541\Debug\UTClk.o .\CortexM3\ARM_GCC_541\Debug\UTSwt.o .\CortexM3\ARM_GCC_541\Debug\UTSwt_PM.o .\CortexM3\ARM_GCC_541\Debug\UART1Clk.o .\CortexM3\ARM_GCC_541\Debug\CyBootAsmGnu.o
arm-none-eabi-ar.exe: creating .\CortexM3\ARM_GCC_541\Debug\MCU_B.a
arm-none-eabi-gcc.exe -Wl,--start-group -o C:\Users\86186\Desktop\MCU_B321\MCU_B.cydsn\CortexM3\ARM_GCC_541\Debug\MCU_B.elf .\CortexM3\ARM_GCC_541\Debug\BSP_SysTime.o .\CortexM3\ARM_GCC_541\Debug\BSP_Led.o .\CortexM3\ARM_GCC_541\Debug\BSP_IIC.o .\CortexM3\ARM_GCC_541\Debug\BSP_Disp.o .\CortexM3\ARM_GCC_541\Debug\BSP.o .\CortexM3\ARM_GCC_541\Debug\BSP_PAdj.o .\CortexM3\ARM_GCC_541\Debug\BSP_FOut.o .\CortexM3\ARM_GCC_541\Debug\BSP_VRef.o .\CortexM3\ARM_GCC_541\Debug\BSP_IRef.o .\CortexM3\ARM_GCC_541\Debug\BSP_VRMS.o .\CortexM3\ARM_GCC_541\Debug\BSP_IRMS.o .\CortexM3\ARM_GCC_541\Debug\BSP_POut.o .\CortexM3\ARM_GCC_541\Debug\BSP_EEP.o .\CortexM3\ARM_GCC_541\Debug\BSP_Key.o .\CortexM3\ARM_GCC_541\Debug\BSP_AM.o .\CortexM3\ARM_GCC_541\Debug\BSP_ExState.o .\CortexM3\ARM_GCC_541\Debug\BSP_CAN.o .\CortexM3\ARM_GCC_541\Debug\BSP_CentHz.o .\CortexM3\ARM_GCC_541\Debug\BSP_Phase.o .\CortexM3\ARM_GCC_541\Debug\BSP_UART.o .\CortexM3\ARM_GCC_541\Debug\BSP_PHUI.o .\CortexM3\ARM_GCC_541\Debug\SysTime.o .\CortexM3\ARM_GCC_541\Debug\Led.o .\CortexM3\ARM_GCC_541\Debug\Memory.o .\CortexM3\ARM_GCC_541\Debug\Power.o .\CortexM3\ARM_GCC_541\Debug\POUTClb.o .\CortexM3\ARM_GCC_541\Debug\VREFClb.o .\CortexM3\ARM_GCC_541\Debug\IREFClb.o .\CortexM3\ARM_GCC_541\Debug\PHUI.o .\CortexM3\ARM_GCC_541\Debug\AM.o .\CortexM3\ARM_GCC_541\Debug\CalcTick.o .\CortexM3\ARM_GCC_541\Debug\ExtState.o .\CortexM3\ARM_GCC_541\Debug\Fn.o .\CortexM3\ARM_GCC_541\Debug\PRP.o .\CortexM3\ARM_GCC_541\Debug\aes.o .\CortexM3\ARM_GCC_541\Debug\MD5.o .\CortexM3\ARM_GCC_541\Debug\Scheduler.o .\CortexM3\ARM_GCC_541\Debug\SystemCtrl.o .\CortexM3\ARM_GCC_541\Debug\Disp.o .\CortexM3\ARM_GCC_541\Debug\Key.o .\CortexM3\ARM_GCC_541\Debug\HMI.o .\CortexM3\ARM_GCC_541\Debug\HMI_Common.o .\CortexM3\ARM_GCC_541\Debug\HMI_MainBoard.o .\CortexM3\ARM_GCC_541\Debug\HMI_MainMenu.o .\CortexM3\ARM_GCC_541\Debug\HMI_MFreqSet.o .\CortexM3\ARM_GCC_541\Debug\HMI_AMSet.o .\CortexM3\ARM_GCC_541\Debug\HMI_PowerUp.o .\CortexM3\ARM_GCC_541\Debug\HMI_CtrlNumsSet.o .\CortexM3\ARM_GCC_541\Debug\HMI_TriTime.o .\CortexM3\ARM_GCC_541\Debug\HMI_PowerClb.o .\CortexM3\ARM_GCC_541\Debug\HMI_PowerCoeff.o .\CortexM3\ARM_GCC_541\Debug\StartUp.o .\CortexM3\ARM_GCC_541\Debug\IO.o .\CortexM3\ARM_GCC_541\Debug\CAN.o .\CortexM3\ARM_GCC_541\Debug\main.o .\CortexM3\ARM_GCC_541\Debug\Common.o .\CortexM3\ARM_GCC_541\Debug\cyfitter_cfg.o .\CortexM3\ARM_GCC_541\Debug\cymetadata.o .\CortexM3\ARM_GCC_541\Debug\Cm3Start.o .\CortexM3\ARM_GCC_541\Debug\MCU_B.a "C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\cycomponentlibrary\CyComponentLibrary.cylib\CortexM3\ARM_GCC_541\Debug\CyComponentLibrary.a" -mcpu=cortex-m3 -mthumb -l m -L Generated_Source\PSoC5 -Wl,-Map,.\CortexM3\ARM_GCC_541\Debug/MCU_B.map -T Generated_Source\PSoC5\cm3gcc.ld -specs=nano.specs -Wl,--gc-sections -g -ffunction-sections -O3 -ffat-lto-objects -Wl,--end-group
.\CortexM3\ARM_GCC_541\Debug\Cm3Start.o: In function `IntDefaultHandler':
C:\Users\86186\Desktop\MCU_B321\MCU_B.cydsn/Generated_Source\PSoC5/Cm3Start.c:99: undefined reference to `_errno'
collect2.exe: error: ld returned 1 exit status
The command 'arm-none-eabi-gcc.exe' failed with exit code '1'.
--------------- Build Failed: 04/02/2022 21:57:16 ---------------
Hi,
I want to dedicate a custom-made component exclusively to PSoC5.
It is straightforward to EXCLUDE a component by adding the Exclude files. For example, by excluding PSoC3, PSoC4 and FM0 (3 exclude files), one can leave PSoC5 the only remaining option.
But is there a simple way to mark component as PSoC5 only? (Sort of 'include' file)
Show LessEven if I make zero changes to code or schematic, when I press Build, it goes through the entire process all over again.
--------------- Build Started: 04/15/2022 17:11:23 Project: Application, Configuration: DP8051 Keil Generic Release ---------------
…
Elaborating Design...
…
HDL Generation...
Synthesis...
Tech Mapping...
Analog Placement...
…
Analog Routing...
Analog Code Generation...
Digital Placement...
Digital Routing...
Bitstream Generation...
Bitstream Verification...
Static timing analysis...
API Generation...
Dependency Generation...
Cleanup...
The compile step is up to date, no work needs to be done.
LIBX51.exe TRANSFER …
LX51.exe …
OHx51.exe …
…
--------------- Build Succeeded: 04/15/2022 17:12:07 ---------------
It takes 44 seconds every time I change one line of code, but there's no reason to re-build any of the programmable logic or the code when they haven't changed. Can't one or the other or both be skipped?
When I build a code-only project in µVision, it takes less than 1 second.
Show Less