OSDN Git Service

[SCHEMATIC] Modify SW/MW/LW Preamp, insert galbanic-isolator replace of common-mode...
[openi2cradio/OpenI2CRadio.git] / iodef_key.h
1 /*
2  * OpenI2CRADIO
3  * I/O Port defines / KEYBOARD.
4  * Copyright (C) 2013-08-22 K.Ohta <whatisthis.sowhat ai gmail.com>
5  * License: GPL2+LE
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation; either version 2,
10  *  or (at your option) any later version.
11  *  This library / program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  *  See the GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this library; see the file COPYING. If not, write to the
18  *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
19  *  MA 02110-1301, USA.
20  *
21  *  As a special exception, if you link this(includeed from sdcc) library
22  *  with other files, some of which are compiled with SDCC,
23  *  to produce an executable, this library does not by itself cause
24  *  the resulting executable to be covered by the GNU General Public License.
25  *  This exception does not however invalidate any other reasons why
26  *  the executable file might be covered by the GNU General Public License.
27  */
28
29 #ifndef IODEF_KEY_H
30 #define IODEF_KEY_H
31
32 #ifdef  __cplusplus
33 extern "C" {
34 #endif
35
36
37 #define _KEY_SENDPORT LATA
38 #define _KEY_RECVPORT PORTB
39 #define _KEY_GRP1MASK 0x01
40 #define _KEY_GRP2MASK 0x02
41 #define _KEY_GRP3MASK 0x04
42 #define _KEY_GRP4MASK 0x08
43 #define _KEY_SENDPORTMASK (_KEY_GRP1MASK | _KEY_GRP2MASK | _KEY_GRP3MASK | _KEY_GRP4MASK)
44 #define _KEY_SEND_GRP1 LATAbits.LATA0
45 #define _KEY_SEND_GRP2 LATAbits.LATA1
46 #define _KEY_SEND_GRP3 LATAbits.LATA2
47 #define _KEY_SEND_GRP4 LATAbits.LATA3
48 #define _KEY_POS1MASK(p) p.b0
49 #define _KEY_POS2MASK(p) p.b1
50 #define _KEY_POS3MASK(p) p.b2
51 #define _KEY_POS4MASK(p) p.b3
52
53 typedef  union {
54     struct {
55     unsigned BIT0A:1;
56     unsigned BIT1A:1;
57     unsigned BIT2A:1;
58     unsigned BIT3A:1;
59
60     unsigned BIT0B:1;
61     unsigned BIT1B:1;
62     unsigned BIT2B:1;
63     unsigned BIT3B:1;
64
65     unsigned BIT0C:1;
66     unsigned BIT1C:1;
67     unsigned BIT2C:1;
68     unsigned BIT3C:1;
69
70     unsigned BIT0D:1;
71     unsigned BIT1D:1;
72     unsigned BIT2D:1;
73     unsigned BIT3D:1;
74
75     };
76     unsigned char byte[2];
77 } keyin_defs;
78
79 enum {
80     charcode_null = 0,
81     charcode_1,
82     charcode_2,
83     charcode_3,
84     charcode_4,
85     charcode_5,
86     charcode_6,
87     charcode_7,
88     charcode_8,
89     charcode_9,
90     charcode_a,
91     charcode_b,
92     charcode_c,
93     charcode_d,
94     charcode_e,
95     charcode_f,
96     charcode_0,
97     // Special keys was removed.
98 };
99
100
101
102 #ifdef  __cplusplus
103 }
104 #endif
105
106 #endif  /* IODEF_KEY_H */
107