summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-03-11 13:59:31 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-03-11 13:59:31 +0000
commit89a38d4273a9ef6f7e2d46876ddfe5ce8cee10da (patch)
treec3707e992cf53ddf71410e75eab4a35ed97defcc /firmware/export
parent04ea446edc56d0891f458ffa8f2b0e2616e443df (diff)
downloadrockbox-89a38d4273a9ef6f7e2d46876ddfe5ce8cee10da.zip
rockbox-89a38d4273a9ef6f7e2d46876ddfe5ce8cee10da.tar.gz
rockbox-89a38d4273a9ef6f7e2d46876ddfe5ce8cee10da.tar.bz2
rockbox-89a38d4273a9ef6f7e2d46876ddfe5ce8cee10da.tar.xz
iAudio X5: Enable reading of DS2411 serial number. See it under System|Debug|View HW info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12723 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/ds2411.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/firmware/export/ds2411.h b/firmware/export/ds2411.h
new file mode 100644
index 0000000..c55579c
--- /dev/null
+++ b/firmware/export/ds2411.h
@@ -0,0 +1,48 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2007 by Michael Sevakis
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef _DS2411_H_
+#define _DS2411_H_
+
+#include <stdbool.h>
+
+/*
+ * Byte 0: 8-bit family code (always 01h)
+ * Bytes 1-6: 48-bit serial number
+ * Byte 7: 8-bit CRC code
+ */
+struct ds2411_id
+{
+ unsigned char family_code;
+ unsigned char uid[6];
+ unsigned char crc;
+} __attribute__((packed));
+
+extern int ds2411_read_id(struct ds2411_id *id);
+
+/* return values */
+enum ds2411_id_return_codes
+{
+ DS2411_NO_PRESENCE = -3,
+ DS2411_INVALID_FAMILY_CODE,
+ DS2411_INVALID_CRC,
+ DS2411_OK = 0,
+};
+
+#endif /* _DS2411_H_ */