diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c index 35e6bd31fb..09d3cf7c67 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c | |||
@@ -73,7 +73,10 @@ | |||
73 | #define BTN_HOLD 0x9F06 | 73 | #define BTN_HOLD 0x9F06 |
74 | #define BTN_UNHOLD 0xAF06 | 74 | #define BTN_UNHOLD 0xAF06 |
75 | /* TODO: other values | 75 | /* TODO: other values |
76 | First number is just pressing it, second is when you release it or keep it pressed a bit longer | 76 | |
77 | First number is just pressing it, second is when you release it or keep it | ||
78 | pressed a bit longer | ||
79 | |||
77 | On/Off = 0F00 && 0F01 | 80 | On/Off = 0F00 && 0F01 |
78 | Hold = 9F06 && AF06 | 81 | Hold = 9F06 && AF06 |
79 | Volume Up = 6F00 && 6F01 | 82 | Volume Up = 6F00 && 6F01 |
@@ -235,10 +238,14 @@ void GIO0(void) | |||
235 | #ifdef BOOTLOADER | 238 | #ifdef BOOTLOADER |
236 | lcd_set_foreground((sw ? LCD_RGBPACK(255,0,0) : LCD_RGBPACK(0,255,0) )); | 239 | lcd_set_foreground((sw ? LCD_RGBPACK(255,0,0) : LCD_RGBPACK(0,255,0) )); |
237 | #endif | 240 | #endif |
238 | snprintf(weergvn, sizeof(char)*10, "%x", (unsigned int)((msg[3] << 24) | (msg[2] << 16) | (msg[1] << 8) | msg[0])); | 241 | snprintf(weergvn, sizeof(char)*10, "%x", |
239 | lcd_putsxy(LCD_WIDTH-SYSFONT_WIDTH*10, LCD_HEIGHT-SYSFONT_HEIGHT*10, weergvn); | 242 | (unsigned int)((msg[3] << 24) | |
243 | (msg[2] << 16) | (msg[1] << 8) | msg[0])); | ||
244 | lcd_putsxy(LCD_WIDTH-SYSFONT_WIDTH*10, LCD_HEIGHT-SYSFONT_HEIGHT*10, | ||
245 | weergvn); | ||
240 | snprintf(weergvn, sizeof(char)*10, "%x", btn); | 246 | snprintf(weergvn, sizeof(char)*10, "%x", btn); |
241 | lcd_putsxy(LCD_WIDTH-SYSFONT_WIDTH*10, LCD_HEIGHT-SYSFONT_HEIGHT*7, weergvn); | 247 | lcd_putsxy(LCD_WIDTH-SYSFONT_WIDTH*10, LCD_HEIGHT-SYSFONT_HEIGHT*7, |
248 | weergvn); | ||
242 | #ifdef BOOTLOADER | 249 | #ifdef BOOTLOADER |
243 | lcd_set_foreground(LCD_BLACK); | 250 | lcd_set_foreground(LCD_BLACK); |
244 | #endif | 251 | #endif |
@@ -249,7 +256,8 @@ void GIO0(void) | |||
249 | IO_INTC_IRQ1 = INTR_IRQ1_EXT0; | 256 | IO_INTC_IRQ1 = INTR_IRQ1_EXT0; |
250 | } | 257 | } |
251 | 258 | ||
252 | void send_command_to_pic(unsigned char in, unsigned char* out, unsigned int length) | 259 | void send_command_to_pic(unsigned char in, unsigned char* out, |
260 | unsigned int length) | ||
253 | { | 261 | { |
254 | /* Disable GIO0 interrupt */ | 262 | /* Disable GIO0 interrupt */ |
255 | IO_INTC_EINT1 &= ~INTR_EINT1_EXT0; | 263 | IO_INTC_EINT1 &= ~INTR_EINT1_EXT0; |
@@ -280,13 +288,17 @@ bool headphones_inserted(void) | |||
280 | 288 | ||
281 | void button_init_device(void) | 289 | void button_init_device(void) |
282 | { | 290 | { |
283 | /* TODO: I suppose GIO0 has to be set to input and enable interrupts on it? */ | 291 | /* TODO: I suppose GIO0 has to be set to input and enable interrupts on |
292 | it? */ | ||
284 | /* Enable GIO0 interrupt */ | 293 | /* Enable GIO0 interrupt */ |
285 | IO_INTC_EINT1 |= INTR_EINT1_EXT0; | 294 | IO_INTC_EINT1 |= INTR_EINT1_EXT0; |
286 | btn = nonbtn = pic_init_value = pic_init2_value = last_btn = hold_switch = 0; | 295 | btn = nonbtn = pic_init_value = pic_init2_value = last_btn = hold_switch = |
296 | 0; | ||
287 | /* Initialize PIC */ | 297 | /* Initialize PIC */ |
288 | send_command_to_pic(1, &pic_init_value, sizeof(pic_init_value)); | 298 | send_command_to_pic(1, (unsigned char *)&pic_init_value, |
289 | send_command_to_pic(2, &pic_init2_value, sizeof(pic_init2_value)); | 299 | sizeof(pic_init_value)); |
300 | send_command_to_pic(2, (unsigned char *)&pic_init2_value, | ||
301 | sizeof(pic_init2_value)); | ||
290 | } | 302 | } |
291 | 303 | ||
292 | int get_debug_info(int choice) | 304 | int get_debug_info(int choice) |