PSoC™ 4 Forum Discussions
I was working getting getting what i call a Load pin to toggle properly in an application I am trying to do with sending data out a UART. I was able to get my load pin to toggle off properly with a UART completion of data interrupt. Now I need the Load pin to go Hi at the falling edge of the UART sending data. I tried to attach an input pin to the TX pin of the UART and sense a falling edge but I get errors when i try to do this in Creator. Does anyone know how I can do such a task. I would like the pin to be in sync with the TX pin going low ... and the load pin going hi at same time.
Scott
Show LessI have not used a lot of interrupts in my limited C experience with PSoC. I am am basically wanting to set a pin high before I send data out my UART. I am getting it done with the code attached, but only the first time through routine. I have tried clearing interrupt but i do not seem to see this option in the API, or don't understand it properly.
I will include a copy of my workspace'
#include "project.h"
CY_ISR( UART_done_Handeler)
{
Load_Write(0); // deactivate load pin when data completed
}
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
UART_done_Int_StartEx(UART_done_Handeler);
UART_Start();
for(;;)
{
Load_Write(1); // activate load pin prior to sending data
UART_UartPutString("O"); // send data over UART @ 2000 bps
Red_LED_Write(0); // turn RED LED on (active low)
CyDelay(500); // delay 500mS
Red_LED_Write(1); // turn off RED LED
CyDelay(500); // delay 500mS
}
}
Show LessThe timer is set to issue an interrupts continuously at 10 ms intervals. I would ignore the warning, but the gcc loader bombs out -- no other errors and the only other warning is a variable set but not used. Memory space usage is generally less than 50% for this project.
This seems like a serious bug. How can you get a timing violation for the 48 MHz with a block clocked at 37.768 kHz? Doesn't the UDB take care of the clock transitions properly?
Project archive attached.
PSoC Creator 4.2 (4.2.0.641)
OS: Windows 7 Pro, SP1, 64-bit
Kit: CY8CKIT-042-BLE-A
Device: CY8C4248LQI-BL583
Relevant bits of the Build Report...
Synthesis...
Tech Mapping...
Analog Placement...
Info: plm.M0038: The pin named DspOut(1) at location [IOP=(1)][IoId=(1)] prevents usage of special purposes: F(OA,2). (App=cydsfit)
Info: plm.M0038: The pin named DspOut(2) at location [IOP=(1)][IoId=(2)] prevents usage of special purposes: F(OA,2). (App=cydsfit)
Info: plm.M0038: The pin named DspOut(3) at location [IOP=(1)][IoId=(3)] prevents usage of special purposes: F(OA,3). (App=cydsfit)
Info: plm.M0038: The pin named DspOut(4) at location [IOP=(1)][IoId=(4)] prevents usage of special purposes: F(OA,3). (App=cydsfit)
Analog Routing...
Analog Code Generation...
Digital Placement...
Digital Routing...
Bitstream Generation...
Bitstream Verification...
Static timing analysis...
Warning: sta.M0019: BLE_Environmental_Sensing02_timing.html: Warning-1366: Setup time violation found in a path from clock ( CyHFClk ) to clock ( CyHFClk ). (File=C:\Users\stevewald.AMERICANSEMI\Documents\PSoC Creator\BLE_Environmental_Sensing02\BLE_Environmental_Sensing02.cydsn\BLE_Environmental_Sensing02_timing.html)
API Generation...
Dependency Generation...
Cleanup...
arm-none-eabi-gcc.exe -mcpu=cortex-m0 -mthumb -I. -IGenerated_Source\PSoC4 -Wa,-alh=.\CortexM0\ARM_GCC_541\Release/main.lst -g -D NDEBUG -Wall -ffunction-sections -ffat-lto-objects -Os -lm -c main.c -o .\CortexM0\ARM_GCC_541\Release\main.o
main.c: In function 'AppCallBack':
main.c:101:28: warning: variable 'authInfo' set but not used [-Wunused-but-set-variable]
CYBLE_GAP_AUTH_INFO_T *authInfo;
^
arm-none-eabi-gcc.exe -mcpu=cortex-m0 -mthumb -I. -IGenerated_Source\PSoC4 -Wa,-alh=.\CortexM0\ARM_GCC_541\Release/ess.lst -g -D NDEBUG -Wall -ffunction-sections -ffat-lto-objects -Os -lm -c ess.c -o .\CortexM0\ARM_GCC_541\Release\ess.o
...
arm-none-eabi-gcc.exe -Wl,--start-group -o "C:\Users\...\Documents\PSoC Creator\BLE_Environmental_Sensing02\BLE_Environmental_Sensing02.cydsn\CortexM0\ARM_GCC_541\Release\BLE_Environmental_Sensing02.elf" .\CortexM0\ARM_GCC_541\Release\main.o .\CortexM0\ARM_GCC_541\Release\ess.o .\CortexM0\ARM_GCC_541\Release\debug.o .\CortexM0\ARM_GCC_541\Release\ACREOdisplay.o .\CortexM0\ARM_GCC_541\Release\cyfitter_cfg.o .\CortexM0\ARM_GCC_541\Release\cymetadata.o .\CortexM0\ARM_GCC_541\Release\Cm0Start.o .\CortexM0\ARM_GCC_541\Release\BLE_Environmental_Sensing02.a "..\..\4.2\Downloads ( 4.2).cylib\BLE_v3_52\Library\gccCyBLEStack_BLE_SOC_PERIPHERAL.a" -mcpu=cortex-m0 -mthumb -L Generated_Source\PSoC4 -Wl,-Map,.\CortexM0\ARM_GCC_541\Release/BLE_Environmental_Sensing02.map -T Generated_Source\PSoC4\cm0gcc.ld -specs=nano.specs -Wl,--gc-sections -lm -g -ffunction-sections -Os -ffat-lto-objects -Wl,--end-group
.\CortexM0\ARM_GCC_541\Release\ess.o:(.data+0x0): multiple definition of `singleSegChr'
.\CortexM0\ARM_GCC_541\Release\main.o:(.data+0x10): first defined here
.\CortexM0\ARM_GCC_541\Release\ess.o:(.data+0x8): multiple definition of `sevenSegChr'
.\CortexM0\ARM_GCC_541\Release\main.o:(.data+0x18): first defined here
.\CortexM0\ARM_GCC_541\Release\debug.o:(.data+0x0): multiple definition of `singleSegChr'
.\CortexM0\ARM_GCC_541\Release\main.o:(.data+0x10): first defined here
.\CortexM0\ARM_GCC_541\Release\debug.o:(.data+0x8): multiple definition of `sevenSegChr'
.\CortexM0\ARM_GCC_541\Release\main.o:(.data+0x18): first defined here
.\CortexM0\ARM_GCC_541\Release\ACREOdisplay.o:(.data+0x12): multiple definition of `singleSegChr'
.\CortexM0\ARM_GCC_541\Release\main.o:(.data+0x10): first defined here
.\CortexM0\ARM_GCC_541\Release\ACREOdisplay.o:(.data+0x1): multiple definition of `sevenSegChr'
.\CortexM0\ARM_GCC_541\Release\main.o:(.data+0x18): first defined here
collect2.exe: error: ld returned 1 exit status
The command 'arm-none-eabi-gcc.exe' failed with exit code '1'.
--------------- Rebuild Failed: 07/02/2018 11:35:21 ---------------
Steve
Show LessHello,
I followed the available tutorial and used the PSoC BLE and Android code available at GitHub - cypresssemiconductorco/bleapp.
In the BLE100 app, I'm able to turn on/off the red LED, but the Capsense is not working. When I enable "Notify" the "Capsense value" becomes "No Touch", but the app doesn't show values when I slide the finger in the sensor. However, the Capsense works with the Cysmart app.
The only changes I made were in the PSoCCapSenseLedService.java file, to be able to search for devices and discover services and characteristics.
What can be the problem?
Show LessHi,
i am using a PRoCBLE 222014-01. I want to store sensor data in flash.
i am using the CyBle_StoreAppData function but the apiResult always return CYBLE_ERROR_INVALID_PARAMETER.
i have checked the old topics on this subject.
my project is running with a IMO clock at 6MHz.
is there something special to do to use this function?
regards,
Yann.
Show LessHello,
I've taken my first steps in programming an Android app with BLE. For my experiments, I use the CY8CKIT-042-BLE Pioneer Kit.
Now I've tried to import the files in an Android project and flashing the Android BLE app example from GitHub on my phone.
GitHub - cypresssemiconductorco/bleapp
Everything seems fine, no warnings, no mistakes. I can open and connect the app and start bluetooth. But unfortunately, when I click on "Search for device", nothing happens. No device can be found.
When I use another BLE app (eg CySmart, Bluefruit LE), I can communicate with the target, read CapSense values and turn the red LED on / off.
Can someone give me a hint what maybe is going wrong?
(The Android zip-file and a screen shot of the app is attached)
Show Lesscustomer feedback false trigger issue when the temperatures change dramatically such as the car was in the sun for serval hours, it will be high temperature in the car,
and now we open air conditioner , the temperature will slow down from high to low fastly, the fales triggering issue occur. i find blow the function in capsense v3.0 higher;
when custoemr used capsense v2.0, how we help customer to set IDAC, capsense v2.0 has no place to set value. show in figure2, below:
Figure 1
Figure2
Show Less
Hello, with divider 65536 the minimum clock I can get is 366hz. (at 24MHz), see attachment:
I cannot find a Frequency-Divider Component in my Library... so are there other solutions?
thank you very much
Show LessHi,
I was using cysmart 1.2 c# api with cypress ble dongle 5677 , now we got new red color 4.2 cypress dongle which is not working in cysmart 1.2 but working fine with cysmart 1.3 application. but C# api is not working with 1.3 reference dlls. It is showing error as attached.
Show Less