PSoC™ 6 Forum Discussions
I would like to do a fixed stack OTA upgrade on a PSoC 6. I found AN97060 which explains about fixed stack OTA on PSoC 4. Digging around, I also found example projects on PSoC creator 4.2 (BLE_OTA_FixedStack_Bootloader) that does the same on a PSoC 4.
But, PSoC 6 examples only contains CE216767 (separate stack for bootloader and appklication) and upgradable stack projects. I couldnt locate any starter code for Fixed Stack OTA for PSoC 6 where the application and the bootloader shares the same BLE component. Is it possible to do Fixed Stack OTA on PSoC 6, if so, is there any starter code that I could utilize.
Thank You.
Vimal
Show LessI have added a SMIF component to my project and I'm trying to set it up to run from the cm0+ core. The SMIF interrupt is assigned to the cm0+
I am trying to follow the component datasheet. It says to paste in code from page 3 but that code contains errors that are "use of undeclared identifiers" (see picture below). I am also looking at the code example CE220823 but that seems very different to the datasheet instructions.
I think I need to run in memory mode, not normal mode, as I want to issue commands to read and write pages, erase sectors, and clear the entire memory - is that right?
HELP!!!
Show LessI am working on a university project to poll an electric meter over ZigBee to obtain consumption data at a more frequent interval than current systems allow. The goal is to present usage data to a consumer in as close to “real time” as possible. The project is somewhat split into two parts – one part which involves obtaining the data from the meter over radio and the other which involves providing access to the data on a webpage. I was planning to use the CY8CKIT-062-WiFi-BT board for the project. For the ZigBee connection with the meter, I have a 915MHz transceiver that communicates with the board over SPI.
Is it possible to set up a web-server using the board's WiFi module in PSoC Creator, or can this only be done in WICED Studio? It seems to me that it is definitely possible to configure the SPI in either IDE, but both need to be done at the same time.
If it is possible to set up in PSoC creator, are there any examples of this? I was able to run the CE222494 PSoC 6 WICED WiFi Demo already, but that is in WICED Studio.
I was also hoping to do the ZigBee communication part on one core and the WiFi part on the other core, but I read in one community post that the CM0+ is put to sleep when using WICED. Is that true, or is it possible to use both?
Show LessThe following discussion announced that, "USB" and "emFile" Component for PSoC6 on PSoC Creator will be available for 3Q.
However "USB" and "emFile" are not yet available even in October.
Is the schedule changed?
reference:
https://community.cypress.com/thread/32117
Show LessI have the CY8CKIT-062-BLE connected to a custom PCB that has a BME280 and another SPI chip on 2 different CS pins.
The SCB block that this is running from is called SPI_1 and it's set up as a SPI Master with 2 CSs and the pin allocation is all green as follows:
I downloaded the example drivers from GIThub here GitHub - BoschSensortec/BME280_driver: Bosch Sensortec BME280 sensor driver
and I have added the following files to my project:
bme280.c
bme280.h
bme280_defs.h
I'm trying to follow the instructions to dovetail the necessary links to the bme280 code so that it triggers the SPI commands (see the first page of the GIThub link above) as follows
Example for SPI 4-Wire
struct bme280_dev dev;
int8_t rslt = BME280_OK;
/* Sensor_0 interface over SPI with native chip select line */
dev.dev_id = 0;
dev.intf = BME280_SPI_INTF;
dev.read = user_spi_read;
dev.write = user_spi_write;
dev.delay_ms = user_delay_ms;
rslt = bme280_init(&dev);
but I'm unclear as to what to put in place of the user_spi_read, user_spi_write, and user_delay_ms. I think the delay is just CyDelay(); but it won't just take that function.
I can't find in the SPI documentation where the calls are for read and write and I'm unclear whether the CSs are just under my control and I take them low and high as needed. Also if I include the ISR, is the ISR called when a byte is received or what?
Any help on this is much appreciated.
Ted
Show LessI am referring "CE220960" project to implement "Upgradable Stack Bootloader" and it works fine when used as it is, with complete BLE running on single core CM4. My requirement is to use BLE on dual core (controller on CM0+ and Host and Profiles on CM4). But after making modifications as per "Appendix A: BLE Component CPU Core Configuration" of CE220960.pdf file, when I click Clean and Build all projects as mentioned in pdf errors are generated in 'Stack application' and 'user application' project. I have attached workspace below with all necessary modifications for dual core "Upgradable Stack Bootloader" which also generate errors after building the projects.
Show LessI am using GPS parsing code from Tilen Majerle that can be found here tilen@majerle.eu
There's a structure defined to hold the GPS date and time that sets up hgps.date hgps.month hgps.year hpgs.hours hpgs.minutes and hgps.seconds which are all uint8_t and the parsing code works well so that I can print the GPS time using this routine
void gpsDtTimeReport(void) {
xprintf("%s", "GPS Date Time\r\n");
xprintf("Date %02d/%02d/20%02u\r\n", hgps.month, hgps.date, hgps.year);
xprintf("Time %02d:%02d:%02u UTC\r\n", hgps.hours, hgps.minutes, hgps.seconds);
}
I've defined a dateTime variable as follows
cy_stc_rtc_config_t dateTime;
The RTCC in the PSoC 6 defines dateTime.date dateTime.month dateTime.year dateTime.hour dateTime.min and dateTime.sec as uint32_t and I've created code so that I can print the PSoC date time using this routine
void dateTimeReport(void) {
xprintf("%s", "PSoC Date Time\r\n");
Cy_RTC_GetDateAndTime(&dateTime);
xprintf("Date %02d/%02d/20%02u\r\n", dateTime.month, dateTime.date, dateTime.year);
xprintf("Time %02d:%02d:%02u UTC\r\n", dateTime.hour, dateTime.min, dateTime.sec);
}
In my code I wait until I know tha the GPS data is good and then run the following code
if (hgps.fix) { // we have good GGA data
xprintf("%s", "GGA data received...\n");
// and we previously got good RMC data so we must have all the data we need
dateTime.sec = hgps.seconds;
dateTime.min = hgps.minutes;
dateTime.hour = hgps.hours;
dateTime.year = hgps.year;
dateTime.month = hgps.month;
dateTime.date = hgps.date;
dateTimeReport();
gpsDtTimeReport();
Cy_RTC_SetDateAndTime(&dateTime); // and now the PSoC should run the RTCC
gpsState = normal; // for now we jump to normal and forget but what about a better fix? More satellites? etc?
xprintf("%s", "We got here\r\n");
GPS_UART_PutString("$PRTHS,U1OP,ALL=0,GGA=60\r"); // GPS only GGA data every 60 seconds
gpsReport();
dateTimeReport();
dstrState = getSWIMSdata;
}
but the output looks like this...
PSoC Date Time
Date 10/03/2018
Time 14:00:13 UTC
GPS Date Time
Date 10/04/2018
Time 15:31:32 UTC
Where the GPS info is correct and the PSoC info is wrong!
And if I move the Cy_RTS_SetDateAndTime(&dateTime); up 2 lines to before the 2 dateTime() reports, the whole program gets stuck and debug finds that I'm stuck in some exception loop.
At first I thought that the issue was in assigning a uint8_t to a uint32_t but from what I've read, that should not be a problem
Any ideas what my issue is?
Show LessHello,
Im trying to read data from my psoc 6 to my cysmart app.
My app is defined as the client and the psoc6 kit is defined as server.
Im writing to the psoc6 through the putty (with uart) and its working fine according to the echo recieved.
My problem is that i cant send the data to the app itself(with BLE), ive tried many functions but i think i lack knowledge of how the handles and descriptors work.
It should be simple but few examples over the forum didnt get me aby closer.
Thanks for the help
Show LessHi I am currently working on a project that has PWM's driving LED's on the dev board. Because the LED's are active low I've connected NOT gates between the PWMs' outputs and GPIO LED's.
The problem is the inconsistency of the signals before and after the NOT gate during deep sleep transition. The pwm always outputs '0' (before NOT gate) so the signal from the NOT gate should always be '1'. However there is a short period pulsation that the signal is '0' which is causing the LED to flicker dimly during deep sleep transition. Can this issue be confirmed? Thank you.
Show Less