PSoC™ 4 Forum Discussions
Hey all, I saw a post noting that the PWM could only be used in Sleep mode (not Deep Sleep) - I'm hoping there is a workaround for that, but maybe not.
But how about the iDAC? When I go into deep sleep, it just shuts off, and in regular sleep mode (which is still pretty high consumption), it stays awake.
Is there any way to get the iDAC to output full time even in Deep Sleep mode?
Thanks.
Show LessHi, I'm testing the PSoC4 BLE Capsense Proximity from the project example. Everything work fine so far, but when I tried to disable the LOW_POWER_MODE the server(PSoC4 module) become unable to notify the client(BLE dongle). And i found out the main cause is due to the following condition statement:
if(CYBLE_BLESS_STATE_ECO_STABLE == CyBle_GetBleSsState())
{
HandleCapSenseProximity();
}
The BLE subsystem cannot enter ECO_STABLE state. I have tried changing the "CYBLE_BLESS_STATE_ECO_STABLE" to any possible state but there is still no result. In this case, what should i do in order for the program to work properly without going into low power mode?
Additional question: Can the BLE remains in ACTIVE state for all the time Or it must enter Sleep mode once a while for proper operation?(Neglecting the power consumption factor)
Show LessGood day,
I am currently working with the code from the Observer in order to find devices which are in the vicinity of the the main board. My setup is the following:
- A PSoc4 board (called main) with the Observer code running on it;
- 2 x PSoc4 boards with Peripheral and Broadcaster code running on them.
The Observer sees both devices without problem. However, I have to power them after the Observer runs. Is there a way for the Observer to notice them if they are already running?
I am trapping the event CYBLE_EVT_STACK_ON with the event handler and I start the scanning from there with the CYBLE_SCANNING_FAST parameter. The following is my Bluetooth module's configuration:
- Discovery procedure: General
- Scanning state: Active
- Filter policy: All
- Scan window: 50 ms
- Scan interval: 100 ms
The profile is selected in the General Tab and the following is set:
- Profile: Custom
- Profile role: Client (GATT Client)
- GAP role: Central
Besides that, nothing else has been modified from the original code.
Thanks for your help.
Regards,
MB
Show LessI want to design matrix key pad of 48 keys. Currently I am using only One Matrix Button. Is it recommended to use two Matrix button? If I use two matrix button then there is any disadvantages there or not?
Show LessI am using two PWM modules both driven by the same clock.
PWM1 period = 99
PWM2 period = 9
Therefore in each cycle of PWM1, there are 10 cycles of PWM2. Everything works just perfect till here and the oscilloscope shows perfectly alligned outputs as expected.
Now, when I prescale PWM1 by 2x in the initial property window, PWM2 should complete 20 cycles in each one cycle of PWM1. It indeed does, BUT there is a phase shift of one clock period between PWM1 and PWM2. It doesn't end here. Instead of setting the prescaler to 2x in the initialization window, if I use the SetPrescaler() function in the code, the phase shift disappears!
In short, the PWM module works differently depending upon whether the Prescaler value has been set in the components initialization window or whether it is set through programming.
Why is this happening?
Thank you...
Show LessHey all, I was digging into the RTC component (v1.10) because I managed to freeze my app by passing in a bad unix time (I flipped little and big endian, and I basically was stuck in a while loop until I gave up.
While breakpointing in for the problem, I saw that it was caused here:
void RTC_SetUnixTime(uint64 unixTime)
{
RTC_DATE_TIME tmpDateTime;
RTC_unixTime = unixTime;
RTC_UnixToDateTime(&tmpDateTime, unixTime, (uint32)RTC_24_HOURS_FORMAT);
...
}
So, since it seems to be that the unixTime is the internal accumulator, and the important public GET methods first call RTC_UnixToDateTime anyways, why are also running it in here? It seems a bit inefficient, as the UnixToDateTime is internally a ton of while loops - when this could just be a 1 line assignement.
For example, RTC_UnixToDateTime is internally called by the following methods:
RTC_GetTime, RTC_GetDate, RTC_GetDateAndTime, RTC_SetUnixTime
Disclaimer: I am nicely cheaping out by using only set and get UnixTime in my app 🙂
Show LessHello,
I try to connect an PSOC 4200 ( CY8CKIT-049-42XX) as slave via I2C to an Raspberry Pi 2 as master.
With 3.3V on 4200 from Raspberry, all works fine, with 5V over USB on kit nothing happens on SDA and SCL.
SDA is stays at 3.3V, but SCL is about 5V ? No signal to see on scope or LA.
I thought I2C should work with both voltages on one line.
Where do 5V come from ? 4200 I2C lines should open drain high side or ?
Then 5V can only come over high impedance, whereas Raspberry has 1.8K to 3.3V,
which should result in about 3.3V ?
What is the high threshold of both lines in this mode ? I find different CMOS and LVTTL in datasheet.
Show LessI am trying to enter the PSoC 4 CY8CKit-049 4xxx Prototyping Kit as a part in my Eagle library. Where can I find the connector location dimensions? Especially the bootloader connector.
Thanks,
Doug
Show LessHi All
I am looking at the implementation of the 'Authenticated LE Secure pairing with encryption' security level in the GATT Server.
I am running the BLE 4.2 DataLength Security Privacy example which is running fine.
I would like to use Authorization but I cannot find any information on its implementation.
I can set the characteristic permissions to 'Authorization required' which then stops the client from accessing the data and resulting in the error message 'BLE_GATT_ERR_INSUFFICIENT_AUTHORIZATION' being displayed on the CySmart 1.2 Tool.
What do I need to do to allow the client to access the server characteristics which has the permissions set to 'Authorization required' ?
Thanks
John
Show Less