dseq32_matrix
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
dseq32_matrix [2006/07/05 22:21] – created mess | dseq32_matrix [2006/10/15 09:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
This page will contain the information about the combined lcd/button matrix | This page will contain the information about the combined lcd/button matrix | ||
+ | [[http:// | ||
- | right now I'm using a modified version of the sm_simple C example | + | right now I'm using a modified version of the sm_simple C example\\ |
- | but this code will be rewritten to make it more coherent | + | this code will be rewritten to make it more coherent |
+ | |||
+ | modifications to [[http:// | ||
+ | |||
+ | ==== Hardware ==== | ||
+ | [[http:// | ||
+ | \\ | ||
+ | [[http:// | ||
+ | |||
+ | //*note: schematics not finished!// | ||
+ | ==== Software ==== | ||
+ | in main.c:\\ | ||
- | modifications to scan matrix example: | ||
- | in main.c: | ||
< | < | ||
... | ... | ||
Line 27: | Line 37: | ||
... | ... | ||
</ | </ | ||
+ | \\ | ||
in sm_simple.asm: | in sm_simple.asm: | ||
< | < | ||
Line 64: | Line 74: | ||
... | ... | ||
</ | </ | ||
+ | \\ | ||
and finally in sm_simple.h: | and finally in sm_simple.h: | ||
< | < | ||
Line 74: | Line 84: | ||
</ | </ | ||
+ | ==== Appendum ==== | ||
+ | To avoid flickering leds when pushing a button | ||
+ | the MIOS button debouncing should be turned off!! | ||
+ | |||
+ | Due to the setup of the SRIO driver the debounce algoritm | ||
+ | also delays the DOUT chain when a DIN event is being debounced. | ||
+ | So when a button is pushed the led update frequency is reduced, | ||
+ | the higher the debounce value, the lower the update frequency. | ||
+ | |||
+ | According to this post TK will fix this in a future MIOS release: | ||
+ | >This is something what I'm planning to solve in one of the next MIOS versions - currently the same SR scanning routine is used for DIN and DOUT registers, which means, >when the DINs are temporary disabled due to the cheap debouncing method, the DOUT registers won't be updated. | ||
+ | \\ | ||
+ | >The solution is to add a second scan routine which only services the DOUTs so long the debouncing delay is active. | ||
+ | \\ | ||
+ | |||
+ | In the meantime THIS ISSUE IS SOLVED WITH MIOS1.9c!!! | ||
+ | == Workaround == | ||
+ | To turn the debouncing off, set | ||
+ | < | ||
+ | #define DIN_DEBOUNCE_VALUE | ||
+ | </ | ||
+ | |||
+ | |||
+ | back to [[DSEQ32]] |
dseq32_matrix.1152138061.txt.gz · Last modified: 2006/10/15 09:35 (external edit)