OSDN Git Service

51e1c3bfd82e9bb769e1a69e2e781ad6e853adef
[openi2cradio/OpenI2CRadio.git] / iodef.h
1 /*
2  * OpenI2CRADIO
3  * I/O Port defines.
4  * (C) 2013-06-10 K.Ohta <whatisthis.sowhat ai gmail.com>
5  * License: GPL2+LE
6  */
7
8 #ifndef IODEF_H
9 #define IODEF_H
10
11 #ifdef  __cplusplus
12 extern "C" {
13 #endif
14
15
16 /*
17  * MAP OF IOPORT
18  * PORTA/B/C USED.
19  * PORTA: RA2-RA5 : READ
20  *        RA1 : SLOT D(OUT)
21  *        RA0 : ADC(IN)
22  *        RA6-RA7 : CLOCK
23  * PORTB: RB4-RB5 : RESERVED
24  *        RB6-RB7 : FOR ICSP
25  *        RB3 : DEL / BAND
26  *        RB2 : FUNC
27  *        RB1 : Light
28  *        RB0 : Light Out
29  * PORTC  RC0 : LED
30  *        RC1 : SLOT A
31  *        RC2 : SLOT B
32  *        RC5 : SLOT C
33  *        RC3-RC4 : SCL/SDA
34  *        RC6-RC7 : USART
35  */
36
37 #define TRIS_A_VAL 0b11111101
38 #define AN_A_VAL 0b00000001
39 #define TRIS_B_VAL 0b11111110
40 #define AN_B_VAL 0b00000000
41 #define TRIS_C_VAL_O 0b11000000 /* FOR I2C-WRITE */
42 #define TRIS_C_VAL_I 0b11011000 /* FOR I2C-WRITE */
43 #define AN_C_VAL 0b00000000
44
45 typedef  union {
46     struct {
47     unsigned BIT0A:1;
48     unsigned BIT1A:1;
49     unsigned BIT2A:1;
50     unsigned BIT3A:1;
51
52     unsigned BIT0B:1;
53     unsigned BIT1B:1;
54     unsigned BIT2B:1;
55     unsigned BIT3B:1;
56
57     unsigned BIT0C:1;
58     unsigned BIT1C:1;
59     unsigned BIT2C:1;
60     unsigned BIT3C:1;
61
62     unsigned BIT0D:1;
63     unsigned BIT1D:1;
64     unsigned BIT2D:1;
65     unsigned BIT3D:1;
66
67     /*
68      * special keys
69      */
70     unsigned BIT0F:1;
71     unsigned BIT1F:1;
72     unsigned BIT2F:1;
73     unsigned BIT3F:1;
74     unsigned :1;
75     unsigned :1;
76     unsigned :1;
77     unsigned :1;
78     };
79     unsigned char byte[3];
80 } keyin_defs;
81
82 enum {
83     charcode_null = 0,
84     charcode_1,
85     charcode_2,
86     charcode_3,
87     charcode_4,
88     charcode_5,
89     charcode_6,
90     charcode_7,
91     charcode_8,
92     charcode_9,
93     charcode_a,
94     charcode_b,
95     charcode_c,
96     charcode_d,
97     charcode_e,
98     charcode_f,
99     charcode_0,
100     charcode_s0, // RB1
101     charcode_s1, // RB2
102     charcode_s2, // RB3
103     charcode_s3, // Reserve
104 };
105
106
107 #ifdef  __cplusplus
108 }
109 #endif
110
111 #endif  /* IODEF_H */
112