PSoC™ 5, 3 & 1 Forum Discussions
Hi all,
I am working on an RC car project and for this project I am using a multitude of sensors (speed, GPS, Proximity). So far, I've been running through a single while(1) loop, however, I've been thinking about exploring the possibility of using FreeRTOS to manage all the sensors in the system. (I have no experience using RTOS but I would like to start somewhere)
Now, this uses radio communication over UART in order to receive the commands for the car's movement.
My question is: Would you recommend using an RTOS for something like this?
Show LessHi,
In my board design I have connected these 2 analog pair inputs to the SIO pins in the PSoC:
AIN_O6P = P12_2
AIN_O6M = P12_3
*M refers to GND path which belong to this specific analog input.
*P refers to the analog input.
Please your support understanding how to configure these SIO inputs.
Thanks,
Roy Roif
Show LessHello,
I have a question about the USBFS component and API as it pertains to managing connection/disconnection from a USB host.
The system I am working with is self-powered. VBUS is a little weird in this design. The PSoC does not have any access to VBUS directly. the signal I am using in place of VBUS Detect is a signal that is high when the PSoC is selected by a USB 2.0 mux. When the other USB device on the mux is finished, it switches the mux over to the PSoC5LP and alerts the PSoC that it has been selected. So basically, VBUS Detect is high when it's *possible* for a host to be connected, but most of the time there is no actual host on the other end (the connection is mostly just for bootloading). See below:
One thought I had was to use USBFS_GetConfigurationChanged() to detect the config change when a host connects, but what I'm finding is that even without a host connected, it will still pass through if(USBFS_GetConfigurationChanged() != 0) immediately, without regard for if a host is actually connected.
Is there a way through software to detect a connection event without having VBUS available as a trigger?
Thanks for the help!
Show LessDear Sirs and Madams,
We are considering the low power mode of PSoC5LP.
Hibernate mode ⇔ active
Sleep mode ⇔ active
PSoC5LP repeats the above state transitions.
When the master clock of PSoC5LP is set to 68MHz (using PLL),
The operation is always stuck by the return CyPmRestoreClocks () ;.
The reproducibility of this problem is 100%.
/******** Software excerpt ********/
CyDelayUs(20);
CyPmSaveClocks();
CyPmHibernate();
CyPmRestoreClocks(); // <= Stack in this process
CyDelayUs(20);
However, when the master clock is set to 24MHz (using PLL),
This stacking problem does not occur at all.
Is Cypress aware of this issue?
Do you have a countermeasure plan?
Regards,
Show LessI would like to replace the UART Bootloader Host Application executable with a program written in LabVIEW.
Ideally LabVIEW would call a dll like BootLoad_Utils.dll that has a function Bootload.
The Bootload function would take in parameters: COM Port, Baud Rate, and Bootloadable File and it would output the Status Log.
Alternatively there could be functions like Set_COM_Port, Set_Baud_Rate, Set_Bootloadable_File, and Start_Bootload.
It would also work if functions like these can be sent from the command line.
Do these libraries and functions exist? Is there documentation for how to use them?
Thanks
Show LessHello, I'm trying to implement an OTA myself by using code used on other platforms.
the code download the requested binary,
write it from a defined address (matching dual-app configuration in the bootloader)
and in the end add signature the allow Bootloader_Start to run the code.
the problem is - this code needs crating a binary (in my case, address 0x4000 and on, or address 0x22000 and on)
and the binary created - does not run successfully.
I generate the binary using this command:
arm-none-eabi-objcopy .\CortexM3\ARM_GCC_541\Debug/RBL_MainApp_1.elf -O binary .\CortexM3\ARM_GCC_541\Debug/RBL_MainApp_1.bin -j .text -j .eh_frame -j .rodata -j .ARM.exidx
but it seems important part is missing.
Any insights would be appreciated.
Show LessHi,
I am using a PSOC5L (CY8C5888LT1) in an application where I write some data structure to the emulated EEPROM. I defined a size that fits comfortably in the available flash (90112 bytes). The writings and sub-sequent readings are performed without error (I debugged this by immediately reading after writing) but if I power cycle or reset the uC and try to read back the EEPROM contents I notice the following :
1) Reading the EEPROM up to the end of allocated size, just after programming, is fast (all data is zero, as the flash was erased as expected)
3) Reading any number of bytes when the EEPROM is almost empty (let's say, a few % of total capacity) is also fast
4) As I put more data, the readings becomes slower and slower (although I did not noticed any degradation in the writing operation)
Reading an almost full 90kBytes emulated EEPROM takes almost 1s per each reading (48 bytes) ! It seems that the code is spending a lot of time in the while loop in the GetRowAddrBySegNum routine of cy_em_eeprom.c .... Except for the slow access, the data seems to be fine . The data written is a 48bytes structure and the operations are done with an almost exact copy, except for the structure written, to the EEPROM basic design project pointed by example in CE195313.
Does anyone have some hint on what could be causing this ? I am using PSOC Creator 4.3 and Arm GCC compiler that comes with it ...
Thanks & cheers,
Marco
Show LessI have executed the following function to initialize the I2C slave device, but it seems that communication is not working properly.
I2CMAST_MasterClearStatus();
Stat = I2CMAST_MasterWriteBuf(AQM0802_ADW, &TestData, 2, I2CMAST_MODE_COMPLETE_XFER);
for(;;) {
if(0u != (I2CMAST_MasterStatus() & I2CMAST_MSTAT_WR_CMPLT))
break;
}
※Note Slave Address:0x7c、The contents of TestData are 0x80,0x34
Additional information:Implementation is a fixed function
The actual waveform as a result of executing the WriteBuf function is (See attached document)
It seems that only the first slave address is transferred from the actual waveform
There seems to be no problem with the transfer timing of the slave address.
I would appreciate any good advice on this phenomenon.
Thank you
Show Less
Dear Sirs and Madams,
We would like to know errata information about PSoC Creator and PSoC5LP(Includes all components).
I checked the website but couldn't find it.
Is errata information about PSoC posted on the Cypress website?
Regards,
Show LessHi,
I dont know why, but the Delta Sigma ADC [ADC_DelSig] component is missing in my PSoC Creator when I am trying to design a project for my PSoC Chip [CY8C5467AXI-LP108], yet it is shown for my other PSoC Chip [CY8C5868AXI-LP035].
I dont understand why it is happening since it is written in the datasheet that the CY8C5467AXI-LP108 PSoC Chip also has delta sigma adc in it.
Please your support according to these information:
PSoC Chip - CY8C5467AXI-LP108.
PSoC DVK - CY8CKIT-001.
PSoC Creator - Ver 4.3
Thanks,
Roy Roif.
Show Less