forked from Sucareto/Arduino-Aime-Reader
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathArduino-Aime-Reader.ino
More file actions
148 lines (142 loc) · 2.84 KB
/
Copy pathArduino-Aime-Reader.ino
File metadata and controls
148 lines (142 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#define SEGA_MODE 1
#define SPICE_MODE 1
#define NAMCO_MODE 1
#define Other_MODE 1
#include "Device.h"
#if defined (SEGA_MODE)
#include "Sega_Aime_Reader.h"
#endif
#if defined (SPICE_MODE)
#include "Spicetool_Reader.h"
#endif
#if defined (NAMCO_MODE)
#include "Namco_Banapass_Reader.h"
#endif
#if defined (Other_MODE)
#include "Test_Reader.h"
#include "PN532_RAW.h"
#endif
uint8_t switch_flag = 0;
uint8_t system_mode = 0;
void setup() {
#if defined(ARDUINO_ARCH_RP2040)
Serial.ignoreFlowControl();
Serial1.setRX(12);
Serial1.setTX(13);
Serial1.begin(115200);
#elif defined(STM32F0)
Serial.dtr(false);
#elif defined(CONFIG_IDF_TARGET_ESP32)
//EEPROM.commit();
#elif defined(CONFIG_IDF_TARGET_ESP32C3)
pinMode(sysled, OUTPUT);
pinMode(nfccommled, OUTPUT);
digitalWrite(sysled, 1);
digitalWrite(nfccommled, 0);
#elif defined(_BOARD_GENERIC_STM32F103C_H_)
afio_remap(AFIO_REMAP_TIM2_FULL);
afio_remap(AFIO_REMAP_USART1);
#elif defined(ARDUINO_SAMD_ZERO)
// SerialPN532.begin(115200);
// pinPeripheral(A1, PIO_SERCOM_ALT);
// pinPeripheral(A2, PIO_SERCOM_ALT);
#endif
EEPROM_get_sysconfig();
#if defined(CDC)
SerialDevice.begin(115200);
#endif
switch(system_mode){
#if defined (SEGA_MODE)
case 0:
Sega_Mode_Init();
break;
case 3:
Sega_Mode_Init();
break;
case 4:
Sega_Mode_Init();
break;
#endif
#if defined (SPICE_MODE)
case 1:
Spice_Mode_Init();
break;
#endif
#if defined (NAMCO_MODE)
case 2:
Namco_PN532_Setup();
break;
#endif
default:
#if SEGA_MODE
Sega_Mode_Init();
#elif SPICE_MODE
Spice_Mode_Init();
#elif NAMCO_MODE
Namco_PN532_Setup();
#endif
break;
}
}
void loop() {
if(switch_flag){
switch(system_mode){
#if defined (SEGA_MODE)
case 0:
Sega_Mode_Init();
switch_flag = 0;
break;
#endif
#if defined (SPICE_MODE)
case 1:
Spice_Mode_Init();
switch_flag = 0;
break;
#endif
#if defined (NAMCO_MODE)
case 2:
Namco_PN532_Setup();
switch_flag = 0;
break;
#endif
default:
Sega_Mode_Init();
switch_flag = 0;
break;
}
}
switch(system_mode){
#if defined (SEGA_MODE)
case 0:
Sega_Mode_Loop();
break;
#endif
#if defined (SPICE_MODE)
case 1:
Spice_Mode_Loop();
break;
#endif
#if defined (NAMCO_MODE)
case 2:
Namco_Mode_Loop();
break;
#endif
#if defined (Other_MODE)
case 3:
Test_Reader_Loop();
break;
case 4:
RAW_Loop();
break;
#endif
default:
#if SEGA_MODE
Sega_Mode_Loop();
#elif SPICE_MODE
Spicetool_Mode_Loop();
#elif NAMCO_MODE
Namco_Mode_Loop();
#endif
break;
}
}