123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #ifndef __HR_RECEIVER_H__
- #define __HR_RECEIVER_H__
- #include "types.h"
- #include "dsi_framer_ant.hpp"
- #include "dsi_serial_generic.hpp"
- #include <stdio.h>
- #include <assert.h>
- #define CHANNEL_TYPE_MASTER (0)
- #define CHANNEL_TYPE_SLAVE (1)
- #define CHANNEL_TYPE_INVALID (2)
- #define ENABLE_EXTENDED_MESSAGES
- #define USER_BAUDRATE (57600)
- #define TOGGLE_MASK ((UCHAR)0x80)
- #define INVALID_TOGGLE_BIT ((BOOL)0xFF)
- #define PAGE_0 ((UCHAR)0x00)
- #define PAGE_1 ((UCHAR)0x01)
- #define PAGE_2 ((UCHAR)0x02)
- #define PAGE_3 ((UCHAR)0x03)
- #define PAGE_4 ((UCHAR)0x04)
- #define MAX_TOGGLE_ATTEMPTS ((UCHAR)0x06)
- #define LEGACY_DEVICE ((UCHAR)0x10)
- #define CURRENT_DEVICE ((UCHAR)0x11)
- #define INVALID_DEVICE ((UCHAR)0xFF)
- #define USER_ANTCHANNEL (0)
- #define USER_NETWORK_KEY {0xB9, 0xA5, 0x21, 0xFB, 0xBD, 0x72, 0xC3, 0x45}
- #define USER_RADIOFREQ (57)
- #define USER_TRANSTYPE (0)
- #define USER_DEVICETYPE (120)
- #define USER_DEVICENUM (0)
- #define MESSAGE_TIMEOUT (12)
- #define USER_NETWORK_NUM (0)
- #define USER_MESSAGE_PERIODS {(USHORT)8070, (USHORT)16140, (USHORT)32280}
- #define MESSAGE_BUFFER_DATA1_INDEX ((UCHAR) 0)
- #define MESSAGE_BUFFER_DATA2_INDEX ((UCHAR) 1)
- #define MESSAGE_BUFFER_DATA3_INDEX ((UCHAR) 2)
- #define MESSAGE_BUFFER_DATA4_INDEX ((UCHAR) 3)
- #define MESSAGE_BUFFER_DATA5_INDEX ((UCHAR) 4)
- #define MESSAGE_BUFFER_DATA6_INDEX ((UCHAR) 5)
- #define MESSAGE_BUFFER_DATA7_INDEX ((UCHAR) 6)
- #define MESSAGE_BUFFER_DATA8_INDEX ((UCHAR) 7)
- #define MESSAGE_BUFFER_DATA9_INDEX ((UCHAR) 8)
- #define MESSAGE_BUFFER_DATA10_INDEX ((UCHAR) 9)
- #define MESSAGE_BUFFER_DATA11_INDEX ((UCHAR) 10)
- #define MESSAGE_BUFFER_DATA12_INDEX ((UCHAR) 11)
- #define MESSAGE_BUFFER_DATA13_INDEX ((UCHAR) 12)
- #define MESSAGE_BUFFER_DATA14_INDEX ((UCHAR) 13)
- class HRMReceiver {
- public:
- HRMReceiver();
- virtual ~HRMReceiver();
- BOOL Init(UCHAR ucDeviceNumber_);
- void Start();
- void Close();
- private:
- BOOL InitANT();
-
- static DSI_THREAD_RETURN RunMessageThread(void *pvParameter_);
-
- void MessageThread();
-
- void ProcessMessage(ANT_MESSAGE stMessage, USHORT usSize_);
-
- void PrintMenu();
-
- void DetectDevice(UCHAR &ucDeviceType_, BOOL &bOldToggleBit_, UCHAR &ucToggleAttempts_, BOOL bToggleBit);
-
- UCHAR ucAntChannel;
- UCHAR ucTransType;
- USHORT usDeviceNum;
- UCHAR ucNetworkNum;
- USHORT usMessagePeriod;
- BOOL bBursting;
- BOOL bBroadcasting;
- BOOL bMyDone;
- BOOL bDone;
- UCHAR ucChannelType;
- DSISerialGeneric* pclSerialObject;
- DSIFramerANT* pclMessageObject;
- DSI_THREAD_ID uiDSIThread;
- DSI_CONDITION_VAR condTestDone;
- DSI_MUTEX mutexTestDone;
- BOOL bDisplay;
- BOOL bProcessedData;
- };
- #endif
|