PSoC™ 6 Forum Discussions
Any help or pointers appreciated please.
I'm having unexpected difficulties in interfacing a relatively common display to my PSoC6 prototype board.
Anybody know how to do it?
There are several efforts by Alan Hawse online but I have found these to be a) varied across IDE which I don't use and b) otherwise incomplete in terms of code (or with errors arising on my system - which of course may be due to differences in issues and timing of blogs).
I say these difficulties are 'unexpected', since I already have an ADAFRUIT M0 Feather board running with this display and using the u8g2 library (which may be found here) under the Arduino IDE.
PSoC 6 ENVIRONMENT:
Board: CY8C-PROTO-063-BLE / CYBLE-416054-02
IDE: PSoC Creator v4.2
PDL: 3.1.0
OS: Windows 10 (build 1903)
BUILD:
Created an I2C Master device and connected to SCL and SDA pins appropriate to my board
Display device needs only 4 wires to connect - the above two, plus 3V and GND
Downloaded and added in the U8g2lib to the project folder.
In Project Build Settings, I added the 'src' library folder as an additional directory to the Compiler.
Once the application was generated, I added the 'U8g2lib.h' header file into the header folder of the cm4 processor and #included it in 'main_cm4.c'
ISSUES:
The compiler throws errors such as missing 'arduino.h', 'print.h', U8x8lib.h' and so on. All of which makes me think I may be using a library that's too dedicated towards the Arduino IDE, or it may be a lack of experience in adding a library to a PSoC 6 project.....
All ideas welcomed - thank you.
Show LessThis board is referenced at https://www.cypress.com/file/461301/download
Show Lesscy8c6347 SRAM 288K byte.
I see the cy8c6xx7_CM4_Dual.ld
"ram (rwx) : ORIGIN = 0x08024000, LENGTH = 0x23800";
0x08024000+0x23800 = 0x08047800
Can i set the length=0x24000?
cy8c6347 的SRAM 范围是288K 字节。 我看.ld文件的配置。 SRAM分配。 给M4的内存并未用完。 长度只配置到0x23800; 如果全部分配的话应该长度是0x24000; 请问为什么会这样配置? 如果我配置到0x24000的长度,我的程序运行是否会有问题?
Show LessHello everybody!
I tried to implement WhiteList in PSoC 6 without succes!
I'm using PSoC 6 BLE PROTOTYPING KIT. I configurated it in Observer GAP Role and I want it to receive only the adv packets from another specific PROTOTYPING KIT configured in Broadcaster GAP Role. How can I use WhiteList?
Show LessI am wanting to implement neuron network on PSOC 6. I see that Zerynth studio enables Python implementation on PSOC 6. Has anyone tried SensorFlow lite with this setup?
Thanks
Show LessI am trying to follow code example "CE224285 – PSoC 6 MCU External Flash Access in XIP Mode with QSPI".
I'm using the PDF instructions on Github. My target hardware is a PSoC 6 BLE Pioneer Kit (CY8CKIT-062-BLE).
When I attempt to run the program using "Program (KitProg3)" it complains
Unexpected command line argument: sflash_restrictions
The OpenOCD Debugging > ... Program (KitProg3) > Debugger window looks like this.
When I use "Program (KitProg3)" to run it, I get this. (Just FYI, I'm using ModusToolbix 1.1.)
What am I doing wrong? Should I be using a different example to understand PSoC 6 XiP?
Show LessI'm new to the BLE ecosystem so I'm not familiar with all the many API calls to control BLE operations.
I've created a BLE in Broadcast mode and I want to change the advertising interval in the App at run-time depending on conditions (such as battery voltage depletion).
I've been successful in doing this by using the following code. Howewver, it requires I modify the config parameters before a Cy_BLE_Start() or Cy_BLE_Stop() then modify the interval parameters along with setting cy_ble_initVar = 0 then performing a Cy_BLE_Start().
#define BLE_APP_fastAdvIntervalMin 33.33 // desired value in ms
#define BLE_APP_fastAdvIntervalMax BLE_APP_fastAdvIntervalMin // desired value in ms
#define BLE_APP_Adv_Interval_res 1.6
#define BLE_APP_FASTADVINTERVALMIN (uint16)(BLE_APP_fastAdvIntervalMin*BLE_APP_Adv_Interval_res) // This is the value used in cy_stc_ble_gapp_adv_params_t
#define BLE_APP_FASTADVINTERVALMAX (uint16)(BLE_APP_fastAdvIntervalMax*BLE_APP_Adv_Interval_res) // This is the value used in cy_stc_ble_gapp_adv_params_t
/* Change some of the initialization parameters.
These changes can only take effect if cy_ble_initVar = 0 and then the Cy_BLE_Start() or Cy_BLE_Init() is called */
cy_ble_config.gappAdvParams->fastAdvIntervalMax = BLE_APP_FASTADVINTERVALMAX;
cy_ble_config.gappAdvParams->fastAdvIntervalMin = BLE_APP_FASTADVINTERVALMIN;
/* Start Host of BLE Component and register generic event handler */
Cy_BLE_Start(StackEventHandler);
I've looked at the PDL docs for the BLE and the actual middleware .c files and couldn't find a API call to perform this function.
Am I doing this the "official' way or is there a correct API call I'm missing?
Len
Show LessYesterday, I visited a customer, who has been developing their product with PSoC 6 (CY8C6036BZI-F04).
Recently they got their prototype board.
They created a simple test program with ModusToolbox 1.1.0 Build ID 234.
And they programmed the board using Cypress Programmer 2.0.0 build 355 with MiniProg4.
Symptom
(S1) They could write their program to the device and their board worked as expected at the first test.
(S2) But they could not write their program for the 2nd time.
Trouble shooting(s)
(TS1) I asked them for basic checklist and their design seemed fine.
(TS2) I asked them to update Cypress Programmer to the newest version 2.1.0 but in vain.
And in the log file, I found
=================
Error: Failed to read memory at 0xe000ed00
Info : Polling target psoc6.cpu.cm0 failed, trying to reexamine
=================
It seems that the Cypress Programmer was trying to hold cm0 which does not exist in PSoC 6/60.
(I wonder why they could program at the first trial...?)
(TS3) And I tried to create a simple test program with ModusToolbox 2.0.0,
but it did not show CY8C6036BZI-F04 for custom board. (Actually Custom Board option was gone)
(TS4) As a last resort, I tried to create a test program with PSoC Creator v4.2.
And I could build and debug their board without problem.
(So their hardware seemed fine for the time being)
Meantime, I heard that a PSoC 6/60 may be obsoleted.
So we discussed that they should switch device to PSoC 6/61 (CY8C6136BZI-F14) which seems to be a drop-in compatible.
Now let me ask "Cypress" some questions.
Q1. Will ModusToolbox/Cypress Programmer support a single core PSoC 6/(60 and/or 61)?
Q2. Can we expect CY8C6136BZI-F14 as a drop-in compatible device with CY8C6036BZI-F04 ?
Q3. Is it safe to suggest the customer to use CY8C6136BZI-F14? (They need 10 years lifetime of their product line)
moto
Show LessHello,
For PSoC5LP it was impossible to change UART configuration on the fly (e.g. change datawidth, also parity, stopbits,). However it seems that in PSoC6 Cy_SCB_UART_Init() accepts cy_stc_scb_uart_config_t structure, where you could set all these parameters during init phase. Does it mean that now it is possible to change them at a runtime by calling DeInit()/Init() with new params?
Thanks in advance.
Show Less