- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all ,
i have a custom PCB with PSOC4 on it ,
i have 1 input pin controlled by a switch (switchPIN),
i have 2 outputs pins (resetPin , onoff_Pin),
i need to implement the following logic :
starting state is switchPIN=1 in that case turn on onoff_Pin-->1,
if someone turn the switch off switchPIN=0 and 6 sec is passed then turn off onoff_Pin-->0,
but if someone turn the switch off switchPIN=0
and BEFORE 6 sec is passed he turns on the switch switchPIN=1
then send reset pulse (resetPin =1 wait 100ms then resetPin =0).
this simple logic is driving me crazy, i have tried using 2 timers with isr on
the switchPIN (one is 6 sec timer , and one is a fast timer),
i just can figured out a way to do it .
can someone direct me to a simple solution to this problem ????
I have attached a flow chart of what i want to achive .
Thanks in advanced.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I tried by myself with CY8CKIT-044.
It seems working, although not quite tested
Hope this can be a little help for you.
moto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
elampel,
Take a look at the custom component ButtonSw32, which debounces and process button press/release events.
ButtonSw32: button switch debouncer component
In the Application Note you will find a "Button long press demo" project, which is close to what you want. You would have to update clock source for PSoC4 (see e.g. WDT timer examples).
/odissey1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you !
Your code is very clear , and the comments helps a lot .
Very nice implementation !
seems to work.