PSoC™ 4 Forum Discussions
Hi All,
I'm using the EZ-BLE modules CYBLE-214009-EVAL and CYBLE-014008-EVAL with CY8CKIT-042 PSoC® 4 Pioneer Kits.
I'd like to scan for any/all I2C devices connected to my device, similarly to the Arduino project "i2c_scanner" (http://playground.arduino.cc/Main/I2cScanner).
Each module has identical code (apart from the I2C address) utilising an SCB Multi-Master-Slave component, when one module is triggered it should scan all I2C addresses and note any successful scans.
I've used a modified (with UART printfs for debugging) WriteCommandPacket() function from the SCB_I2cCommMaster code example.
So far my methods have involved looking for error codes from WriteCommandPacket() and I2CMasterWriteBuf(), but I've not been successful
So my problem is that I don't know the best way to test an I2C address with the aim of determining its presence. My ideal function would be something like: uint8 TestI2CAddress( uint8 address ) which would return boolean type values( 0u/1u ).
Can anyone suggest the best way to achieve my objective please?
Thanks,
George
Linked post: http://www.cypress.com/forum/proc-ble/updating-application-firmware-ez-ble-012011-over-uart-another-micro-controller
Hello,
I was able to update the firmware on EZ-BLE 012011 evaluation board via UART following this document. However, I used the windows GUI provided with the application note. Section 2.5 of the mentioned application note, tells how to use an embedded host for bootloading. But it's only applicable for cypress devices.
What is the procedure for non-cypress micro-controllers say arduino? Also the windows GUI takes .cyacd file which is being converted to hex format and is stored in StringImage.h. The documentation says that the bootloading process is built on 4 files:
1. communication_api.c/h
2. cybtldr_command.c/h
3. cybtldr_parse.c/h
4. cybtldr_utils.h
How do I use/port the files in UART_Bootloader_Host.cydsn folder into a non-cypress micro-controller project to update the EZ-BLE 012011 firmware over UART?
Any documentation/projects would help.
Thank you
Dheeraj
hi every body,
if anybody works on this. can i get details?
when i used 89xx uc. there INTRINS extern unsigned char _crol_ (unsigned char, unsigned char); viz.
temp=_crol_(temp,1);/*Shift D7 BIT TO D0*/
SDA = (temp&0x01);/*SEND D0 BIT TO SDA*/
or how to implement this function.
Show LessCustom characteristic has a property ReliableWrite
Could someone please explain how it differs from a plain old write and when it should be used?
Thanks
Andy
Show LessHi,
My application for multiple time cc events used.
I wish used a same timer resource, it means that I write a compare register value to generate cc event interrupts when timer count reach the compare register, in the mean time, the timer does not stop, keep running and enter interrupt service routine, then firmware change compare register to a new value , new value is great than old (example it is a up counting mode), after clear interrupt return to main routine, wait for reaching next compare register value then CC event happened. The new value is enough to process interrupt service routine.
Is it workable ?
Show LessHi, when I debugging Cortex M0 from STM32 I can see the changing of program variables in debug session in "real time" without stopping the program. Thanks to SWD. In case of PSoC4 Pionerr Kit 042 in debug session I do not see the behavior of program variables. And only if I stop by any of breakpoints the states of all variables in watch window will be updated.
So is it correct behavior of PSoC Creator IDE? Is it possible to see the behavior of any variable in memory in "real time" without halting executing of program ? As I know it is a possibility of CortexM0 architecture and should be available in all CortexM0 SoC.
Thank you.
Show LessI upgraded a project from a PSoC 1 (Cy8C29566) because I needed more flash. I got started with a Cy8C4245 because I had a development board. It had the same flash size as the PSoC 1 so I was able to port the C code and then generate the new components in Creator. Now that the hardware is working I want to switch to the Cy8C4246AZI-M443 to get more flash. I created a workspace bundle of the Cy8C4245 project (using the complete option) and then extracted the files into a new folder and renamed the project and workspace. I then generated and built the project but got some errors on a couple of the pins with interrupts (because the dedicated interrupt box wasn't checked anymore) which I was able to fix and I got the following EEPROM error:
Error in component: EEPROM. The Em_EEPROM_v1_20 component (EEPROM) is not compatible with the selected device. Please check the component datasheet for details on updating to a compatible component.
I checked to see if I needed to update the EEPROM and it says version 1_20 is not compatible and the other version to select 1_10 is also not compatible. I also don't see the emulated EERPOM component available in the system area of the component catalog to add a new one. The PSoC4200M family datasheet says emulated EEPROM is supported and I don't see anything saying certain devices aren't supported.
I am working with PSoC Creator 4.0 Update 1 (4.0.0.432). It looks like this is the latest version.
thanks,
Kim
Show LessHi Team Cypress,
I'd like to know if you have done any efforts on building an efficient & generic transport + protocol to bridge two psoc cpu's?
Use-case is one or many Analog Coprocessors that needs to interface to a main PSoC, utilizing hw peripherals at a maximum.
I assume the new psoc 6 will need a few similar strategies for IPC communication between the cores. So would be great with a component that can offer an asynchronous event driven machinery between psoc's.
/David
Show LessHi,
This is my first study for PSoC device.
I need a function to emit variable frequency like DDS24 (It discussed on PSoC 5 forum), and I need BLE feature on same device. Thus, I select PSoC 4 BLE device for my case study, and I got a CY8CKIT-042-BLE Bluetooth® Low Energy (BLE) Pioneer Kit to verify the features.
I only need a software control frequency to generate out1, fixed phase shift 180 for out2, and another hardware/software “enOut3” to control output for out3.( all of out1/2/3 with same frequency ).
I load DDS24 library to my project, PSoC Creator 4 Update 1 builder shown the resource is not enough to fit on the device. Thus, I erase some feature of control register in DDS24_Core_v0_0.v, and use a fixed parameter for < tune_word > to get fixed frequency generation. Yes, It is workable, the resource meter shows “MacroCells 29/32, Unique P-terms 27/64, Datapath Cells 0/4, Status Cells 1/4, Control Cells 0/4”.
But, I need a API runtime controlled frequency entry for my project. My first question, if we can use DataPath elements, it may reduce the resource of Marcocells used, and we can get more resource to fit all features on the device. 2nd question, how can I to use a precision clock source for DDS24 ? It looks source comes from internal 48MHz to generate a lower clock source as 3MHz that I need, but, the error is too big to match my requirement, I wish to use the source comes from external crystal 24MHz, not internal 48MHz.
Has it any chance to implement ?
Show Less