PSoC™ 4 Forum Discussions
Device PSoC4 CYBLE-224116-01
Hello,
I am trying to create an application where the user can put the BLE device to sleep for certain hours.
I have created a service which has two characteristics; 1. Sleep time and 2. SleepNowFlag.
The user enters the duration for which it wants the BLE device to sleep, and they write on to the SleepNowFlag when they want to put the BLE to sleep.
The firmware in the BLE device keeps checking the flag; and when the flag is set it puts itself to sleep.
Now i want the device to wakeup when the sleep time is over and start advertising. I thought of using the RTC Alarm Feature but am not able to figure out how.
Please Help!
Show LessI have set up a gatt server with a custom profile (gatt server, gap peripheral) which I can connect to CySmart and can read a temperature value every time I press a button. I am now working on the client side - I have established the connection and discovered the attributes successfully but I am struggling with enabling the notifications. My aim is to mimic the function of CySmart, I need to read the temperature value in the client. How do I enable notifications on the client side?
Show LessGood afternoon,
We are using CYBLE-214009-00 to run a turbine with the sensorless motor control method for a three-phase permanent magnet motor and we run through some trouble with the micro-controller.
First of all, attached you can find a diagram of the connections.
In a sensorless control strategy you need to use PWM in the top drivers of the three branches/phases (A, B and C). After some time of testing and some progress (managing to operate the motor) the system stopped working because one phase was failing (phase C) and we found out that the impedance from pin 25-TOP_C to GND was in the range of 200Ohms while the impedance of TOP_A and TOP_B to GND was in the range of MOhms. After desouldering the module we found out that the impedance was still much lower than it should be in TOP_C.
It happened the same with the first PCB we tested but much sooner so we thought it was a problem of the soldering of the module but now we know the module also crashed in the first PCB.
We would really appreciate if you could help us find out the cause of this trouble.
Thank you,
Arnau Ibarz Claret
Show LessHi all,
I took over a project using a Cypress Pioneer baseboard to run a series of sensors and communicate their output via BLE to a smartphone.
Most everything is already working, that is the good news.
Sensors work, grab data.
Pioneer advertises, connects to the phone.
Pioneer can send data to the phone, which displays it on its screen.
What's missing is pairing.
While the Pioneer connects, it does not pair and bond with the phone.
I've examined my code and setup, and compared it to other sample projects which do pair/bond, but so far no joy.
In my code, I log the events coming from the BLE component.
The events look like this along with my interpretation:
CYBLE_EVT_STACK_ON => // BLE component was started
CYBLE_EVT_GAPP_ADVERTISEMENT_START_STOP => // GAPP Advertisement started/stopped (started in this case)
CYBLE_EVT_GATT_CONNECT_IND => // GATT Connection indicated
CYBLE_EVT_GAP_DEVICE_CONNECTED => // GAP Device Connection indicated
CYBLE_EVT_GAP_AUTH_FAILED => // GAP Authorization Failed
CYBLE_EVT_GAP_AUTH_REQ => // GAP Authorization Request
CYBLE_EVT_GATT_DISCONNECT_IND => // GATT Disconnected
CYBLE_EVT_GAP_DEVICE_DISCONNECTED => // GAP Device Disconnected
CYBLE_EVT_GAPP_ADVERTISEMENT_START_STOP => // GAPP Advertisement started/stopped (stopped in this case)
NOTE: I suspect my Auth Request goes first, its just that the logger doesn't fire until the request is complete, i.e., it failed. So they show up in reverse order...
I've attached screenshots of the BLE component setup from PSoC Creator. I'm guessing that I have not configured this properly, but I don't know what I'm missing. Note that it doesn't have Bonding Management which I believe it needs. This is the project 'as is'...
Any help on this would be sorely appreciated.
Regards,
Bryce
Hi everyone,
I've been using CY56777 BLE4.2 USB Dongle with Cysmart 1.2 to communicate with my BLE 4.2 devices, I've detected that the max range is around 10m although I read in other comments that this max range is 30 m.
I would like to know if I'm doing something wrong or my results are correct.
I'm using ble data length extension, maybe it causes shorter range in measurements.
Show LessHello,
I am aman garg, a research scholar at Indian Institute Of Technology Kanpur (university). We are here working on a new technology for which we require proximity sensor to detect distance between the jaws of a microgripper. I have attached the microgripper design as the attachment.
I have been reading the design guidelines for using capsense technology for proximity sensors and need your help in deciding which PSoC part will be possible in my design case. I have a few questions:-
1. what is the least count of distance measurement that I can do with capsense ?
2. Which PSoc will be ideal for my design conditions?
Hello
I'm using actually PSOC4 CYBL10573.
I have actually calculate crc16 and i have already save it in the last 2 Bytes of Flash. I need to make a check for the CRC in main loop. That's why i used the same code (already used to calculate the crc after compilation)
The resulted CRC in main loop isn't the same with the precalculated .
when i try to find the problem with debugging, the first 4 Bytes of flash are correctly copied but the 5 Byte will not correctly copied. That's why the CRC is not the same.
Do you have any ideas about this case??
Show LessI have noticed that a pin configured as output with hardware connection, strong drive, can be driven from the hardware and read by the firmware, which I think could be used as a one bit status register.
I wonder if something similar can be done for a 1-bit control register. Is the digital side aware of the status of an output pin updated by the firmware? Would it work configuring the pin as bidirectional, with only the input connected to hardware, and use it from the firmware as output, strong drive?
Tony
Show LessHas anyone had any success using the SI Labs Temperature and Humidity Sensors?
I am unable to read the sensor reliably. There is a CRC check function that is validating the 1st, 3rd and 5th reads when I have a CyDelay(1), but nothing else. Without the delay (as shown below) the first read is valid, but no others. I have tried changing the delays up to 1000 with no difference.
<code>
float SI7013_readHumidity(void)
{
//Request a humidity reading
I2C_1_I2CMasterSendStart(SI7013_ADDRESS, I2C_WRITE);
I2C_1_I2CMasterWriteByte(MEASURE_RH_NOHOLD); // Register to write at.
I2C_1_I2CMasterSendStop();
//Hang out while measurement is taken.
CyDelay(130);
uint8 msb, lsb, checksum;
I2C_1_I2CMasterSendStart(SI7013_ADDRESS, I2C_READ);
msb = I2C_1_I2CMasterReadByte(I2C_1_I2C_ACK_DATA);
//CyDelay(1);
lsb = I2C_1_I2CMasterReadByte(I2C_1_I2C_ACK_DATA);
//CyDelay(1);
checksum = I2C_1_I2CMasterReadByte(I2C_1_I2C_ACK_DATA);
//CyDelay(5);
I2C_1_I2CMasterSendStop();
//CyDelay(5);
uint16 rawHumidity = ((unsigned int) msb << 😎 | (unsigned int) lsb;
if(SI7013_check_crc(rawHumidity, checksum) != 0) return(999); //Error out
//sensorStatus = rawHumidity & 0x0003; //Grab only the right two bits
rawHumidity &= 0xFFFC; //Zero out the status bits but keep them in place
//Given the raw humidity data, calculate the actual relative humidity
float tempRH = rawHumidity / (float)65536; //2^16 = 65536
float rh = -6 + (125 * tempRH); //From page 14
return(rh);
}
</code>
I am hoping that I am just doing something stupid here.
Parts are on a custom PCB. I2C traces are VERY close to matched. I am using the original library on an arduino connected to the sensor via a cable and it works fine. So it isn't the sensor.
I have attached the Project. I am using Creator 4.1 Update 1.
Show Less