MCPcopy Create free account
hub / github.com/360Controller/360Controller / ChatPadTimerAction

Method ChatPadTimerAction

360Controller/_60Controller.cpp:124–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

122}
123
124void Xbox360Peripheral::ChatPadTimerAction(IOTimerEventSource *sender)
125{
126 int nextTime, serialGot;
127
128 serialGot = 0;
129 nextTime = 1000;
130 switch (serialTimerState)
131 {
132 case tsToggle:
133 SendToggle();
134 if (serialActive)
135 {
136 if (!serialHeard)
137 {
138 serialActive = false;
139 serialGot = 2;
140 }
141 }
142 else
143 {
144 if (serialHeard)
145 {
146 serialTimerState = tsReset1;
147 serialResetCount = 0;
148 nextTime = 40;
149 }
150 }
151 break;
152
153 case tsMiniToggle:
154 SendToggle();
155 if (serialHeard)
156 {
157 serialTimerState = tsSet1;
158 nextTime = 40;
159 }
160 else
161 {
162 serialResetCount++;
163 if (serialResetCount > 3)
164 {
165 serialTimerState = tsToggle;
166 }
167 else
168 {
169 serialTimerState = tsReset1;
170 nextTime = 40;
171 }
172 }
173 break;
174
175 case tsReset1:
176 SendSpecial(0x1B);
177 serialTimerState = tsReset2;
178 nextTime = 35;
179 break;
180
181 case tsReset2:

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected