summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/button.c11
-rw-r--r--firmware/drivers/serial.c2
-rw-r--r--firmware/export/button.h33
-rw-r--r--firmware/usb.c2
4 files changed, 24 insertions, 24 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index f934052746..25cdd3d96b 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -267,7 +267,6 @@ void button_set_flip(bool flip)
267 } 267 }
268} 268}
269 269
270
271/* 270/*
272 * Get button pressed from hardware 271 * Get button pressed from hardware
273 */ 272 */
@@ -376,12 +375,12 @@ static int button_read(void)
376 if(adc_read(2) < 0x180) 375 if(adc_read(2) < 0x180)
377 btn |= BUTTON_RIGHT; 376 btn |= BUTTON_RIGHT;
378 if(adc_read(3) < 0x180) 377 if(adc_read(3) < 0x180)
379 btn |= BUTTON_PLAY | BUTTON_UP; 378 btn |= BUTTON_PLAY;
380 379
381 if ( !(porta & 0x20) ) 380 if ( !(porta & 0x20) )
382 btn |= BUTTON_ON; 381 btn |= BUTTON_ON;
383 if ( !(porta & 0x800) ) 382 if ( !(porta & 0x800) )
384 btn |= BUTTON_STOP | BUTTON_DOWN; 383 btn |= BUTTON_STOP;
385 384
386 return btn; 385 return btn;
387} 386}
@@ -488,7 +487,7 @@ static int button_read(void)
488 if(adc_read(ADC_BUTTON_OPTION) > 0x200) /* active high */ 487 if(adc_read(ADC_BUTTON_OPTION) > 0x200) /* active high */
489 btn |= BUTTON_MENU; 488 btn |= BUTTON_MENU;
490 if(adc_read(ADC_BUTTON_ONOFF) < 0x120) /* active low */ 489 if(adc_read(ADC_BUTTON_ONOFF) < 0x120) /* active low */
491 btn |= BUTTON_ON; 490 btn |= BUTTON_OFF;
492 491
493 /* Check the 4 direction keys, hard-coded analog limits for now */ 492 /* Check the 4 direction keys, hard-coded analog limits for now */
494 if (data >= 0x2EF) 493 if (data >= 0x2EF)
@@ -496,9 +495,9 @@ static int button_read(void)
496 else if (data >= 0x246) 495 else if (data >= 0x246)
497 btn |= BUTTON_RIGHT; 496 btn |= BUTTON_RIGHT;
498 else if (data >= 0x19D) 497 else if (data >= 0x19D)
499 btn |= BUTTON_PLAY | BUTTON_UP; 498 btn |= BUTTON_UP;
500 else if (data >= 0x0A1) 499 else if (data >= 0x0A1)
501 btn |= BUTTON_STOP | BUTTON_DOWN; 500 btn |= BUTTON_DOWN;
502 501
503 return btn; 502 return btn;
504} 503}
diff --git a/firmware/drivers/serial.c b/firmware/drivers/serial.c
index 11dadc6f19..e1e0eb82e9 100644
--- a/firmware/drivers/serial.c
+++ b/firmware/drivers/serial.c
@@ -85,7 +85,7 @@ int remote_control_rx(void)
85 } 85 }
86 else 86 else
87 { 87 {
88#ifndef HAVE_NEO_KEYPAD /* This needs to be fixed for Neo */ 88#if !defined(HAVE_NEO_KEYPAD) && !defined(HAVE_ONDIO_KEYPAD)
89 switch (btn) 89 switch (btn)
90 { 90 {
91 case STOP: 91 case STOP:
diff --git a/firmware/export/button.h b/firmware/export/button.h
index 7f4998f48d..7ec484440f 100644
--- a/firmware/export/button.h
+++ b/firmware/export/button.h
@@ -37,7 +37,7 @@ void button_set_flip(bool flip); /* turn 180 degrees */
37#define BUTTON_NONE 0x0000 37#define BUTTON_NONE 0x0000
38 38
39#ifdef HAVE_NEO_KEYPAD 39#ifdef HAVE_NEO_KEYPAD
40 40/* neo button codes */
41#define BUTTON_UP 0x0080 41#define BUTTON_UP 0x0080
42#define BUTTON_DOWN 0x0010 42#define BUTTON_DOWN 0x0010
43#define BUTTON_LEFT 0x0001 43#define BUTTON_LEFT 0x0001
@@ -80,9 +80,6 @@ void button_set_flip(bool flip); /* turn 180 degrees */
80#else 80#else
81 81
82/* Shared button codes */ 82/* Shared button codes */
83#define BUTTON_ON 0x0001
84#define BUTTON_UP 0x0010
85#define BUTTON_DOWN 0x0020
86#define BUTTON_LEFT 0x0040 83#define BUTTON_LEFT 0x0040
87#define BUTTON_RIGHT 0x0080 84#define BUTTON_RIGHT 0x0080
88 85
@@ -94,38 +91,42 @@ void button_set_flip(bool flip); /* turn 180 degrees */
94/* remote control buttons */ 91/* remote control buttons */
95#define BUTTON_RC_VOL_UP (0x0008 | BUTTON_REMOTE) 92#define BUTTON_RC_VOL_UP (0x0008 | BUTTON_REMOTE)
96#define BUTTON_RC_VOL_DOWN (0x0800 | BUTTON_REMOTE) 93#define BUTTON_RC_VOL_DOWN (0x0800 | BUTTON_REMOTE)
97#define BUTTON_RC_PLAY (BUTTON_UP | BUTTON_REMOTE)
98#define BUTTON_RC_STOP (BUTTON_DOWN | BUTTON_REMOTE)
99#define BUTTON_RC_LEFT (BUTTON_LEFT | BUTTON_REMOTE) 94#define BUTTON_RC_LEFT (BUTTON_LEFT | BUTTON_REMOTE)
100#define BUTTON_RC_RIGHT (BUTTON_RIGHT| BUTTON_REMOTE) 95#define BUTTON_RC_RIGHT (BUTTON_RIGHT| BUTTON_REMOTE)
101 96
102#ifdef HAVE_RECORDER_KEYPAD 97#ifdef HAVE_RECORDER_KEYPAD
103 98
104/* Recorder specific button codes */ 99/* Recorder specific button codes */
100#define BUTTON_ON 0x0001
105#define BUTTON_OFF 0x0002 101#define BUTTON_OFF 0x0002
106#define BUTTON_PLAY 0x0004 102#define BUTTON_PLAY 0x0004
103#define BUTTON_UP 0x0010
104#define BUTTON_DOWN 0x0020
107#define BUTTON_F1 0x0100 105#define BUTTON_F1 0x0100
108#define BUTTON_F2 0x0200 106#define BUTTON_F2 0x0200
109#define BUTTON_F3 0x0400 107#define BUTTON_F3 0x0400
110 108
109#define BUTTON_RC_PLAY (BUTTON_PLAY | BUTTON_REMOTE)
110#define BUTTON_RC_STOP (BUTTON_OFF | BUTTON_REMOTE)
111
111#elif defined(HAVE_PLAYER_KEYPAD) 112#elif defined(HAVE_PLAYER_KEYPAD)
112 113
113/* Jukebox 6000 and Studio specific button codes */ 114/* Jukebox 6000 and Studio specific button codes */
115#define BUTTON_ON 0x0001
114#define BUTTON_MENU 0x0002 116#define BUTTON_MENU 0x0002
115#define BUTTON_PLAY BUTTON_UP 117#define BUTTON_PLAY 0x0010
116#define BUTTON_STOP BUTTON_DOWN 118#define BUTTON_STOP 0x0020
119
120#define BUTTON_RC_PLAY (BUTTON_PLAY | BUTTON_REMOTE)
121#define BUTTON_RC_STOP (BUTTON_STOP | BUTTON_REMOTE)
117 122
118#elif defined HAVE_ONDIO_KEYPAD 123#elif defined HAVE_ONDIO_KEYPAD
119 124
120/* Ondio specific button codes */ 125/* Ondio specific button codes */
121#define BUTTON_MENU 0x0002 126#define BUTTON_OFF 0x0002
122#define BUTTON_PLAY BUTTON_UP 127#define BUTTON_UP 0x0010
123#define BUTTON_STOP BUTTON_DOWN 128#define BUTTON_DOWN 0x0020
124/* ON is also interpreted as OFF, let's see if that helps a bit */ 129#define BUTTON_MENU 0x0100
125#define BUTTON_OFF BUTTON_ON
126#define BUTTON_F1 0x0100 /* unreacheable */
127#define BUTTON_F2 0x0200 /* unreacheable */
128#define BUTTON_F3 0x0400 /* unreacheable */
129 130
130#endif /* HAVE_RECORDER/PLAYER/ONDIO_KEYPAD */ 131#endif /* HAVE_RECORDER/PLAYER/ONDIO_KEYPAD */
131 132
diff --git a/firmware/usb.c b/firmware/usb.c
index 566f9c43d2..6c14b75f19 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -135,7 +135,7 @@ static void usb_slave_mode(bool on)
135 lcd_puts(0, 0, str); 135 lcd_puts(0, 0, str);
136 lcd_puts(0, 1, "Press ON to debug"); 136 lcd_puts(0, 1, "Press ON to debug");
137 lcd_update(); 137 lcd_update();
138 while(button_get(true) != BUTTON_ON) {}; 138 while(!(button_get(true) & BUTTON_REL)) {};
139 dbg_ports(); 139 dbg_ports();
140 panicf("ata: %d",rc); 140 panicf("ata: %d",rc);
141 } 141 }