PSoC™ 4 Forum Discussions
Hey there !
I'm working on PSOC 4 BLE with the Pioneer Baseboard, on a project i use the switch interrupt based on the GPIO P2.7.
On the Pionner Baseboard it works perfectly !
But when i use my breakboard ( where the GPIO 2.7 is wire on a switch (button) to the mass), it doesn't work .
I received the signal when i push the switch but when i'm release the switch the psoc 4 doesn't get the signal.
I do that because i need to know when someone push the button and realease the button.
Does anybody know why ?
thx,
Vivien
Show LessHi,
In our design we are switching from using an external BLE Module (past) to our own PSoC 4 BLE solution (future) where we used the PSOC withcertified BLE stack plus our own custom firmware.
Also we use the cypress recommended design antenna.
We will of course run the FCC certification and familiar with the process for BLE modules.
I heard that when as part of FCC requirements developing your own PCB then you might need to run a calibration process in production for each PCB to compensate for PCB manufacturing variations.
I am sure that from functional point of view we don't need it.
I just wonder about the regulatory requirements.
Can someone confirm / disproof this?
If the answer is yes then can you point to the location of this FCC requirement?
If the answer is yes can someone please explain what is the procedure?
Thanks,
Shachar
Show LessHi Guys,
I need help regarding making MAX17043 to work with my PSoC CY046. So I have some initial code based from this reference which uses arduino instead.
Here is the snippet code that I have derived based from that but the problem is like this:
So I have been trying to read the configuration of MAX17043 with my PSoC device but I can't get anything from its buffer. On the other hand, I have tried using arduino with the given library for MAX17043 instead and it works well. Another thing is I have tried to create a dummy slave using arduino to check if PSoC was able to communicate with it and it looks working well as I see received and response data in serial monitor of arduino. So I'm not sure what could be wrong with this.
My I2C settings was:
Show Less
I have build several identical custom boards with a CY8C4245AXI. On some boards I notice that the controller does not run as fast as it should.
I have removed all parts except the capacitors for the controller, still the controller is slow.
The controller is powered by the Miniprog3.
A test application only has a timer and one output pin.
There are no warnings during build.
Here is what I observe:
clock set to 48MHZ
timer should generate a 200kHz signal
running at 3.3V: output signal is 59kHz (slow)
running at 2.5V: output signal is 200kHz (ok)
clock changed to 24MHz
output signal now should bei 100kHz
running at 3.3V: output signal is still 59kHz (same as with 48MHz clock!)
running at 2.5V: output signal is 100kHZ (ok)
I have at least 5 controllers that show this behaviour. And there are about 20 other controllers that run as expected.
Why do some controllers run slowly at 3.3V?
Show LessI know there is advDelay(0 ~ 10ms) when I advertise. I want to remove advDelay and advertise at the same interval.
Of course I know that advDelay will prevent conflicts between different beacons. I will do some testing by removing advDelay.
I have read the PSoC 4 BLE Troubleshooting Guide-KBA220490 and have read the section in section 1-20, "How do I disable random advDelay in the firmware?" I did the same. But the problem was not resolved. If you declare before the start of CyBle_Start () function, BLE is not scanned, CLK is not sleep-mode and it kept running. Conversely, if you start and declare the CyBle_Start () function, BLE is able to scan and CLK is sleep-mode. Still, advDelay was not removed.
I used the site's Dynamic_Broadcaster example and used fixed data instead of dynamic.
Also, https://community.cypress.com/docs/DOC-13821
You have read Section 1-20 of the site.
Where did I make a mistake? Or am I misinformed?
Can you suggest a way to remove advDelay? ㅠㅠ
Thank you.
Show LessHi PSoC Community,
I'm working with the firmware of a product we will be launching soon. We are using PSoC 4 (CY8C4245AZI-473) with internal clock set to 48 MHz and VCC to 5V. I have enabled the ADC as hardware triggered so I can start a conversion manually using ADC_StartConvert() function. This is the code for ADC initializing:
ADC_Start(); // Starts ADC
ADC_IRQ_StartEx(ADCINT_SERVICE); // Function assigned to ADC interrupt
ADC_EnableInjection(); // Enable Inj channel for microcontroller temperature reading
ADC_SetLimitMask(0); // Avoids limit values interrupt
ADC_SetSatMask(0); // Avoids saturation values interrupt
ADC_StartConvert(); // Start ADC conversions
This is the interrupt code:
CY_ISR(ADCINT_SERVICE) // Sets flag indicating end of conversion
{
uint32 intr_status;
intr_status=ADC_SAR_INTR_REG; // Reads interrupt flags from ADC
if(intr_status&1) // Masks all interrupt flags except end of conversion
FlagAdc=1; // Indicates conversion ready
ADC_SAR_INTR_REG=intr_status; // Clear interrupt flags
}
This code goes inside main():
if(FlagAdc) // Ha terminado una conversion del ADC?
{
FlagAdc=0;
AdcWDT=0;
adc_read(Conversions); // Procesa las medidas capturadas por el ADC
}
And this is the function to read the ADC conversions:
void adc_read(uint16 *Ptr)
{
int16 TempAdc; // Used to read ADC values
uint8 AdcChannel; //ADC channel
if(Flag.MicroTempRead) // Time to read microcontroller temperature?
{
Flag.MicroTempRead=0;
Ptr[TM]=(uint16)(ADC_GetResult16(TM)/8); // Reads microcontroller temperature
}
for(AdcChannel=0;AdcChannel<TM;AdcChannel++)
{
TempAdc=ADC_GetResult16(AdcChannel)/8; // Gets average of each conversion
if(TempAdc<0) // Negative values?
TempAdc=0; // Convert them to zero
Ptr[AdcChannel]=(uint16)TempAdc;
}
if(Flag.MicroTempAsk) // Ready for microcontroller temperature?
{
Flag.MicroTempAsk=0;
ADC_EnableInjection(); // Enables injection channel for microcontroller temperature
Flag.MicroTempRead=1; // Indicates microcontroller temperature reading next time
}
ADC_StartConvert(); // Starts next conversions
}
The problem is that sometimes the conversions stops updating, like if the ADC end of conversion interrupt was suddenly disabled. This happens randomly, the product could run nice for several hours and then the problem appears. We have tested about ten units, but two of them shows this issue. All of the other interrupts and functions (PWM, timer, Watchdog timer, I2C, UART, etc.) keeps running smoothly.
Question: What could cause the ADC interrupt EOC to stop without user consent?
Thanks for your help.
Show LessHello,
I'm trying to add a Fixed Stack Bootloader to my Ble applicaiton. I first tried the example from AN97060 and it worked.
Now i wanted to extend my application with teh Bootloader, but after I followed step 5 and 6 nad try to build it I recive the massage: "The Bootloader requires a bootloader supporting IO component in order to transfer a new application into flash."
How can I fix that Error?
Grettings
Matthias
Show Lesshello all ,
i have the psoc 4 pioneer kit .
i am trying to implement an ezi2c slave with 5 registers in it .
and i want to write to a specific register from the bridge control panel
without overwriting the other registers.
if i write to offset 00 - i can write to the first register
bridge panel command i send: w 13 00 aa p;write to address 13 with offset 00 ,data to reg1 aa
if i write to offset 00 , 2 commands in a row i can write to both of my registers
bridge panel command i send: w 13 00 aa bb p;write to address 13 with offset 00 ,data to reg1 aa ,data to reg2 bb
but i want to write only to register 2 ,if try to write to offset 01 some data it still writes to the first register
bridge panel command i send: w 13 01 bb p;write to address 13 with offset 01 ,data to reg2 bb .
can someone please tell me what is the bridge control panel command
i need to send in order to write just to register 2 ??
Thanks
Show LessHi, I need the C and the header files for MPU-6050 for CY8CKIT-042 PSoC4
Hello,
There is described to be able to use 14-bit Incremental Delta Sigma ADC in Data sheet of Analog coprocessor. Also, I read Analog Coprocessor TRM and I understood if I configure the Delta Sigma ADC, I have to use SAR ADC and comparator in UAB by myself.
Anyway, I can not have any idea to configure how to use the SAR ADC and the comparator to make Delta Sigma ADC. So please let me know the way or sample schematic and source code.
Best regards,
Show Less