PSoC™ 4 Forum Discussions
Hi everyone.
I'm pretty new to this architecture and I'm asked to generate a 16 MHz square wave output, using a CY8C4125LQS-S423.
My understanding is that this part no. has a fixed 24 MHz clock and that I can't route an internal fractional divider to a pin.
Am I right?
Thank you for your help.
Show Less
Hi! I'm wondering what the OVTIO labeled pins are, and how they can/can not be used.
It seems they can be used for certain GPIO tasks, but for example not for quadrature decoding.
Show LessDear All.
I found SmartCard feature in SCB datasheet like attached capture.
If you have this sample code, Please share the sample code and guide.
FYI, https://community.cypress.com/t5/PSoC-4-MCU/Smart-Card-Example-Code-for-PSoC4A/m-p/129244 is including Microcell block for TFF. I have to use PSoC4100M device.
Thanks and Regards.
Robert
Show LessI want to make an access control device based on the automatic Bluetooth connection of a smartphone. I used the example project CY8CKIT-142 HID keyboard, the device connects to the smartphone without asking for a password. How do I add one-time authorization to a smartphone using a user-entered password?
Show LessHello Everyone,
I am currently working on Cypress PSoC 4100s plus prototyping kit, and for that i am using PSoC creator 4.2 so now every compiler has its MAKE file as it is generated by compiler itself. So now problem is i am not getting .MAKE file in PSoC 4.2 for respected project.
So if anyone knows in which folder i should get MAKE file in PSoC creator 4.2 then please let me know.
Thanks & Regards.
Show LessHi All
I found the NAK Signal During the write frame.
I have attached the logic analyzer observation result for the same.
Master Device:- PIC Controller
Slave Device :- Cy8C4025AZI-S413
My Slave Address is 0x08
Ideally After Address byte their should be ACK From Slave but I observed NAK Signal.
I am not getting where is the exact mistake?
Any help will be highly appreciated.
Regards,
AsDh
Please Find the below Code for reference..
#include <project.h>
/* Macro Declaration */
#define BUFFER_SIZE (1u)
#define PACKET_SIZE (BUFFER_SIZE)
/* The I2C Slave read and write buffers */
uint8 i2cReadBuffer [BUFFER_SIZE] = {0};
uint8 i2cWriteBuffer[BUFFER_SIZE]= {0};
uint8_t flag1=0;
uint8_t flag3=0;
void Received_Data_From_Master1();
int main()
{
/* Eneble Global Interrupt */
CyGlobalIntEnable;
CapSense_Start();
CapSense_ScanAllWidgets();
/* Start the I2C Slave And I2C Address Setting*/
I2CS_I2CSlaveInitReadBuf(i2cReadBuffer, BUFFER_SIZE);
I2CS_I2CSlaveInitWriteBuf(i2cWriteBuffer, BUFFER_SIZE);
I2CS_I2CSlaveSetAddress(0x08);
I2CS_Start();
for (;;)
{
//CyDelay(2);
/* With Respect to Master i.e Checked Whether the Master Write Complted Or Not */
if (0u != (I2CS_I2CSlaveStatus() & I2CS_I2C_SSTAT_WR_CMPLT))
{
/* Calling Function to Collect The Data From Master */
Received_Data_From_Master1();
/* Enable this above function when we used the data On Switch Function */
/* Clear the slave write buffer and status */
I2CS_I2CSlaveClearWriteBuf();
(void) I2CS_I2CSlaveClearWriteStatus();
}
if (0u != (I2CS_I2CSlaveStatus() & I2CS_I2C_SSTAT_RD_CMPLT))
{
/* Clear the slave read buffer and status */
I2CS_I2CSlaveClearReadBuf();
(void) I2CS_I2CSlaveClearReadStatus();
}
if(CapSense_NOT_BUSY == CapSense_IsBusy())
{
/* API For Capsense Update Scanning And Process */
CapSense_ProcessAllWidgets(); /* Process all widgets */
CapSense_RunTuner(); /* To sync with Tuner application */
/* Checked whether Left Button Active or Not*/
if((flag3==0)&&(CapSense_IsWidgetActive(CapSense_BUTTON2_WDGT_ID)) )
{
POWER_LED_Write(0);
flag3=1; /* Reseting Left Button Flag */
i2cReadBuffer[0] = 0x01;
// while (I2CS_I2C_SSTAT_RD_CMPLT!=(I2CS_I2CSlaveStatus()));
// /* Clear the slave read buffer and status */
// I2CS_I2CSlaveClearReadBuf();
// (void) I2CS_I2CSlaveClearReadStatus();
//i2cReadBuffer[0] = 0xFF;
}
else if((flag3==1) && (!(CapSense_IsWidgetActive(CapSense_BUTTON2_WDGT_ID))))
{
flag3=0; /* Setting Left Button Flag */
i2cReadBuffer[0] = 0xFF;
}
/* Checking Right Button active or not */
if((flag1==0)&&(CapSense_IsWidgetActive(CapSense_BUTTON0_WDGT_ID)))
{
flag1=1; /* Reseting the flag*/
i2cReadBuffer[0] = 0x06;
// while (I2CS_I2C_SSTAT_RD_CMPLT!=(I2CS_I2CSlaveStatus()));
// /* Clear the slave read buffer and status */
// I2CS_I2CSlaveClearReadBuf();
// ( void) I2CS_I2CSlaveClearReadStatus();
i2cReadBuffer[0] = 0xFF;
}
else if((flag1==1)&& (!(CapSense_IsWidgetActive(CapSense_BUTTON0_WDGT_ID))))
{
flag1=0;
}
CapSense_ScanAllWidgets();
}
}
}
void Received_Data_From_Master1()
{
switch(i2cWriteBuffer[0])
{
/* After Receiving 00 touch will be Ready to Work */
case 0x00:
i2cReadBuffer[0] = 0x19; /*According to New Document Wants to transmit new data acknowledgement */
POWER_LED_Write(0);
break;
}
}
/* [] END OF FILE */
Show Less
Bonjour, nous avons un projet ou ne devons piloter un véhicule en Bluetooth avec l'application , or nous ne parvenons pas a faire le code, le véhicule est déjà fait, les pins on déjà été associée a la carte Psoc4 BLE , il ne reste qu'a faire le code et l'injecter dans le véhicule et le configurer avec l'appli, c'est très simple et pas long mais nous y arrivons pas du tout. Nous payons très bien pour les intéressée.
mail: lebsec.per2@gmail.com
Show LessOn a PSOC4100PS I use a switched-cap VDAC
1.40. The output amplifier can be operated as a "Follower" or as an "OpAmp", configurable in the "Configure" dialog in PSoC Creator 4.2. In my application I need the option to switch this selection during operation. If I configure the output as "OpAmp", I can assign a PIN to the negative input of the OpAmp, if I then reconfigure it to "Follower", the PIN remains, but is internally not connected. Both configurations work great on their own. Unfortunately, the Application Programming Interface (API) does not provide me with a function to do this during operation.
Can we expect an extension of the API to include this function in the future?
Or is there another option? For example by modifying some register values somewhere?
I am unable to get the isr to function for the I2S.
Using the "debugger" I can read the register that hold the INT flag (I2S_TX_STATSUS0_REG(CH0) and it will read 0x02 (which means that CHO FIFO is NOT full).
The data sheet states that the INT flag is the result of a Logical OR of bits 5:0. If bit 1 is set then bit 7 (INT) should be set. It is NOT.
Thus.....the isr is never entered.
Why?
I2S component is configured as Stereo, Interleaved,FIFO 0 not full, Bit resolution = Static, Data bits = 16, WS = 32, TX only.
Show LessI am trying to set up the code for the BNO055 sensor but I am a bit confused about how to write the .c file. I've been looking at the sample code produced by Bosch (https://github.com/BoschSensortec/BNO055_driver/blob/master/bno055.c) but I only need to read the quaternion orientation and the linear acceleration so I don't what to look for exactly. Any help would be great! Also, any sample codes would be greatly appreciated!
Show Less