From b170c73f922e3457b923b4e7fcbec794a8885c77 Mon Sep 17 00:00:00 2001 From: Ralf Ertzinger Date: Sat, 22 Jun 2013 10:08:23 +0100 Subject: Updated IAP commands. Originally written and uploaded by Lalufu (Ralf Ertzinger) in Feb 2012. They have been condensed into a single patch and some further additions by Andy Potter. Currently includes Authentication V2 support from iPod to Accessory, RF/BlueTooth transmitter support, selecting a playlist and selecting a track from the current playlist. Does not support uploading Album Art or podcasts. Has been tested on the following iPods, 4th Gen Grayscale, 4th Gen Color/Photo, Mini 2nd Gen, Nano 1st Gen and Video 5.5Gen. Change-Id: Ie8fc098361844132f0228ecbe3c48da948726f5e Co-Authored by: Andy Potter Reviewed-on: http://gerrit.rockbox.org/533 Reviewed-by: Frank Gevaerts --- firmware/export/iap.h | 4 +++- firmware/export/kernel.h | 2 -- firmware/target/arm/pp/debug-pp.c | 9 ++++++--- 3 files changed, 9 insertions(+), 6 deletions(-) (limited to 'firmware') diff --git a/firmware/export/iap.h b/firmware/export/iap.h index 8ee26cbe9f..22f36083d1 100644 --- a/firmware/export/iap.h +++ b/firmware/export/iap.h @@ -22,7 +22,9 @@ #include -#define RX_BUFLEN 512 +/* This is just the payload size, without sync, length and checksum */ +#define RX_BUFLEN (64*1024) +/* This is the entire frame length, sync, length, payload and checksum */ #define TX_BUFLEN 128 extern bool iap_getc(unsigned char x); diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 76ed96bd14..3cadefdf68 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h @@ -79,8 +79,6 @@ #define SYS_REMOTE_PLUGGED MAKE_SYS_EVENT(SYS_EVENT_CLS_PLUG, 4) #define SYS_REMOTE_UNPLUGGED MAKE_SYS_EVENT(SYS_EVENT_CLS_PLUG, 5) #define SYS_CAR_ADAPTER_RESUME MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 0) -#define SYS_IAP_PERIODIC MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 1) -#define SYS_IAP_HANDLEPKT MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 2) #define SYS_CALL_INCOMING MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 3) #define SYS_CALL_HUNG_UP MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 4) #define SYS_VOLUME_CHANGED MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 5) diff --git a/firmware/target/arm/pp/debug-pp.c b/firmware/target/arm/pp/debug-pp.c index f4ba61cd39..2f57e1ef14 100644 --- a/firmware/target/arm/pp/debug-pp.c +++ b/firmware/target/arm/pp/debug-pp.c @@ -155,9 +155,12 @@ bool dbg_ports(void) #if defined(IPOD_ACCESSORY_PROTOCOL) const unsigned char *serbuf = iap_get_serbuf(); - lcd_putsf(0, line++, "IAP: %02x %02x %02x %02x %02x %02x %02x %02x", - serbuf[0], serbuf[1], serbuf[2], serbuf[3], serbuf[4], serbuf[5], - serbuf[6], serbuf[7]); + if (serbuf) + { + lcd_putsf(0, line++, "IAP: %02x %02x %02x %02x %02x %02x %02x %02x", + serbuf[0], serbuf[1], serbuf[2], serbuf[3], serbuf[4], serbuf[5], + serbuf[6], serbuf[7]); + } #endif #if defined(IRIVER_H10) || defined(IRIVER_H10_5GB) -- cgit v1.2.3