2
0

ant.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. /*
  2. This software is subject to the license described in the License.txt file
  3. included with this software distribution. You may not use this file except
  4. in compliance with this license.
  5. Copyright (c) Dynastream Innovations Inc. 2016
  6. All rights reserved.
  7. */
  8. #ifndef ANT_H
  9. #define ANT_H
  10. #include "types.h"
  11. #include "antdefines.h"
  12. #include "antmessage.h"
  13. //Port Types: these defines are used to decide what type of connection to connect over
  14. #define PORT_TYPE_USB 0
  15. #define PORT_TYPE_COM 1
  16. //Framer Types: These are used to define which framing type to use
  17. #define FRAMER_TYPE_BASIC 0
  18. #if defined(DSI_TYPES_WINDOWS)
  19. #define EXPORT __declspec(dllexport)
  20. #elif defined(DSI_TYPES_MACINTOSH) || defined(DSI_TYPES_LINUX)
  21. #define EXPORT __attribute__((visibility("default")))
  22. #endif
  23. // Application callback function pointer
  24. typedef BOOL (*RESPONSE_FUNC)(UCHAR ucANTChannel, UCHAR ucResponseMsgID);
  25. typedef BOOL (*CHANNEL_EVENT_FUNC)(UCHAR ucANTChannel, UCHAR ucEvent);
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. ////////////////////////////////////////////////////////////////////////////////////////
  30. // The following functions are used to manage the USB connection to the module
  31. ////////////////////////////////////////////////////////////////////////////////////////
  32. EXPORT BOOL ANT_GetDeviceUSBInfo(UCHAR ucUSBDeviceNum, UCHAR* pucProductString, UCHAR* pucSerialString);
  33. EXPORT BOOL ANT_GetDeviceUSBPID(USHORT* pusPID_);
  34. EXPORT BOOL ANT_GetDeviceUSBVID(USHORT* pusVID_);
  35. EXPORT ULONG ANT_GetDeviceSerialNumber();
  36. EXPORT BOOL ANT_Init(UCHAR ucUSBDeviceNum, ULONG ulBaudrate);
  37. EXPORT BOOL ANT_InitExt(UCHAR ucUSBDeviceNum, ULONG ulBaudrate, UCHAR ucPortType, UCHAR ucSerialFrameType); //Initializes and opens USB connection to the module
  38. EXPORT void ANT_Close(); //Closes the USB connection to the module
  39. EXPORT const char* ANT_LibVersion(void); // Obtains the version number of the dynamic library
  40. EXPORT void ANT_AssignResponseFunction(RESPONSE_FUNC pfResponse, UCHAR* pucResponseBuffer); // pucResponse buffer should be of size MESG_RESPONSE_EVENT_SIZE
  41. EXPORT void ANT_AssignChannelEventFunction(UCHAR ucANTChannel,CHANNEL_EVENT_FUNC pfChannelEvent, UCHAR *pucRxBuffer);
  42. EXPORT void ANT_UnassignAllResponseFunctions(); //Unassigns all response functions
  43. ////////////////////////////////////////////////////////////////////////////////////////
  44. // Config Messages
  45. ////////////////////////////////////////////////////////////////////////////////////////
  46. EXPORT BOOL ANT_UnAssignChannel(UCHAR ucANTChannel); // Unassign a Channel
  47. EXPORT BOOL ANT_UnAssignChannel_RTO(UCHAR ucANTChannel, ULONG ulResponseTime_);
  48. EXPORT BOOL ANT_AssignChannel(UCHAR ucANTChannel, UCHAR ucChanType, UCHAR ucNetNumber);
  49. EXPORT BOOL ANT_AssignChannel_RTO(UCHAR ucANTChannel, UCHAR ucChannelType_, UCHAR ucNetNumber, ULONG ulResponseTime_);
  50. EXPORT BOOL ANT_AssignChannelExt(UCHAR ucANTChannel, UCHAR ucChannelType_, UCHAR ucNetNumber, UCHAR ucExtFlags_);
  51. EXPORT BOOL ANT_AssignChannelExt_RTO(UCHAR ucANTChannel, UCHAR ucChannelType_, UCHAR ucNetNumber, UCHAR ucExtFlags_, ULONG ulResponseTime_);
  52. EXPORT BOOL ANT_SetChannelId(UCHAR ucANTChannel, USHORT usDeviceNumber, UCHAR ucDeviceType, UCHAR ucTransmissionType_);
  53. EXPORT BOOL ANT_SetChannelId_RTO(UCHAR ucANTChannel_, USHORT usDeviceNumber_, UCHAR ucDeviceType_, UCHAR ucTransmissionType_, ULONG ulResponseTime_);
  54. EXPORT BOOL ANT_SetChannelPeriod(UCHAR ucANTChannel, USHORT usMesgPeriod);
  55. EXPORT BOOL ANT_SetChannelPeriod_RTO(UCHAR ucANTChannel_, USHORT usMesgPeriod_, ULONG ulResponseTime_);
  56. EXPORT BOOL ANT_SetChannelSearchTimeout(UCHAR ucANTChannel, UCHAR ucSearchTimeout); // Sets the search timeout for a give receive channel on the module
  57. EXPORT BOOL ANT_SetChannelSearchTimeout_RTO(UCHAR ucANTChannel_, UCHAR ucSearchTimeout_, ULONG ulResponseTime_);
  58. EXPORT BOOL ANT_SetChannelRFFreq(UCHAR ucANTChannel, UCHAR ucRFFreq);
  59. EXPORT BOOL ANT_SetChannelRFFreq_RTO(UCHAR ucANTChannel_, UCHAR ucRFFreq_, ULONG ulResponseTime_);
  60. EXPORT BOOL ANT_SetNetworkKey(UCHAR ucNetNumber, UCHAR *pucKey);
  61. EXPORT BOOL ANT_SetNetworkKey_RTO(UCHAR ucNetNumber, UCHAR *pucKey, ULONG ulResponseTime_);
  62. EXPORT BOOL ANT_SetTransmitPower(UCHAR ucTransmitPower);
  63. EXPORT BOOL ANT_SetTransmitPower_RTO(UCHAR ucTransmitPower_, ULONG ulResponseTime_);
  64. EXPORT BOOL ANT_ConfigureAdvancedBurst(BOOL bEnable_, UCHAR ucMaxPacketLength_, ULONG ulRequiredFields_, ULONG ulOptionalFields_);
  65. EXPORT BOOL ANT_ConfigureAdvancedBurst_RTO(BOOL bEnable_, UCHAR ucMaxPacketLength_, ULONG ulRequiredFields_, ULONG ulOptionalFields_, ULONG ulResponseTime_);
  66. EXPORT BOOL ANT_ConfigureAdvancedBurst_ext(BOOL bEnable_, UCHAR ucMaxPacketLength_, ULONG ulRequiredFields_, ULONG ulOptionalFields_, USHORT usStallCount_, UCHAR ucRetryCount_);
  67. EXPORT BOOL ANT_ConfigureAdvancedBurst_ext_RTO(BOOL bEnable_, UCHAR ucMaxPacketLength_, ULONG ulRequiredFields_, ULONG ulOptionalFields_, USHORT usStallCount_, UCHAR ucRetryCount_, ULONG ulResponseTime_);
  68. EXPORT BOOL ANT_ConfigEventFilter(USHORT usEventFilter_);
  69. EXPORT BOOL ANT_ConfigEventFilter_RTO(USHORT usEventFilter_, ULONG ulResponseTime_);
  70. EXPORT BOOL ANT_ConfigEventBuffer(UCHAR ucConfig_, USHORT usSize_, USHORT usTime_);
  71. EXPORT BOOL ANT_ConfigEventBuffer_RTO(UCHAR ucConfig_, USHORT usSize_, USHORT usTime_, ULONG ulResponseTime_);
  72. EXPORT BOOL ANT_ConfigHighDutySearch(UCHAR ucEnable_, UCHAR ucSuppressionCycles_);
  73. EXPORT BOOL ANT_ConfigHighDutySearch_RTO(UCHAR ucEnable_, UCHAR ucSuppressionCycles_, ULONG ulResponseTime_);
  74. EXPORT BOOL ANT_ConfigSelectiveDataUpdate(UCHAR ucChannel_, UCHAR ucSduConfig_);
  75. EXPORT BOOL ANT_ConfigSelectiveDataUpdate_RTO(UCHAR ucChannel_, UCHAR ucSduConfig_, ULONG ulResponseTime_);
  76. EXPORT BOOL ANT_SetSelectiveDataUpdateMask(UCHAR ucMaskNumber_, UCHAR* pucSduMask_);
  77. EXPORT BOOL ANT_SetSelectiveDataUpdateMask_RTO(UCHAR ucMaskNumber_, UCHAR* pucSduMask_, ULONG ulResponseTime_);
  78. EXPORT BOOL ANT_ConfigUserNVM(USHORT usAddress_, UCHAR* pucData_, UCHAR ucSize_);
  79. EXPORT BOOL ANT_ConfigUserNVM_RTO(USHORT usAddress_, UCHAR* pucData_, UCHAR ucSize_, ULONG ulResponseTime_);
  80. ////////////////////////////////////////////////////////////////////////////////////////
  81. // Test Mode
  82. ////////////////////////////////////////////////////////////////////////////////////////
  83. EXPORT BOOL ANT_InitCWTestMode(void);
  84. EXPORT BOOL ANT_InitCWTestMode_RTO(ULONG ulResponseTime_);
  85. EXPORT BOOL ANT_SetCWTestMode(UCHAR ucTransmitPower, UCHAR ucRFChannel);
  86. EXPORT BOOL ANT_SetCWTestMode_RTO(UCHAR ucTransmitPower_, UCHAR ucRFChannel_, ULONG ulResponseTime_);
  87. ////////////////////////////////////////////////////////////////////////////////////////
  88. // ANT Control messages
  89. ////////////////////////////////////////////////////////////////////////////////////////
  90. EXPORT BOOL ANT_ResetSystem(void);
  91. EXPORT BOOL ANT_OpenChannel(UCHAR ucANTChannel); // Opens a Channel
  92. EXPORT BOOL ANT_OpenChannel_RTO(UCHAR ucANTChannel_, ULONG ulResponseTime_);
  93. EXPORT BOOL ANT_CloseChannel(UCHAR ucANTChannel); // Close a channel
  94. EXPORT BOOL ANT_CloseChannel_RTO(UCHAR ucANTChannel_, ULONG ulResponseTime_);
  95. EXPORT BOOL ANT_RequestMessage(UCHAR ucANTChannel, UCHAR ucMessageID);
  96. EXPORT BOOL ANT_WriteMessage(UCHAR ucMessageID, UCHAR* aucData, USHORT usMessageSize);
  97. ////////////////////////////////////////////////////////////////////////////////////////
  98. // The following are the synchronous RF event functions used to update the synchronous data sent over a channel
  99. ////////////////////////////////////////////////////////////////////////////////////////
  100. EXPORT BOOL ANT_SendBroadcastData(UCHAR ucANTChannel, UCHAR* pucData); // Sends broadcast data to be sent on the channel's next synchronous message period
  101. EXPORT BOOL ANT_SendAcknowledgedData(UCHAR ucANTChannel, UCHAR* pucData); // Sends acknowledged data to be sent on the channel's next synchronous message period
  102. EXPORT BOOL ANT_SendAcknowledgedData_RTO(UCHAR ucANTChannel_, UCHAR *pucData_, ULONG ulResponseTime_);
  103. EXPORT BOOL ANT_SendBurstTransferPacket(UCHAR ucANTChannelSeq, UCHAR* pucData); // Sends acknowledged data to be sent on the channel's next synchronous message period
  104. EXPORT BOOL ANT_SendBurstTransfer(UCHAR ucANTChannel, UCHAR *pucData, USHORT usNumDataPackets);
  105. EXPORT BOOL ANT_SendBurstTransfer_RTO(UCHAR ucANTChannel_, UCHAR *pucData_, USHORT usNumDataPackets_, ULONG ulResponseTime_);
  106. EXPORT BOOL ANT_SendAdvancedBurstTransferPacket(UCHAR ucANTChannelSeq, UCHAR* pucData, UCHAR ucStdPcktsPerSerialMsg_); // Sends acknowledged data to be sent on the channel's next synchronous message period
  107. EXPORT BOOL ANT_SendAdvancedBurstTransfer(UCHAR ucANTChannel, UCHAR *pucData, USHORT usNumDataPackets, UCHAR ucStdPcktsPerSerialMsg_);
  108. EXPORT BOOL ANT_SendAdvancedBurstTransfer_RTO(UCHAR ucANTChannel_, UCHAR *pucData_, USHORT usDataPackets_, UCHAR ucStdPcktsPerSerialMsg_, ULONG ulResponseTime_);
  109. ////////////////////////////////////////////////////////////////////////////////////////
  110. // The following functions are used with version 2 modules
  111. ////////////////////////////////////////////////////////////////////////////////////////
  112. EXPORT BOOL ANT_AddChannelID(UCHAR ucANTChannel, USHORT usDeviceNumber, UCHAR ucDeviceType, UCHAR ucTranmissionType_, UCHAR ucIndex);
  113. EXPORT BOOL ANT_AddChannelID_RTO(UCHAR ucANTChannel_, USHORT usDeviceNumber_, UCHAR ucDeviceType_, UCHAR ucTransmissionType_, UCHAR ucListIndex_, ULONG ulResponseTime_);
  114. EXPORT BOOL ANT_ConfigList(UCHAR ucANTChannel, UCHAR ucListSize, UCHAR ucExclude);
  115. EXPORT BOOL ANT_ConfigList_RTO(UCHAR ucANTChannel_, UCHAR ucListSize_, UCHAR ucExclude_, ULONG ulResponseTime_);
  116. EXPORT BOOL ANT_OpenRxScanMode();
  117. EXPORT BOOL ANT_OpenRxScanMode_RTO(ULONG ulResponseTime_);
  118. ////////////////////////////////////////////////////////////////////////////////////////
  119. // The following functions are used with AP2 modules (not AP1 or AT3)
  120. ////////////////////////////////////////////////////////////////////////////////////////
  121. EXPORT BOOL ANT_ConfigFrequencyAgility(UCHAR ucANTChannel_, UCHAR ucFreq1_, UCHAR ucFreq2_, UCHAR ucFreq3_);
  122. EXPORT BOOL ANT_ConfigFrequencyAgility_RTO(UCHAR ucANTChannel_, UCHAR ucFreq1_, UCHAR ucFreq2_, UCHAR ucFreq3_, ULONG ulResponseTime_);
  123. EXPORT BOOL ANT_SetProximitySearch(UCHAR ucANTChannel_, UCHAR ucSearchThreshold_);
  124. EXPORT BOOL ANT_SetProximitySearch_RTO(UCHAR ucANTChannel_, UCHAR ucSearchThreshold_, ULONG ulResponseTime_);
  125. EXPORT BOOL ANT_SleepMessage();
  126. EXPORT BOOL ANT_SleepMessage_RTO(ULONG ulResponseTime_);
  127. EXPORT BOOL ANT_CrystalEnable();
  128. EXPORT BOOL ANT_CrystalEnable_RTO(ULONG ulResponseTime_);
  129. ////////////////////////////////////////////////////////////////////////////////////////
  130. // The following are NVM specific functions
  131. ////////////////////////////////////////////////////////////////////////////////////////
  132. EXPORT BOOL ANT_NVM_Write(UCHAR ucSize, UCHAR *pucData);
  133. EXPORT BOOL ANT_NVM_Write_RTO(UCHAR ucSize_, UCHAR *pucData_, ULONG ulResponseTime_);
  134. EXPORT BOOL ANT_NVM_Clear(UCHAR ucSectNumber);
  135. EXPORT BOOL ANT_NVM_Clear_RTO(UCHAR ucSectNumber_, ULONG ulResponseTime_);
  136. EXPORT BOOL ANT_NVM_Dump();
  137. EXPORT BOOL ANT_NVM_Dump_RTO(ULONG ulResponseTime_);
  138. EXPORT BOOL ANT_NVM_SetDefaultSector(UCHAR ucSectNumber);
  139. EXPORT BOOL ANT_NVM_SetDefaultSector_RTO(UCHAR ucSectNumber_, ULONG ulResponseTime_);
  140. EXPORT BOOL ANT_NVM_EndSector();
  141. EXPORT BOOL ANT_NVM_EndSector_RTO(ULONG ulResponseTime_);
  142. EXPORT BOOL ANT_NVM_Lock();
  143. EXPORT BOOL ANT_NVM_Lock_RTO(ULONG ulResponseTimeout_);
  144. ////////////////////////////////////////////////////////////////////////////////////////
  145. // Rx Scan Additional Data Transmit Functions
  146. ////////////////////////////////////////////////////////////////////////////////////////
  147. EXPORT BOOL ANT_SendExtBroadcastData(UCHAR ucANTChannel, UCHAR* pucData); // Sends broadcast data to be sent on the channel's next synchronous message period
  148. EXPORT BOOL ANT_SendExtAcknowledgedData(UCHAR ucANTChannel, UCHAR* pucData); // Sends acknowledged data to be sent on the channel's next synchronous message period
  149. EXPORT BOOL ANT_SendExtAcknowledgedData_RTO(UCHAR ucANTChannel_, UCHAR *pucData_, ULONG ulResponseTime_);
  150. EXPORT BOOL ANT_SendExtBurstTransferPacket(UCHAR ucANTChannelSeq, UCHAR* pucData); // Sends acknowledged data to be sent on the channel's next synchronous message period
  151. EXPORT USHORT ANT_SendExtBurstTransfer(UCHAR ucANTChannel, UCHAR *pucData, USHORT usNumDataPackets);
  152. EXPORT USHORT ANT_SendExtBurstTransfer_RTO(UCHAR ucANTChannel_, UCHAR *pucData_, USHORT usDataPackets_, ULONG ulResponseTime_);
  153. EXPORT BOOL ANT_RxExtMesgsEnable(UCHAR ucEnable);
  154. EXPORT BOOL ANT_RxExtMesgsEnable_RTO(UCHAR ucEnable_, ULONG ulResponseTimeout_);
  155. EXPORT BOOL ANT_SetLowPriorityChannelSearchTimeout(UCHAR ucANTChannel, UCHAR ucSearchTimeout);
  156. EXPORT BOOL ANT_SetLowPriorityChannelSearchTimeout_RTO(UCHAR ucANTChannel_, UCHAR ucSearchTimeout_, ULONG ulResponseTime_);
  157. EXPORT BOOL ANT_SetSerialNumChannelId(UCHAR ucANTChannel, UCHAR ucDeviceType, UCHAR ucTransmissionType);
  158. EXPORT BOOL ANT_SetSerialNumChannelId_RTO(UCHAR ucANTChannel_, UCHAR ucDeviceType_, UCHAR ucTransmissionType_, ULONG ulResponseTime_);
  159. EXPORT BOOL ANT_EnableLED(UCHAR ucEnable);
  160. EXPORT BOOL ANT_EnableLED_RTO(UCHAR ucEnable_, ULONG ulResponseTime_);
  161. EXPORT BOOL ANT_SetChannelTxPower(UCHAR ucANTChannel, UCHAR ucTransmitPower);
  162. EXPORT BOOL ANT_SetChannelTxPower_RTO(UCHAR ucANTChannel_, UCHAR ucTransmitPower_, ULONG ulResponseTime_);
  163. EXPORT BOOL ANT_RSSI_SetSearchThreshold(UCHAR ucANTChannel_, UCHAR ucThreshold_);
  164. EXPORT BOOL ANT_RSSI_SetSearchThreshold_RTO(UCHAR ucANTChannel_, UCHAR ucThreshold_, ULONG ulResponseTime_);
  165. ////////////////////////////////////////////////////////////////////////////////////////
  166. // The following are FIT1e specific functions
  167. ////////////////////////////////////////////////////////////////////////////////////////
  168. EXPORT BOOL FIT_SetFEState(UCHAR ucFEState_);
  169. EXPORT BOOL FIT_SetFEState_RTO(UCHAR ucFEState_, ULONG ulResponseTime_);
  170. EXPORT BOOL FIT_AdjustPairingSettings(UCHAR ucSearchLv_, UCHAR ucPairLv_, UCHAR ucTrackLv_);
  171. EXPORT BOOL FIT_AdjustPairingSettings_RTO(UCHAR ucSearchLv_, UCHAR ucPairLv_, UCHAR ucTrackLv_, ULONG ulResponseTime_);
  172. ////////////////////////////////////////////////////////////////////////////////////////
  173. // The following are the Integrated ANTFS_Client functions
  174. ////////////////////////////////////////////////////////////////////////////////////////
  175. //Memory Device Commands
  176. EXPORT BOOL ANTFS_InitEEPROMDevice(USHORT usPageSize_, UCHAR ucAddressConfig_);
  177. //File System Commands
  178. EXPORT BOOL ANTFS_InitFSMemory();
  179. EXPORT BOOL ANTFS_FormatFSMemory(USHORT usNumberOfSectors_, USHORT usPagesPerSector_);
  180. EXPORT BOOL ANTFS_SaveDirectory();
  181. EXPORT BOOL ANTFS_DirectoryRebuild();
  182. EXPORT BOOL ANTFS_FileDelete(UCHAR ucFileHandle_);
  183. EXPORT BOOL ANTFS_FileClose(UCHAR ucFileHandle_);
  184. EXPORT BOOL ANTFS_SetFileSpecificFlags(UCHAR ucFileHandle_, UCHAR ucFlags_);
  185. EXPORT UCHAR ANTFS_DirectoryReadLock(BOOL bLock_);
  186. EXPORT BOOL ANTFS_SetSystemTime(ULONG ulTime_);
  187. //File System Requests
  188. EXPORT ULONG ANTFS_GetUsedSpace();
  189. EXPORT ULONG ANTFS_GetFreeSpace();
  190. EXPORT USHORT ANTFS_FindFileIndex(UCHAR ucFileDataType_, UCHAR ucFileSubType_, USHORT usFileNumber_);
  191. EXPORT UCHAR ANTFS_ReadDirectoryAbsolute(ULONG ulOffset_, UCHAR ucSize_, UCHAR* pucBuffer_);
  192. EXPORT UCHAR ANTFS_DirectoryReadEntry (USHORT usFileIndex_, UCHAR* ucFileDirectoryBuffer_);
  193. EXPORT ULONG ANTFS_DirectoryGetSize();
  194. EXPORT USHORT ANTFS_FileCreate(USHORT usFileIndex_, UCHAR ucFileDataType_, ULONG ulFileIdentifier_, UCHAR ucFileDataTypeSpecificFlags_, UCHAR ucGeneralFlags);
  195. EXPORT UCHAR ANTFS_FileOpen(USHORT usFileIndex_, UCHAR ucOpenFlags_);
  196. EXPORT UCHAR ANTFS_FileReadAbsolute(UCHAR ucFileHandle_, ULONG ulOffset_, UCHAR ucReadSize_, UCHAR* pucReadBuffer_);
  197. EXPORT UCHAR ANTFS_FileReadRelative(UCHAR ucFileHandle_, UCHAR ucReadSize_, UCHAR* pucReadBuffer_);
  198. EXPORT UCHAR ANTFS_FileWriteAbsolute(UCHAR ucFileHandle_, ULONG ulFileOffset_, UCHAR ucWriteSize_, const UCHAR* pucWriteBuffer_, UCHAR* ucBytesWritten_);
  199. EXPORT UCHAR ANTFS_FileWriteRelative(UCHAR ucFileHandle_, UCHAR ucWriteSize_, const UCHAR* pucWriteBuffer_, UCHAR* ucBytesWritten_);
  200. EXPORT ULONG ANTFS_FileGetSize(UCHAR ucFileHandle_);
  201. EXPORT ULONG ANTFS_FileGetSizeInMem(UCHAR ucFileHandle_);
  202. EXPORT UCHAR ANTFS_FileGetSpecificFlags(UCHAR ucFileHandle_);
  203. EXPORT ULONG ANTFS_FileGetSystemTime();
  204. //FS-Crypto Commands
  205. EXPORT UCHAR ANTFS_CryptoAddUserKeyIndex(UCHAR ucIndex_, UCHAR* pucKey_);
  206. EXPORT UCHAR ANTFS_CryptoSetUserKeyIndex(UCHAR ucIndex_);
  207. EXPORT UCHAR ANTFS_CryptoSetUserKeyVal(UCHAR* pucKey_);
  208. //FIT Commands
  209. EXPORT UCHAR ANTFS_FitFileIntegrityCheck(UCHAR ucFileHandle_);
  210. //ANT-FS Commands
  211. EXPORT UCHAR ANTFS_OpenBeacon();
  212. EXPORT UCHAR ANTFS_CloseBeacon();
  213. EXPORT UCHAR ANTFS_ConfigBeacon(USHORT usDeviceType_, USHORT usManufacturer_, UCHAR ucAuthType_, UCHAR ucBeaconStatus_);
  214. EXPORT UCHAR ANTFS_SetFriendlyName(UCHAR ucLength_, const UCHAR* pucString_);
  215. EXPORT UCHAR ANTFS_SetPasskey(UCHAR ucLength_, const UCHAR* pucString_);
  216. EXPORT UCHAR ANTFS_SetBeaconState(UCHAR ucBeaconStatus_);
  217. EXPORT UCHAR ANTFS_PairResponse(BOOL bAccept_);
  218. EXPORT UCHAR ANTFS_SetLinkFrequency(UCHAR ucChannelNumber_, UCHAR ucFrequency_);
  219. EXPORT UCHAR ANTFS_SetBeaconTimeout(UCHAR ucTimeout_);
  220. EXPORT UCHAR ANTFS_SetPairingTimeout(UCHAR ucTimeout_);
  221. EXPORT UCHAR ANTFS_EnableRemoteFileCreate(BOOL bEnable_);
  222. //ANT-FS Responses
  223. EXPORT UCHAR ANTFS_GetCmdPipe(UCHAR ucOffset_, UCHAR ucReadSize_, UCHAR* pucReadBuffer_);
  224. EXPORT UCHAR ANTFS_SetCmdPipe(UCHAR ucOffset_, UCHAR ucWriteSize_, const UCHAR* pucWriteBuffer_);
  225. //GetFSResponse
  226. EXPORT UCHAR ANTFS_GetLastError();
  227. ////////////////////////////////////////////////////////////////////////////////////////
  228. // Threading
  229. ////////////////////////////////////////////////////////////////////////////////////////
  230. EXPORT void ANT_Nap(ULONG ulMilliseconds_);
  231. ////////////////////////////////////////////////////////////////////////////////////////
  232. // Logging
  233. ////////////////////////////////////////////////////////////////////////////////////////
  234. EXPORT BOOL ANT_SetDebugLogDirectory(char* pcDirectory);
  235. #ifdef __cplusplus
  236. }
  237. #endif
  238. #endif // ANT_H