summaryrefslogtreecommitdiff
path: root/firmware/export/ds2411.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/ds2411.h')
-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 0000000000..c55579cba5
--- /dev/null
+++ b/firmware/export/ds2411.h
@@ -0,0 +1,48 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2007 by Michael Sevakis
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#ifndef _DS2411_H_
21#define _DS2411_H_
22
23#include <stdbool.h>
24
25/*
26 * Byte 0: 8-bit family code (always 01h)
27 * Bytes 1-6: 48-bit serial number
28 * Byte 7: 8-bit CRC code
29 */
30struct ds2411_id
31{
32 unsigned char family_code;
33 unsigned char uid[6];
34 unsigned char crc;
35} __attribute__((packed));
36
37extern int ds2411_read_id(struct ds2411_id *id);
38
39/* return values */
40enum ds2411_id_return_codes
41{
42 DS2411_NO_PRESENCE = -3,
43 DS2411_INVALID_FAMILY_CODE,
44 DS2411_INVALID_CRC,
45 DS2411_OK = 0,
46};
47
48#endif /* _DS2411_H_ */