aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSatish kumar sugasi <ssugas@codeaurora.org>2013-09-03 21:35:09 -0700
committerSatish kumar sugasi <ssugas@codeaurora.org>2013-09-03 21:35:09 -0700
commit262ddbf560f8db33b2462f07140982aacdaba6a2 (patch)
tree8d656b9c427b5700ae5249a322d565a0622c3a3e
parentfa5c422908eacd37928836bbcdd4f8cbc8c73690 (diff)
parentd4107eca65ac525fd7f8d9e43f3a545f8a6e2008 (diff)
downloadandroid_external_ant-wireless_ant_native-262ddbf560f8db33b2462f07140982aacdaba6a2.tar.gz
android_external_ant-wireless_ant_native-262ddbf560f8db33b2462f07140982aacdaba6a2.tar.bz2
android_external_ant-wireless_ant_native-262ddbf560f8db33b2462f07140982aacdaba6a2.zip
Merge branch 'caf' into tip
-rw-r--r--src/common/inc/ant_version.h2
-rw-r--r--src/vfs/ant_native_chardev.c7
-rw-r--r--src/vfs/ste/cg29xx/ant_driver_defines.h54
3 files changed, 47 insertions, 16 deletions
diff --git a/src/common/inc/ant_version.h b/src/common/inc/ant_version.h
index f6effae..a682134 100644
--- a/src/common/inc/ant_version.h
+++ b/src/common/inc/ant_version.h
@@ -20,7 +20,7 @@
#define __ANT_VERSION_H
#define LIBANT_STACK_MAJOR "1"
-#define LIBANT_STACK_MINOR "4"
+#define LIBANT_STACK_MINOR "6"
#define LIBANT_STACK_INCRE "0"
#endif // __ANT_VERSION_H
diff --git a/src/vfs/ant_native_chardev.c b/src/vfs/ant_native_chardev.c
index 80ca0d1..df209c2 100644
--- a/src/vfs/ant_native_chardev.c
+++ b/src/vfs/ant_native_chardev.c
@@ -270,8 +270,11 @@ ANTStatus ant_radio_hard_reset(void)
if (g_fnStateCallback)
g_fnStateCallback(RADIO_STATUS_RESETTING);
- for (eChannel = 0; eChannel < NUM_ANT_CHANNELS; eChannel++)
- ioctl(stRxThreadInfo.astChannels[eChannel].iFd, ANT_IOCTL_RESET); //TODO only one?
+#ifdef ANT_IOCTL_RESET_PARAMETER
+ ioctl(stRxThreadInfo.astChannels[0].iFd, ANT_IOCTL_RESET, ANT_IOCTL_RESET_PARAMETER);
+#else
+ ioctl(stRxThreadInfo.astChannels[0].iFd, ANT_IOCTL_RESET);
+#endif // ANT_IOCTL_RESET_PARAMETER
ant_disable();
diff --git a/src/vfs/ste/cg29xx/ant_driver_defines.h b/src/vfs/ste/cg29xx/ant_driver_defines.h
index 238782b..aa75ffa 100644
--- a/src/vfs/ste/cg29xx/ant_driver_defines.h
+++ b/src/vfs/ste/cg29xx/ant_driver_defines.h
@@ -17,10 +17,11 @@
*/
/*******************************************************************************\
*
-* FILE NAME: ant_driver_defines.h
+* FILE NAME: ant_driver_defines.h
*
* BRIEF:
-* This file defines constants for the ST-E CG29XX implementation
+* This file defines ANT specific HCI values used by the ANT stack for a
+* ST-E CG29XX.
*
*
\*******************************************************************************/
@@ -28,31 +29,59 @@
#ifndef __VFS_PRERELEASE_H
#define __VFS_PRERELEASE_H
-#define ANT_CHIP_NAME "ST-E CG29XX"
-
-#define ANT_COMMANDS_DEVICE_NAME "/dev/cg2900_antradio_cmd"
-#define ANT_DATA_DEVICE_NAME "/dev/cg2900_antradio_data"
-
-// TODO Must define ANT_IOCTL_RESET to value driver is expecting
-#define ANT_IOCTL_RESET _IO('H', 160)
-
+// ANT HCI Packet Structure
// -----------------------------------------
// | Header | Data | Footer |
// |----------------------|-----------------|
// |Optional| Data | Opt. | ... | Optional |
// | Opcode | Size | Sync | | Checksum |
+// Data may include any number of ANT packets, with no sync byte or checksum.
+// A read from the driver may return any number of ANT HCI packets.
+
+
+// ---------------------- REQUIRED
+
+// Which chip is this library being built for:
+#define ANT_CHIP_NAME "ST-E CG29XX"
+// Set the file name the driver creates for the ANT device:
+// If chip uses separate command and data paths:
+#define ANT_COMMANDS_DEVICE_NAME "/dev/cg2900_antradio_cmd"
+#define ANT_DATA_DEVICE_NAME "/dev/cg2900_antradio_data"
+// OR
+// If chip uses one path:
+// #define ANT_DEVICE_NAME "/dev/Z"
+
+// Set to the number of bytes of header is for Opcode:
#define ANT_HCI_OPCODE_SIZE 0
+// Set to the number of bytes of header is for Data Size:
#define ANT_HCI_SIZE_SIZE 1
+// Set to the number of bytes of header is for Sync:
#define ANT_HCI_SYNC_SIZE 0
+// Set to the number of bytes of footer is for Checksum:
#define ANT_HCI_CHECKSUM_SIZE 0
-#define ANT_MESG_FLOW_CONTROL ((ANT_U8)0xC9)
+// ---------------------- OPTIONAL
+
+// If hard reset is supported, define ANT_IOCTL_RESET
+#define ANT_IOCTL_RESET _IOW('U', 210, int)
+#define ANT_IOCTL_RESET_PARAMETER (0)
+
+// If the chip sends flow control messages:
+// Define the Opcode for a Flow Control message:
+#define ANT_MESG_FLOW_CONTROL ((ANT_U8)0xC9)
+// AND
+// define the message content:
+// That signals Flow Go:
#define ANT_FLOW_GO ((ANT_U8)0x00)
+// That signals Flow Stop:
+#define ANT_FLOW_STOP ((ANT_U8)0x80)
-// ---------------------- Not chip specific
+
+// ---------------------- NOT CHIP SPECIFIC
+// These should not need to be modified, but should be verified they are correct
#define ANT_HCI_HEADER_SIZE ((ANT_HCI_OPCODE_SIZE) + (ANT_HCI_SIZE_SIZE) + (ANT_HCI_SYNC_SIZE))
@@ -61,7 +90,6 @@
#define ANT_HCI_SYNC_OFFSET ((ANT_HCI_SIZE_OFFSET) + (ANT_HCI_SIZE_SIZE))
#define ANT_HCI_DATA_OFFSET (ANT_HCI_HEADER_SIZE)
-#define ANT_FLOW_STOP ((ANT_U8)0x80)
#define ANT_FLOW_GO_WAIT_TIMEOUT_SEC 10
#endif /* ifndef __VFS_PRERELEASE_H */