for helge just for testing
Dependencies: Freetronics_16x2_LCD mbed-rtos mbed
Fork of Freetronics_16x2_LCD by
keys.h@4:c0b34f33643f, 2016-08-14 (annotated)
- Committer:
- juergen0001
- Date:
- Sun Aug 14 09:53:28 2016 +0000
- Revision:
- 4:c0b34f33643f
test for helge
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
juergen0001 | 4:c0b34f33643f | 1 | #ifndef __KEYS_H_ |
juergen0001 | 4:c0b34f33643f | 2 | #define __KEYS_H_ |
juergen0001 | 4:c0b34f33643f | 3 | #include "mbed.h" |
juergen0001 | 4:c0b34f33643f | 4 | #include "freetronicsLCDShield.h" |
juergen0001 | 4:c0b34f33643f | 5 | #include "rtos.h" |
juergen0001 | 4:c0b34f33643f | 6 | |
juergen0001 | 4:c0b34f33643f | 7 | |
juergen0001 | 4:c0b34f33643f | 8 | typedef struct key_t key_t; |
juergen0001 | 4:c0b34f33643f | 9 | |
juergen0001 | 4:c0b34f33643f | 10 | typedef void(*key_cb_ft) (key_t*); |
juergen0001 | 4:c0b34f33643f | 11 | struct key_t { |
juergen0001 | 4:c0b34f33643f | 12 | uint8_t id; |
juergen0001 | 4:c0b34f33643f | 13 | char *name; |
juergen0001 | 4:c0b34f33643f | 14 | key_cb_ft pressed, longpressed, released; |
juergen0001 | 4:c0b34f33643f | 15 | float voltage; |
juergen0001 | 4:c0b34f33643f | 16 | float threshold; |
juergen0001 | 4:c0b34f33643f | 17 | uint8_t state[3];//zum entprellen |
juergen0001 | 4:c0b34f33643f | 18 | uint8_t dn; //down status |
juergen0001 | 4:c0b34f33643f | 19 | uint32_t dn_ts;//zeitstempel der Flanke |
juergen0001 | 4:c0b34f33643f | 20 | uint32_t dn_lpts;//zeitstempel der letzen lonpress funktion |
juergen0001 | 4:c0b34f33643f | 21 | }; |
juergen0001 | 4:c0b34f33643f | 22 | |
juergen0001 | 4:c0b34f33643f | 23 | extern freetronicsLCDShield lcd; |
juergen0001 | 4:c0b34f33643f | 24 | extern Serial pc; |
juergen0001 | 4:c0b34f33643f | 25 | void write_lcd (uint8_t x, uint8_t y, char *txt); |
juergen0001 | 4:c0b34f33643f | 26 | typedef enum { |
juergen0001 | 4:c0b34f33643f | 27 | KEYCB_PRESS, |
juergen0001 | 4:c0b34f33643f | 28 | KEYCB_LONGPRESS, |
juergen0001 | 4:c0b34f33643f | 29 | KEYCB_RELEASE, |
juergen0001 | 4:c0b34f33643f | 30 | KEYCB_CNT |
juergen0001 | 4:c0b34f33643f | 31 | } keycb_num_t; |
juergen0001 | 4:c0b34f33643f | 32 | ssize_t register_key_callback (uint8_t keynum, keycb_num_t cb, key_cb_ft cb_fn); |
juergen0001 | 4:c0b34f33643f | 33 | void keys_handler (float volt); |
juergen0001 | 4:c0b34f33643f | 34 | //void keys_init (void); |
juergen0001 | 4:c0b34f33643f | 35 | void keys_init (PinName analog, uint16_t interval, float *volts6); |
juergen0001 | 4:c0b34f33643f | 36 | #endif |