PSoC™ 6 Forum Discussions
How to measure RF conductance performance in CYW43012 in CY8CKIT-062S2-43012 .
Hello community!
I have the following problem:
I need to modify the BLE connection timeout, I managed to do this by modifying the CY_BLE_GAPC_CONNECTING_TIMEOUT macros in the generated file cy_ble_gap.h and it works perfectly, but the problem is that every time I build the project, it returns to the value that had before. I did not find any option to modify this parameter in the component in the top design. Is there any solution for this ?
I´m using CYBLE 416045-02 and PSoC Creator 4.4
Thanks in advance.
Show LessHi everyone,
I'm still new to the PSoC6 and the ModusToolbox, so please excuse my questions in case I miss trivial aspects.
I want to take a single measurement from SAR Ch0 and transfer it to a variable using DMA. I'm starting slowly without multiple channels and DMA loops. I can see that the SAR is working correctly as the values I get from Cy_SAR_GetResult16(SAR, 0) change when changing the input voltage on pin10_0. However, the uint32_t adcValue variable, I would like to fill isn't changing. It stays constant. I know that SAR->CHAN_RESULT[0] has 32 bits with some status bits. However, the adcValue has to change when the input voltage changes, but it doesn't.
This is from the device configurator:
SAR
DMA
And this is the main.c
/*******************************************************************************
* Header Files
*******************************************************************************/
#include "cyhal.h"
#include "cybsp.h"
#include "cy_retarget_io.h"
/*******************************************************************************
* Global Variables
*******************************************************************************/
uint32_t adcValue;
int main(void)
{
cy_rslt_t result;
cycfg_config_init();
#if defined (CY_DEVICE_SECURE)
cyhal_wdt_t wdt_obj;
/* Clear watchdog timer so that it doesn't trigger a reset */
result = cyhal_wdt_init(&wdt_obj, cyhal_wdt_get_max_timeout_ms());
CY_ASSERT(CY_RSLT_SUCCESS == result);
cyhal_wdt_free(&wdt_obj);
#endif
/* Initialize the device and board peripherals */
result = cybsp_init();
/* Board init failed. Stop program execution */
if (result != CY_RSLT_SUCCESS)
{
CY_ASSERT(0);
}
/* Enable global interrupts */
__enable_irq();
/* Initialize retarget-io to use the debug UART port */
result = cy_retarget_io_init(CYBSP_DEBUG_UART_TX, CYBSP_DEBUG_UART_RX,
CY_RETARGET_IO_BAUDRATE);
/* retarget-io init failed. Stop program execution */
if (result != CY_RSLT_SUCCESS)
{
CY_ASSERT(0);
}
/* Print message */
/* \x1b[2J\x1b[;H - ANSI ESC sequence for clear screen */
printf("\x1b[2J\x1b[;H");
printf("-----------------------------------------------------------\r\n");
printf("SAR DMA\r\n");
printf("-----------------------------------------------------------\r\n\n");
/* Initialize Aref & SAR */
Cy_SysAnalog_Init(&pass_0_aref_0_config);
Cy_SysAnalog_Enable();
if (CY_SAR_SUCCESS != Cy_SAR_Init(SAR, &pass_0_sar_0_config))
{
printf("Error initializing SAR\r\n");
CY_ASSERT(0);
}
Cy_SAR_Enable(SAR);
Cy_SAR_StartConvert(SAR, CY_SAR_START_CONVERT_CONTINUOUS);
/* Initialize DMA */
if(CY_DMA_SUCCESS != Cy_DMA_Descriptor_Init(&cpuss_0_dw0_0_chan_15_Descriptor_0, &cpuss_0_dw0_0_chan_15_Descriptor_0_config))
{
printf("Error initializing DMA_D\r\n");
CY_ASSERT(0);
}
Cy_DMA_Descriptor_SetSrcAddress(&cpuss_0_dw0_0_chan_15_Descriptor_0, &SAR->CHAN_RESULT[0]);
Cy_DMA_Descriptor_SetDstAddress(&cpuss_0_dw0_0_chan_15_Descriptor_0, &adcValue);
if(CY_DMA_SUCCESS != Cy_DMA_Channel_Init(cpuss_0_dw0_0_chan_15_HW, cpuss_0_dw0_0_chan_15_CHANNEL, &cpuss_0_dw0_0_chan_15_channelConfig))
{
printf("Error initializing DMA_C\r\n");
CY_ASSERT(0);
}
Cy_DMA_Channel_Enable(cpuss_0_dw0_0_chan_15_HW, cpuss_0_dw0_0_chan_15_CHANNEL);
Cy_DMA_Enable(cpuss_0_dw0_0_chan_15_HW);
for (;;)
{
cyhal_system_delay_ms(500);
uint16_t result1 = Cy_SAR_GetResult16(SAR, 0);
printf("%d and %lu \r\n", result1,(unsigned long)adcValue);
}
}
/* [] END OF FILE */
Can anyone tell me what I'm missing? It must be simple because this community has no questions about this. Of course, I can provide the MTB project if helpful.
Show LessDears I have problem to change sample frequency for USB audio demo project USB Audio Device (FreeRTOS) https://github.com/Infineon/mtb-example-psoc6-usb-audio-device-freertos in Modus Toolbox 3.0
I modify USB descriptor to include 16000 Hz freq
And add new PLL_FREQ definition in audio_app.c
#define PLL_FREQ_FOR_48KHZ 55296000 /* in Hz */
#define PLL_FREQ_FOR_44KHZ 50803200 /* in Hz */
#define PLL_FREQ_FOR_16KHZ 18432000 /* in Hz */
And ofcourse modify app_set_clock to adapt to new freq:
void audio_app_set_clock(uint32_t sample_rate)
{
/* Wait till the CapSense is ready */
while (!touch_is_ready())
{
vTaskDelay(1);
};
switch (sample_rate)
{
case AUDIO_SAMPLING_RATE_48KHZ:
{
cyhal_clock_set_frequency(&pll_clock, PLL_FREQ_FOR_48KHZ, &tolerance_0_p); // PLL_FREQ_FOR_48KHZ
break;
}
case AUDIO_SAMPLING_RATE_44KHZ:
{
cyhal_clock_set_frequency(&pll_clock, PLL_FREQ_FOR_44KHZ, &tolerance_0_p);
break;
}
case AUDIO_SAMPLING_RATE_16KHZ:
{
cyhal_clock_set_frequency(&pll_clock, PLL_FREQ_FOR_16KHZ, &tolerance_0_p);
break;
}
default:
break;
But it did not help, in Windows Repro/HeadPhones advanced settings ... I see only 24bit/48000 and 24bit/44100 Hz
(before I do any modification - only compiled demo, there was only grayed 48000 Hz)
Could somebody help to get it works ?
Regards
Radim
Show LessHello all,
I'm developing the code for programming PSoC 6 devices.
I'm referring to "002-15554 Rev. *O" document.
I'm experiencing an error during acquire sequence.
In particular when I check pcVal value according specifcations, it isn't in ROM or SFLASH, but it points everytime to SRAM.
I experience the same behaviour with 2 different boards:
- one customer board with CY8C624A
- CY8CKIT-062S4 PSoC 62S4 Pioneer Kit with CY8C6244
In the community I found out that another developer had the same issue: Solved: Acquire PSoC6 MCU failed - Infineon Developer Community
Are the programming specifications correct for this point (pcVal must point in ROM or SFLASH during acquire)?
If so, for which reason I see that PC is pointing to SRAM?
Thanks in advance.
Best regards,
Giovanni
Hello!
Currently I am finishing my graduate thesis on PSoC 063 BLE and Modus Toolbox software!
I need some documents for the report. However I can't find them exactly:
+ Block Diagram and Structure of PSoC 063 BLE and PSoC 6 BLE family
+ PSoC 063 BLE works with Bluetooth Low Energy
+ Power saving of PSoC 063 BLE
I found some developer documentation, but it doesn't fit what I need. If anyone knows exactly what I'm looking for please help!
Thank you!
Hi,
I am developing a BLE Central application that connects to up to 4 Peripheral devices. So far, I have the scanning, connections, and disconnections working. I still have to develop the code to deal with custom notifications that are sent by the Peripherals.
However, if I establish a set of connections, and then do nothing more, after 30 seconds I get a CY_BLE_EVT_TIMEOUT event with a reason code of CY_BLE_GENERIC_APP_TO. What could be causing this?
Kind regards,
Peter
Show Less