PSoC™ 4 Forum Discussions
Hello everyone,
recently at work I was tasked to write code to run three SPI buses on a PSoC board. We bought PSoC 4 L-Series Pioneer Kit (CY8CKIT-046).
I have no embedded experience at all and I am trying to get up to speed asap. So far I installed PSoC Creator 4.2 and found some examples with SPI bus:
CE224339_PSoC4_SPI_Master_DMA,
CE224463_PSoC4_SPI_Master_Interrupt,
CE224463_PSoC4_SPI_Master_Polling,
CE224463_PSoC4_SPI_Master_DMA,
DMA_SPI_PSo4.
DMA_SPI_PSo4 seems like something that I need. It builds fine, but when I try to program the device I get "No Devices Detected" error message.
The device is connected to my laptop. In fact, I can control my mouse with its sensor. I wonder if the problem is that this example is configured and built
for a different target device. When I open Device Selector I cannot find my device (CY8CKIT-046) in the list. The same happens when I am trying to create a new project:
my device ID is not in the Target Device list. Also, I do not know what to pick for the Target Module entry.
Please help! I feel lost and I have lots of pressure to perform despite my lack of experience in this field.
Thank you!
Show LessHi everyone,
I have some problem on a psoc 4100 BLE (CYC84127) to configure UART RX pin with a pull-up by software.
Indeed, when using the provided function (UART_CONSOLE_rx_SetDriveMode(UART_CONSOLE_rx_DM_RES_UP) nothing happens on the pin.
Did I miss something or is it simply impossible to configure a pullup on the SCB-UART?
Thank you for your help.
Best regards
Arnaud
Show LessHi Team,
I need your kind support on the following.
I have configured my Cypress BLE module as observer.
My module will listen to the broadcasters advertisements and send scan requests and receives scan response perfectly. All this is working properly.
But the actual problem here is when I receive advertisement, I am trying to modify the device address i.e. scan Request, it is changing and reflecting for the next advertisement received, not immediately. Why is this happening? Is there a way to avoid to this? How this problem can be solved?
when I receive an advertisement, I need to change scan request(device address) and broadcaster should receive this instantly and not for the next advertisement.
Can you kindly provide your support for the same. Hope I am clear in my explanation.
Thanks, Regards,
Kumar
Show LessI'm trying to understand the best way to handle the CDC interface while using automatic memory management in USBFS as a composite device, (I'm using the CY8CKIT_046_USB_Audio as a starting point). It's confusing that the USBFS API includes code for operating in this mode but the component datasheet (v3.20) states that it is not supported. The non-support makes sense because it appears that the out endpoint is not re-enabled automatically and my attempts to re-enable it manually work for a few out transfers before the interface hangs, hanging other DMA USB interfaces along with it (audio streaming and HID). CDC input seems to work by inserting a NULL at the end of the transfer, per Michael's recommendation here: USB CDC using DMA. I can receive data from the device by using USBFS_PutData() using this API mod.
The 'USBFS_UART' and API documentation states that USBFS_start() should be called, which sets up the USB interfaces DMA channels (I don't do this currently because the USB audio example sets up the audio streaming DMAs manually). If I call USB_Start() and then re-init the audio stream DMA channels manually per the example, will it break the API in other ways by doing so, especially if the management mode isn't supported anyway? If so, is there a different way to do this other than manually handling CDC endpoints directly with the assigned interrupts?
Show Less
hi I have two BLE dongle(CY5670)
when I connect the one it's being Cyress KitProg and the other is
like this I want to make first to second.
also I have a bluetooth mouse that developed by my company
when I use that I usally pairing with BLE dongle(CY5670)
Press the sw2 on dongle and the blue LED will blink rapidly.
when I turn on the mouse and pair it, the blinking LED will turn off and then turn blue
.
Since then the mouse will work, but when I want to turn off the paired mouse and try to connect another mouse
I can not connect. Pressing the reset button does not work.
If it is a normal pairing, LED1 must be turned off and on, but when I connect another mouse, it will turn off but not turn on
Anyone who knows how to solve this problem, plz help me
Show LessRegistrations just opened for our upcoming PSoC 4700 "Sense-Anything" MCU Webinar, co-hosted with Mouser: Design Human-Machine Interfaces that “Sense Anything” with PSoC 4700 MCUs
Date: Tuesday, October 30, 2018
Time: 11:00 AM Eastern Daylight Time
Sponsor: Mouser Electronics and Cypress
Duration: 60 Minutes
Summary:
Join Michi Yoneda and Pushek Madaan, as they introduce the new PSoC 4700 Sense Anything MCU family. PSoC 4700 MCUs add advanced-sensing capabilities to the PSoC 4 portfolio of 32-bit Arm® Cortex®-M0+ microcontrollers.
This family includes the PSoC 4700 S-Series, which features Cypress’ advanced inductive sensing technology, MagSense™. MagSense enables new, innovative solutions for industrial, automotive, and consumer applications that require robust human machine interfaces, fully waterproof interfaces, and sensing of metal objects. In addition, participants will be able view PSoC 4700S-Series MCUs in action with an out-of-box demo of the PSoC 4700 MCU Inductive Sensing Evaluation Kit (CY8CKIT-148).
Show Less
Hello,
I'm looking for a PSoC 4 bootloader that loads an image from an external buffer (ext. flash in this case, which has the cyacd file in it).
I'll make sure the image gets inside the flash from my end, I can provide the bootloader with the char array of the cyacd file, or line by line, whatever works. What I am looking for is the code that loads that cyacd file to the flash.
All bootloaders seem to be made to run from a communication protocol rather than from an external buffer.
Now the BLE examples have an external flash bootloader demo, but I dont really see the separation between bluetooth and the bootloading.
I guess a good start would be to have a bootloader that starts with a (hardcoded) images string (cyacd file contents) as an input. Does anyone have such a thing? The rest I can do myself
If I am approaching things the wrong way, or if I am not clear what I need, let me know
Regards,
Robert
Show LessIs it possible to use a broadcast type communication between a smartphone as broadcaster and multiple devices implemented CYBLE-022001-00 as observers?
Show LessThis is with PSoC Creator 4.2.0.641.
The end goal is to create a nightly build of firmware using TeamCity, but I'm running into this problem:
Build PSoC projects via Jenkins (Error: prj.M0274)
I can duplicate this error by invoking cyprjmgr.exe from an administrator command line. Running cyprjmgr.exe from my local user account (where PSoC 4 was installed) does not generate this error.
How can I run cyprjmgr from a different user account than where it was installed?
Show LessHello all,
I have my BLE configured as follows:
My code is as follows
/******************************S T A R T ********* M A I N . C ******************************/
void monitorCybleState();
int main(){
CyBle_Start(StackEventHandler);
for(;;){
monitorCybleState();
}
return 0;
}
void monitorCybleState()
{
switch(CyBle_GetState()){
case CYBLE_STATE_STOPPED:
break;
case CYBLE_STATE_INITIALIZING:
break;
case CYBLE_STATE_CONNECTED:
break;
case CYBLE_STATE_ADVERTISING:
break;
case CYBLE_STATE_SCANNING:
break;
case CYBLE_STATE_CONNECTING:
break;
case CYBLE_STATE_DISCONNECTED:
CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST);
CyBle_GapcStartScan(CYBLE_SCANNING_FAST);
break;
default:
break;
}
}
/******************************E N D ********* M A I N . C ******************************/
/**********************S T A R T *********** E V E N T . C **********************/
void StackEventHandler(uint32 event, void* eventParam){
switch(event){
case CYBLE_EVT_STACK_ON:
break;
case CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT:
printf(".");
break;
case CYBLE_EVT_GAPC_SCAN_START_STOP:
printf("CYBLE_EVT_GAPC_SCAN_START_STOP\r\n");
break;
default:
break;
}
}
/**********************E N D **************** E V E N T . C ***********************/
/**********************OBSERVATIONS******************/
I see that advertisement and scanning are started. I can see my BLE advertising with the payload I configured. Also,the scanning is active as I can see the dots on my console. After a while I don't see any dots which means there are no scan events. This implies that scanning has stopped because there are active BLE devices emitting beacons all the time. I printed the value of CyBle_GetState() and it shows 4.
4 corresponds to CYBLE_STATE_SCANNING.
This implies that Cyble is still in scanning state but it is not scanning anymore. I am not sure why. I added debug messages to see if somehow CyBle_GapcStopScan() is being called. I didn't see my debug messages on console. So no. I am not sure why scan is stopping after a while. It stops at random times. However, advertisement is functioning well.
As of now the only way to fix this is using stack restart which is CyBle_Stop() and Cyble_Start() which starts the advertisement and scan again. Any suggestions on how to fix this without stack restart?
Thanks
Dheeraj
Show Less