summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorRalf Ertzinger <rockbox@camperquake.de>2013-06-22 10:08:23 +0100
committerFrank Gevaerts <frank@gevaerts.be>2013-11-10 18:41:24 +0100
commitb170c73f922e3457b923b4e7fcbec794a8885c77 (patch)
tree89fbdbd8c25af5101a29a1ede3b896332a4e205c /firmware
parent500b137308a6ee5c2aba873734a8956d70472f56 (diff)
downloadrockbox-b170c73f922e3457b923b4e7fcbec794a8885c77.zip
rockbox-b170c73f922e3457b923b4e7fcbec794a8885c77.tar.gz
rockbox-b170c73f922e3457b923b4e7fcbec794a8885c77.tar.bz2
rockbox-b170c73f922e3457b923b4e7fcbec794a8885c77.tar.xz
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 <liveboxandy@gmail.com> Reviewed-on: http://gerrit.rockbox.org/533 Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/iap.h4
-rw-r--r--firmware/export/kernel.h2
-rw-r--r--firmware/target/arm/pp/debug-pp.c9
3 files changed, 9 insertions, 6 deletions
diff --git a/firmware/export/iap.h b/firmware/export/iap.h
index 8ee26cb..22f3608 100644
--- a/firmware/export/iap.h
+++ b/firmware/export/iap.h
@@ -22,7 +22,9 @@
#include <stdbool.h>
-#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 76ed96b..3cadefd 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 f4ba61c..2f57e1e 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)