PSoC™ 4 Forum Discussions
text.format{('custom.tabs.no.results')}
Hello, I am interested in scanning the QR code on the EZ-BLE module, and would like help understanding the data. I was not able to see anything online or on the datasheet about this. When scanned with multiple commercially available apps, the data looks something like "01400800011605102C5". Does the code correspond to manufacture date, lot number, die position, etc? We've scanned mutiple and they appear to be unique, but we are not sure what information is encoded in the matrix.
Show LessHi,
I'm using the CYBLE-222005-00 in my board design. Due to EMI issues we are looking for solutions to reduce EMI. I've read in the "PSoC® 4 BLE Architecture Technical Reference Manual" that there is the possible to configure the IMO in spread spectrum mode, but I can't figure out how to do this.
Is there any option in the clock settings of my project in PSoC Creator 4.1 or is there an application note describing how to achieve this?
Hope you can help.
Best
Philipp
Show LessI have a project running on a CYBLE-222014-01 module with SCB_1 set up for use as UART and I'm sending serial data via an FTDI USB chip to my PC using TeraTerm as the terminal. I've been sending all kinds of data out to the PC with no issues but I wanted to have my PRoC module read and react to serial data coming to it from the PC terminal.
I selected the Internal Interrupt radio button under advanced and then saw there was a file called SCB_1_SCB_IRQ.c with a section marked
/* Place your Interrupt code here. */
/* `#START SCB_1_SCB_IRQ_Interrupt` */
So I added my code of
SCB_1_IRQtriggered = 1;
to set my own flag and then picked up that flag in the main.c loop and, if it's set I wanted to send out the character just received...
if (SCB_1_IRQtriggered == 1) {
tempTed = SCB_1_UartGetByte();
SCB_1_UartPutChar(tempTed);
SCB_1_UartPutCRLF(0x20);
SCB_1_IRQtriggered = 0;
}
But, my code runs until I press a key in TeraTerm to send to the PRoC module and then the program locks/gets stuck in a doom loop - I think it's getting stuck in the IRQ Interrupt - I'm unable to run in debug mode due to the lack of pins.
Maybe I need to clear the interrupt that caused the IRQ but I can't find a function that does that.
One oddity is that, in the SCB Advanced tab, I selected the box for the interrupt source "RX FIFO not empty" but every time I come back to the dialog box after I make that selection, the box is unchecked???
Any advice on how to approach this task is much appreciated.
Ted
Show LessI am starting to add several internal software timers to a psoc4 design starting on the cykit-049 (most will probably be 1 sec decrement values but some could be minutes) . Can someone give me some advise on best path. I have declared a static volatile uint8 in main as global and also inside of the SysTick_interrupt_timer with a clean compile. However when I decrement the var in the systick it obviously doesn't decrement in main. Should I be using extern since SysTick is a separate file?
At some point I will be adding a WDT so maybe I need advice to move away from SysTick and into a WDT type interrupt but I still am confused on how to make a global in main visitable and modifiable in an interrupt routine such as SysTick. Is there an example that would help me understand this shared variable concept ?
Show LessHi all,
I'm currently working on a project that requires to datalog some data (64 bytes per packet) at 1kHz to a SDcard. For that, I have used on the FATFS code that Hackingday has kindly shared (https://github.com/hackingchips/PSoC_FatFs) and did some benchmarking. My chip is CYBLE-222014-00 running at 48 MHz and SPI master at 8 MHz. The sdcard I am using is 32gb and capable of 10+ Mbytes/s write and read speed when tested in my PC.
In my test code, I wrote 4096 bytes of data (multi-block of 512 bytes) using f_write. However, my write speed is ~236kbytes/s. This is pretty far off from the benchmark illustrated http://elm-chan.org/fsw/ff/res/rwtest1.png. I have even updated the FATFS to the latest version but to no better effect. I wonder if I'm missing anything?
Appreciate any help.
P.S. I have shared my test code. 🙂
Show LessI am starting up a new project and need to be able to copy a former project and make changes to it and rename and save as a completely new project (even workspace). I can't take the chance of altering the old project in any way as well.
On other platforms I have simply copied the whole design (ie project folder and all subtending folders) and renamed the main folder and started modifying the new design. Of course with Psoc Creator 4.0, you can't do that.
To make the challenge even tougher, I am trying to do this with a design that has two projects in the workspace (ie an Uart_bootloader and a bootloadable project, similar to the example bootloadable blinking led, actually using the Cy8ckit-049-4200). I need to just be able to copy whole workspace some way and then reinsert into a new workspace where I can modify as a type of new revision if you will.
There must be a way of doing this. I don't know if there is a trick to archiving and then restoring with a new workspace and/or name but I really need a method (even if it several steps) of doing this. I work in a single workstation environment and don't want to complicate things with GITHUB at this point.
Show LessI need to implement a rapid blink of the LED. I have a watchdog timer that goes off every 100 ms . In the timer ISR I set a toggle blink flag to tell the main loop to write a value to the LED This works for the most part but occasionally the LED stays on or off longer than 100 ms/ I think it's because the main loop executes slower and less regularly than the timer. and the flag value gets out of sync with the current value of the LED.
WDT_ISR()
{
toggle_blink = !toggle_blink;
}
main loop
if(toggle_blink)
WriteLED(!ReadLED());
So the question is, is it OK to call WriteLED from the ISR?
If the answer is yes, I need to check a global variable to decide if the blink is needed. Wonder if that's OK too in the ISR
Thanks
Andy
Show LessI'm using the Pioneer kit and wondering how many peripherals a central device can have. I'm pretty sure that it's only 1 connection but I haven't been able to find that in any type of documentation. I'm being pushed to show that it clearly can't handle more than a single connection so really need to find it documented somewhere. I've seen this answer here and a little confused but it seems that Dana is referring to doing a round robin and it's not necessary connected to multiple devices at once.
(I've seen the 100 projects multiplex example as an alternative)
Show Less