123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- /*
- This software is subject to the license described in the License.txt file
- included with this software distribution. You may not use this file except in compliance
- with this license.
- Copyright (c) Dynastream Innovations Inc. 2012
- All rights reserved.
- */
- #pragma once
- #include "StdAfx.h"
- #include <stdio.h>
- #include "ant_dll.h"
- #include "types.h"
- #include "config.h"
- #define USB_ARCT_PID ((USHORT) 0x1007)
- #define RESPONSE_TIME ((ULONG) 500)
- //Port Types: these defines are used to decide what type of connection to connect over
- #define PORT_TYPE_USB 0
- //Framer Types: These are used to define which framing type to use
- #define FRAMER_TYPE_BASIC 0
- typedef void(*ANT_RESPONSE_FUNC)(UCHAR ucChannel_, UCHAR ucMessageCode_, UCHAR* pucBuffer_);
- typedef void(*ANT_EVENT_RESPONSE_FUNC)(UCHAR ucChannel_, UCHAR ucEvent_, char* pcBuffer_);
- public delegate void ChannelDelegate(UCHAR ucChannel_);
- public ref class TimeoutStruct : System::Timers::Timer
- {
- public:
- TimeoutStruct(ChannelDelegate^ pclChannelDelegate_);
- UCHAR ucChannel;
- UCHAR ucMessageID;
- UCHAR ucResponseID;
- BOOL bWaitingForResponse;
- ChannelDelegate^ ChannelCallback;
-
-
- void ProcessTimerEvent(
- System::Object^ sender,
- System::Timers::ElapsedEventArgs^ e);
-
-
- void
- WaitForResponse(
- UCHAR ucChannel_,
- UCHAR ucResponseID_,
- UCHAR ucMessageID_);
- void
- ClearWait();
-
- } ;
- public ref class ANTClass
- {
- public:
- ANTClass(){};
- ~ANTClass(){};
-
- static BOOL
- LibInit(
- ANT_EVENT_RESPONSE_FUNC pEventResponseFunc_);
-
- static BOOL
- AssignChannelEventFunctions(
- int iChannels_,
- ANT_RESPONSE_FUNC pResponseFunc_);
-
- static void
- Disconnect();
-
- static const UCHAR*
- GetLibVersion();
-
- static BOOL
- Init(
- UCHAR ucUSBPort_,
- ULONG ulBaud_,
- UCHAR ucPortType_,
- UCHAR ucSerialFrameType_);
-
- static BOOL
- GetDeviceUSBInfo(
- UCHAR ucUSBPort_,
- UCHAR* pucPID_,
- UCHAR* pucSerial_);
-
- static BOOL
- GetDeviceUSBPID(
- USHORT* pusPID_);
-
- static void
- Close();
-
- static void
- UnAssignChannel(
- UCHAR ucChannel_);
-
- static void
- AssignChannel(
- UCHAR ucChannel_,
- UCHAR ucType_,
- UCHAR ucNetworkNum_);
-
- static void
- SetChannelId(
- UCHAR ucChannel_,
- USHORT usDeviceNumber_,
- UCHAR ucDeviceType_,
- UCHAR ucTransmissionType_);
-
- static void
- SetChannelPeriod(
- UCHAR ucChannel_,
- USHORT usPeriod_);
-
- static void
- SetChannelSearchTimeout(
- UCHAR ucChannel_,
- UCHAR ucTimeout_);
-
- static void
- SetChannelRFFreq(
- UCHAR ucChannel_,
- UCHAR ucRFFreq_);
-
- static void
- SetNetworkKey(
- UCHAR ucNetNum_,
- UCHAR* pucKey_);
-
- static void
- SetTransmitPower(
- UCHAR ucPower_);
-
- static void
- SetChannelTxPower(
- UCHAR ucChannel_,
- UCHAR ucPower_);
- static void
- ResetSystem();
-
- static void
- OpenChannel(
- UCHAR ucChannel_);
-
- static void
- CloseChannel(
- UCHAR ucChannel_);
-
- static void
- RequestMessage(
- UCHAR ucChannel_,
- UCHAR ucMsgID_);
- static void
- WriteMessage(
- UCHAR ucMessageID,
- UCHAR* aucData,
- USHORT usMessageSize);
-
- static void
- SendBroadcastData(
- UCHAR ucChannel_,
- UCHAR* pucData_);
-
- static void
- SendAcknowledgedData(
- UCHAR ucChannel_,
- UCHAR* pucData_);
-
- static void
- SendAcknowledgedData(
- UCHAR ucChannel_,
- UCHAR* pucData_,
- USHORT usTimeout_);
- static void
- SendBurstTransfer(
- UCHAR ucChannel_,
- UCHAR* pucData_,
- USHORT);
-
-
- static void
- TimerEvent(
- UCHAR ucChannel_);
- static void
- AckTimerEvent(UCHAR ucChannel_);
- static TimeoutStruct^ pclMyCommandTimeout;
- static array<TimeoutStruct^>^ paclMyAckTimeout;
- };
|