for helge just for testing

Dependencies:   Freetronics_16x2_LCD mbed-rtos mbed

Fork of Freetronics_16x2_LCD by Shields

Committer:
juergen0001
Date:
Sun Aug 14 09:53:28 2016 +0000
Revision:
4:c0b34f33643f
test for helge

Who changed what in which revision?

UserRevisionLine numberNew 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