編集中のプログラムです。 一時的にパブリッシュしました。 タッチパネル部分は未確認です。 It is a program while editing it. To pass it to the person, it shared.

Dependencies:   mbed

Committer:
jksoft
Date:
Thu Sep 29 00:55:26 2011 +0000
Revision:
1:9869086496f6
Parent:
0:f5f8e3417215

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:f5f8e3417215 1 /*
jksoft 0:f5f8e3417215 2 Touchpad driver.
jksoft 0:f5f8e3417215 3
jksoft 0:f5f8e3417215 4 CPV, 3/9/2009
jksoft 0:f5f8e3417215 5 */
jksoft 0:f5f8e3417215 6
jksoft 0:f5f8e3417215 7 #ifndef __TOUCHPAD_H__
jksoft 0:f5f8e3417215 8 #define __TOUCHPAD_H__
jksoft 0:f5f8e3417215 9
jksoft 0:f5f8e3417215 10
jksoft 0:f5f8e3417215 11 #include "mbed.h"
jksoft 0:f5f8e3417215 12 #include "filters.h"
jksoft 0:f5f8e3417215 13
jksoft 0:f5f8e3417215 14
jksoft 0:f5f8e3417215 15 class TouchpadChannel
jksoft 0:f5f8e3417215 16 {
jksoft 0:f5f8e3417215 17 public:
jksoft 0:f5f8e3417215 18 void initialise(int min, int quantise_step);
jksoft 0:f5f8e3417215 19 void tick(int v) { m_filter.tick(v); }
jksoft 0:f5f8e3417215 20 int quantise(void);
jksoft 0:f5f8e3417215 21 int operator()(void) { return m_quantised; }
jksoft 0:f5f8e3417215 22 int get_raw(void) { return m_filter(); }
jksoft 0:f5f8e3417215 23
jksoft 0:f5f8e3417215 24 protected:
jksoft 0:f5f8e3417215 25 FilterBoxI m_filter;
jksoft 0:f5f8e3417215 26 int m_min;
jksoft 0:f5f8e3417215 27 int m_quantise_step;
jksoft 0:f5f8e3417215 28 int m_quantised;
jksoft 0:f5f8e3417215 29 };
jksoft 0:f5f8e3417215 30
jksoft 0:f5f8e3417215 31
jksoft 0:f5f8e3417215 32 class Touchpad
jksoft 0:f5f8e3417215 33 {
jksoft 0:f5f8e3417215 34 public:
jksoft 0:f5f8e3417215 35 Touchpad(PinName x0, PinName x1, PinName y0, PinName y1);
jksoft 0:f5f8e3417215 36
jksoft 0:f5f8e3417215 37 void tick(void);
jksoft 0:f5f8e3417215 38
jksoft 0:f5f8e3417215 39 int get_raw_x(void) { return m_ch_x.get_raw(); }
jksoft 0:f5f8e3417215 40 int get_raw_y(void) { return m_ch_y.get_raw(); }
jksoft 0:f5f8e3417215 41
jksoft 0:f5f8e3417215 42 int hotspot(void) { return (m_ch_x.quantise()>=0 && m_ch_y.quantise()>=0); }
jksoft 0:f5f8e3417215 43 int get_hotspot_x(void) { return m_ch_x(); }
jksoft 0:f5f8e3417215 44 int get_hotspot_y(void) { return m_ch_y(); }
jksoft 0:f5f8e3417215 45
jksoft 0:f5f8e3417215 46 protected:
jksoft 0:f5f8e3417215 47 TouchpadChannel m_ch_x;
jksoft 0:f5f8e3417215 48 TouchpadChannel m_ch_y;
jksoft 0:f5f8e3417215 49
jksoft 0:f5f8e3417215 50 PinName m_x0;
jksoft 0:f5f8e3417215 51 PinName m_x1;
jksoft 0:f5f8e3417215 52 PinName m_y0;
jksoft 0:f5f8e3417215 53 PinName m_y1;
jksoft 0:f5f8e3417215 54
jksoft 0:f5f8e3417215 55 int read(PinName drive_hi, PinName drive_lo, PinName read_hi, PinName read_lo);
jksoft 0:f5f8e3417215 56 int read_x(void) { return read(m_x1,m_x0,m_y1,m_y0); }
jksoft 0:f5f8e3417215 57 int read_y(void) { return read(m_y1,m_y0,m_x1,m_x0); }
jksoft 0:f5f8e3417215 58 };
jksoft 0:f5f8e3417215 59
jksoft 0:f5f8e3417215 60
jksoft 0:f5f8e3417215 61 #endif // __TOUCHPAD_H__