PSoC™ 4 Forum Discussions
text.format{('custom.tabs.no.results')}
Just set up a PSOC 4000 project which comprises of 1 Timer, 1 I2C, 1 digital input pin (external terminal). Add in interrupt to the digital pin, click generate application and got the error:
E2809: Unable to find a valid placement for pins and fixed-function blocks. See the Digital Placement's Detailed placement messages section in the report file for details.
Doesn't PSOC 4000 support external signal as interrupt?
Please see atteched project file.
Show LessWe have a project that I've newly inherited using CapSense. The environment ranges to room temperature to extreme temperatures. After cooling back down to room temperatures we'll find that some of our button no longer respond to presses. Unplugging the unit and replugging it in will restore full funtionality.
From what I was reading, when using Auto(SmartSense) tuning method with Sensor Auto Reset should be resolving this for us but it isn't. I'm having trouble understanding how to proceed from here.
Show LessHello everyone,
I would like how to handle correcty the "busy state" of the ble stack.
I tried a basic test where the same data is send constantly with notification :
void SendDataOverStatesNotification(uint8 StatesData, uint8 len)
{
/* 'StatesnotificationHandle' stores States notification data parameters */
CYBLE_GATTS_HANDLE_VALUE_NTF_T StatesnotificationHandle;
/* If stack is not busy, then send the notification */
/* Update notification handle with CapSense slider data*/
StatesnotificationHandle.attrHandle = CYBLE_SHUTBASSCV_STATES_CHAR_HANDLE;
StatesnotificationHandle.value.val = &StatesData;
StatesnotificationHandle.value.len = len;
/* Wait until stack is free to send data*/
while(busyStatus != CYBLE_STACK_STATE_FREE) { CyBle_ProcessEvents(); }
/* Send the updated handle as part of attribute for notifications */
CyBle_GattsNotification(connectionHandle,&StatesnotificationHandle);
}
If i put a CyDelay(5); before this function this work fine (at least during 10 minutes).
Without the delay it's crashing after 5 sec.
I would like to have something which is not crashing no matter the connection interval.
How i can just wait the BLE stack properly without a delay ?
Should i use :
while(busyStatus != CYBLE_STACK_STATE_FREE) { CyBle_ProcessEvents(); }
or
if(busyStatus == CYBLE_STACK_STATE_FREE) {my function code}
I don't see why the stack is crashing if I wait unti it is not busy after each send..
Thanks for your answers
Show LessHello everyone,
We want to use Bluetooth for configuring and parameters a motorized door (with a phone APP)
It's for small quantities then a module like the CYBLE-012011-00 could fit perfectly well.
I have some questions about different features in BLE :
1) Addresses :
1.a)
For the Company-ID part :
Does we have to purchase a 24 bit Organization Unique Identifier (OUI) ?
Can we purchase IEEE address chips for this use ?
For the company assigned part : how to be sure of the uniqueness of the silicon-generated company-assigned part?
1.b) Does we have to use the public address ? From specifications i see that we could use random static address instead.
Here a topic about it : http://www.cypress.com/forum/proc-ble/want-use-random-static-ble-address
My idea was to generate a random static address at the device first use. This address could be the same during the lifetime or reset (an other address is randomly generated) when the user press a button. Is it ok to do it like that ? It's absulutely not native in the API so maybe I'am just totally wrong...
No sure if a static address is ok with specifications because it say that static address should be generate after each power cycle..
2)Security
The Bluetooth could provide the possibility to the user to command his door with a phone App :
Security during pairing seems not that great in 4.1. Is it sufficient to add nonce and reponse-challenge schemes in the application part ?
With 4.2 security during pairing seems a lots of better, but how to be sure that it is sufficient ? (and the drawback is that module cost the double comparing to 4.1 module)
Actually many door locks using Bluetooth seems to have lack of security.
If we cannot reach an acceptable level of security we could just keep the configuration part and expire the session after configuration (pairing is only possible with physical access). But i would like to know if we could reach a great level of security with what Bluetooth 4.1 or 4.2 provide to us and with just few security addons in the application layer or without it.
Thanks for your answers
Show LessI have a trackpad design requirement. Does PSoC® 4100 supports trackpad design. Since we need to implement X and Y layer.
Why i selected GPIO is since it contains some GPIO.
Please let me know if PSoC® 4100 is the best choise.
Show LessThere is PROJECT #007: BLE PERIPHERAL AND BROADCASTER - CHANGING GAP ROLES sample, it looks like the device can advertise only one role, I wonder if it's possible to do two roles in advertising mode at the same time
- Ble Peripheral: advertising using mac address M1
- Ble Broadcaster: acting as an iBeacon with mac address M2.
Using an app (on the phone) can scan both BLEs (M1, M2) in the same time. if M1 is connected then M2 still broadcasting.
Thanks!
Just out of curiosity...
Disassembled the UART_Bootlader.elf file with arm-none-eabi-objdump -s:
UART_Bootloader.elf: file format elf32-littlearm
Disassembly of section .text:
00000000 <RomVectors>:
0: 00 10 00 20 11 00 00 00 6d 03 00 00 6d 03 00 00 ... ....m...m...
00000010 <Reset>:
10: b508 push {r3, lr}
12: f000 fd9b bl b4c <CyBtldr_CheckLaunch>
16: f000 f9ab bl 370 <Start_c>
Why is the reset vector set to address 0x0000011 instead of 0x00000010?
Also 0x0000036D is not on a 4-byte address boundary...
Show LessHello,
I am now working on a project in which there is a client and up to eight servers from which the client has to read information.
What concerns me is the security aspect of this project. Given that there is no support for more than four devices for the client to bond with we have to use pairing instead of bonding which means that there will be an exchange of keys with every connection, so someone could be reading that sensitive data. Connections will happen constantly.
Another thing is that the servers have no input/output capabilities so the short term keys are always going to be zeroes.
How can I securely exchange information with these two constraints (Bonding limit and no input/output capabilities)? I know it is a long stretch but is there a way to do so?
Both servers and client are BLE 4.1.
Thanks!
Show Less