ts-7000
[Top] [All Lists]

Re: [ts-7000] Question about an interrupt handler and debounce

To:
Subject: Re: [ts-7000] Question about an interrupt handler and debounce
From: Matthieu Crapet <>
Date: Mon, 30 Jun 2008 23:42:56 +0200
Hi,

I am writing actually a "keyboard input" driver based on that idea.

I use the DIO1 header : port B. Can fit a 4x4 keypad.

I setup 4 interrupts and use the debounce feature of the ep93xx.
I my isr I disable interrupts and schedule a tasklet to check row/col 
status then I setup a timer HZ/10 (TS-7200)
and then re-enable interrupts.

It works. Actually I only tested it on a 3x4 keypad, I am waiting to 
have a 4x4 keypad for more tests.

Regards,
Matthieu


bdon003 wrote:
>
> I am using the ts-7300 for my senior design project, and I am
> preparing to write a Linux driver for it. Everything on the board is
> pretty much how I got it, same kernel and everything. I need to hook
> up a 3x4 Matrix Keypad to the board and have it send an interrupt when
> a key has been pressed. I am going to connect the three column data
> lines from the keypad to interrupt-enabled I/O pins on one of the
> headers, and then the row data lines will be connected to the same
> header but without interrupts enabled. Will I need to worry about
> debounce control inside the handler? What I obviously don't want is
> more than one interrupt to be sent for only one key press. I am still
> doing some more reading on drivers but my plan is:
> 1. Disable interrupts associated with the keypad
> 2. Read from the header what key was pressed and store it in the next
> cell of an array
> 3. Signal that a tasklet needs to be run to do the overall
> processing/checking of the entered code so far
> 4. Increment the counter keeping track of the next available cell in
> the array
> 5. Re-enable the disabled interrupts
>
> Will this solve my problem? It seems that if the time it takes for
> the key to settle is longer than the time it takes to do those five
> steps, then I would need to do some adjusting. What is a better way
> to do this? Thanks for any help
>
>  


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU