Subversion Repositories Code-Repo

Rev

Rev 212 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
200 Kevin 1
#ifndef BTN_H
2
#define	BTN_H
3
 
212 Kevin 4
// BTN1 = CN8, BTN2 = CN9, BTN3 = CN19 (32MX7 only)
5
// BTN1 = RG6, BTN2 = RG7, BTN3 = RD13 (32MX7 only)
200 Kevin 6
// Note: Write to PORTx is effectively the same as write to LATx
7
#define BTN1_TRIS TRISGbits.TRISG6
8
#define BTN1_PORT PORTGbits.RG6
9
#define BTN2_TRIS TRISGbits.TRISG7
10
#define BTN2_PORT PORTGbits.RG7
212 Kevin 11
 
12
#if defined CEREBOT_32MX7
200 Kevin 13
#define BTN3_TRIS TRISDbits.TRISD13
14
#define BTN3_PORT PORTDbits.RD13
212 Kevin 15
#elif defined CEREBOT_MX7CK
16
#define BTN3_TRIS TRISAbits.TRISA0
17
#define BTN3_PORT PORTAbits.RA0
18
#endif
200 Kevin 19
 
20
#define BTN_DEBOUNCE_MS 1
21
 
201 Kevin 22
typedef struct {
23
    void (*callback_function_1)(void);
24
    void (*callback_function_2)(void);
25
    void (*callback_function_3)(void);
26
} BTN_DATA;
200 Kevin 27
 
201 Kevin 28
void BTN_Init(BTN_DATA *data, void (*callback_1)(void), void (*callback_2)(void), void (*callback_3)(void));
29
 
200 Kevin 30
#endif	/* BTN_H */
31