summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c')
-rw-r--r--firmware/target/arm/tms320dm320/creative-zvm/pic-creativezvm.c30
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
76First number is just pressing it, second is when you release it or keep it pressed a bit longer 76
77First number is just pressing it, second is when you release it or keep it
78pressed a bit longer
79
77On/Off = 0F00 && 0F01 80On/Off = 0F00 && 0F01
78Hold = 9F06 && AF06 81Hold = 9F06 && AF06
79Volume Up = 6F00 && 6F01 82Volume 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
252void send_command_to_pic(unsigned char in, unsigned char* out, unsigned int length) 259void 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
281void button_init_device(void) 289void 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
292int get_debug_info(int choice) 304int get_debug_info(int choice)