44#include " config.h"
55#include " player.h"
66#include " display.h"
7+ #include " netserver.h"
78
89long encOldPosition = 0 ;
910long enc2OldPosition = 0 ;
@@ -210,8 +211,12 @@ void irNum(byte num) {
210211
211212void irLoop () {
212213 if (irrecv.decode (&irResults)) {
213- if (IR_DEBUG) {
214+ if (irResults.value <256 ) return ;
215+ if (netserver.irRecordEnable ) {
214216 Serial.print (resultToHumanReadableBasic (&irResults));
217+ Serial.println (" --------------------------" );
218+ config.ircodes .irVals [config.irindex ][config.irchck ]=irResults.value ;
219+ netserver.irToWs (typeToString (irResults.decode_type , irResults.repeat ).c_str (), irResults.value );
215220 return ;
216221 }
217222 if (!irResults.repeat /* && irResults.command!=0*/ ) {
@@ -227,88 +232,99 @@ void irLoop() {
227232 break ;
228233 }
229234 }
230- switch (irResults.value ) {
231- case IR_CODE_PLAY: {
232- irBlink ();
233- if (display.mode == NUMBERS) {
234- display.putRequest ({NEWMODE, PLAYER});
235- player.play (display.numOfNextStation );
236- display.numOfNextStation = 0 ;
237- break ;
238- }
239- onBtnClick (1 );
240- break ;
241- }
242- case IR_CODE_PREV: {
243- player.prev ();
244- break ;
245- }
246- case IR_CODE_NEXT: {
247- player.next ();
248- break ;
249- }
250- case IR_CODE_VOLUP: {
251- controlsEvent (display.mode == STATIONS ? false : true );
252- irVolRepeat = 1 ;
253- break ;
254- }
255- case IR_CODE_VOLDN: {
256- controlsEvent (display.mode == STATIONS ? true : false );
257- irVolRepeat = 2 ;
258- break ;
259- }
260- case IR_CODE_HASH: {
261- if (display.mode == NUMBERS) {
262- display.putRequest ({RETURNTITLE, 0 });
263- display.putRequest ({NEWMODE, PLAYER});
264- display.numOfNextStation = 0 ;
265- break ;
266- }
267- display.putRequest ({NEWMODE, display.mode == PLAYER ? STATIONS : PLAYER});
268- break ;
269- }
270- case IR_CODE_NUM0: {
271- irNum (0 );
272- break ;
273- }
274- case IR_CODE_NUM1: {
275- irNum (1 );
276- break ;
277- }
278- case IR_CODE_NUM2: {
279- irNum (2 );
280- break ;
281- }
282- case IR_CODE_NUM3: {
283- irNum (3 );
284- break ;
285- }
286- case IR_CODE_NUM4: {
287- irNum (4 );
288- break ;
289- }
290- case IR_CODE_NUM5: {
291- irNum (5 );
292- break ;
293- }
294- case IR_CODE_NUM6: {
295- irNum (6 );
296- break ;
297- }
298- case IR_CODE_NUM7: {
299- irNum (7 );
300- break ;
301- }
302- case IR_CODE_NUM8: {
303- irNum (8 );
304- break ;
305- }
306- case IR_CODE_NUM9: {
307- irNum (9 );
235+ for (int target=0 ; target<17 ; target++){
236+ for (int j=0 ; j<3 ; j++){
237+ if (config.ircodes .irVals [target][j]==irResults.value ){
238+ switch (target){
239+ case IR_PLAY: {
240+ irBlink ();
241+ if (display.mode == NUMBERS) {
242+ display.putRequest ({NEWMODE, PLAYER});
243+ player.play (display.numOfNextStation );
244+ display.numOfNextStation = 0 ;
245+ break ;
246+ }
247+ onBtnClick (1 );
248+ break ;
249+ }
250+ case IR_PREV: {
251+ player.prev ();
252+ break ;
253+ }
254+ case IR_NEXT: {
255+ player.next ();
256+ break ;
257+ }
258+ case IR_UP: {
259+ controlsEvent (display.mode == STATIONS ? false : true );
260+ irVolRepeat = 1 ;
261+ break ;
262+ }
263+ case IR_DOWN: {
264+ controlsEvent (display.mode == STATIONS ? true : false );
265+ irVolRepeat = 2 ;
266+ break ;
267+ }
268+ case IR_HASH: {
269+ if (display.mode == NUMBERS) {
270+ display.putRequest ({RETURNTITLE, 0 });
271+ display.putRequest ({NEWMODE, PLAYER});
272+ display.numOfNextStation = 0 ;
273+ break ;
274+ }
275+ display.putRequest ({NEWMODE, display.mode == PLAYER ? STATIONS : PLAYER});
276+ break ;
277+ }
278+ case IR_0: {
279+ irNum (0 );
280+ break ;
281+ }
282+ case IR_1: {
283+ irNum (1 );
284+ break ;
285+ }
286+ case IR_2: {
287+ irNum (2 );
288+ break ;
289+ }
290+ case IR_3: {
291+ irNum (3 );
292+ break ;
293+ }
294+ case IR_4: {
295+ irNum (4 );
296+ break ;
297+ }
298+ case IR_5: {
299+ irNum (5 );
300+ break ;
301+ }
302+ case IR_6: {
303+ irNum (6 );
304+ break ;
305+ }
306+ case IR_7: {
307+ irNum (7 );
308+ break ;
309+ }
310+ case IR_8: {
311+ irNum (8 );
312+ break ;
313+ }
314+ case IR_9: {
315+ irNum (9 );
316+ break ;
317+ }
318+ case IR_AST: {
319+ break ;
320+ }
321+ } /* switch (target) */
322+ target=17 ;
308323 break ;
309- }
310- }
311- }
324+ } /* if(config.ircodes.irVals[target][j]==irResults.value) */
325+ } /* for(int j=0; j<3; j++) */
326+ } /* for(int target=0; target<16; target++) */
327+ } /* if (irrecv.decode(&irResults)) */
312328}
313329#endif // if IR_PIN!=255
314330
0 commit comments