00001 #if !defined(AFX_CANIXCTL_H__850F23E2_545F_11D5_B554_00001C0B5D83__INCLUDED_)
00002 #define AFX_CANIXCTL_H__850F23E2_545F_11D5_B554_00001C0B5D83__INCLUDED_
00003
00004 #if _MSC_VER > 1000
00005 #pragma once
00006 #endif // _MSC_VER > 1000
00007
00008
00009 #include "dummy.h"
00010
00012
00013 #define CONTROL_SIZE 32
00014
00015 class CCaniXCtrl : public COleControl
00016 {
00017 DECLARE_DYNCREATE(CCaniXCtrl)
00018
00019
00020 public:
00021 CBitmap m_bitmap;
00022 CPictureHolder m_picHolder;
00023 struct can_api *m_device;
00024 CDummy m_dummyDlg;
00025 BOOL m_dummyShow;
00026
00027 CCaniXCtrl();
00028 void xFireCANReceived(int framing, double abs, double rel,struct ISRInfo *i);
00029 void xFireCANTransmitted(int framing, double abs, double rel,struct ISRInfo *i);
00030 void xFireCANBusError(double abs, double rel,struct ISRInfo *i);
00031 void xFireCANWarningError(double abs, double rel,struct ISRInfo *i);
00032 void xFireCANPassiveError(double abs, double rel,struct ISRInfo *i);
00033 void xFireCANArbitrationLostError(double abs, double rel,struct ISRInfo *i);
00034 void xFireCANWakeUp(double abs, double rel,struct ISRInfo *i);
00035 void xFireCANOverrun(double abs, double rel,struct ISRInfo *i);
00036
00037
00038
00039
00040 public:
00041 virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
00042 virtual void DoPropExchange(CPropExchange* pPX);
00043 virtual void OnResetState();
00044
00045
00046
00047 protected:
00048 ~CCaniXCtrl();
00049
00050 BEGIN_OLEFACTORY(CCaniXCtrl)
00051 virtual BOOL VerifyUserLicense();
00052 virtual BOOL GetLicenseKey(DWORD, BSTR FAR*);
00053 END_OLEFACTORY(CCaniXCtrl)
00054
00055 DECLARE_OLETYPELIB(CCaniXCtrl)
00056 DECLARE_PROPPAGEIDS(CCaniXCtrl)
00057 DECLARE_OLECTLTYPE(CCaniXCtrl)
00058
00059
00060
00061
00062
00063
00064 DECLARE_MESSAGE_MAP()
00065
00066
00067
00068 long m_baudrate;
00069 afx_msg void OnBaudrateChanged();
00070 long m_acceptanceCode;
00071 long m_softAcceptanceCode;
00072 afx_msg void OnAcceptanceCodeChanged();
00073 afx_msg void OnSoftAcceptanceCodeChanged();
00074 long m_acceptanceMask;
00075 long m_softAcceptanceMask;
00076 afx_msg void OnAcceptanceMaskChanged();
00077 afx_msg void OnSoftAcceptanceMaskChanged();
00078 BOOL m_showMessages;
00079 afx_msg void OnShowMessagesChanged();
00080 BOOL m_listenOnly;
00081 afx_msg void OnListenOnlyChanged();
00082 BOOL m_extendedFrames;
00083 afx_msg void OnExtendedFramesChanged();
00084 BOOL m_peliCan;
00085 afx_msg void OnPeliCanChanged();
00086 BOOL m_showFramingFormat;
00087 afx_msg void OnShowFramingFormat();
00088 afx_msg short GetCanStatus();
00089 afx_msg void SetStandby(BOOL bNewValue);
00090 afx_msg long OpenDevice(LPCTSTR pDevName);
00091 afx_msg long CloseDevice();
00092 afx_msg long TransmitData(long id, short rtr, short dlc, VARIANT FAR* data);
00093 afx_msg void AbortTransmission();
00094 afx_msg void ClearDataOverrun();
00095 afx_msg void SelfReceptionRequest();
00096 afx_msg void ResetTime();
00097 afx_msg long AddTransmitThread(long delay, short threadId, long canId, short rtr, short dlc, VARIANT FAR* data);
00098 afx_msg void DeleteAllThreads();
00099 afx_msg void DeleteThread(short threadId);
00100 afx_msg long BaudrateDialog();
00101 afx_msg long AcceptanceFilterDialog();
00102 afx_msg long AcceptanceFilterDialog2();
00103 afx_msg short GetCanRegister(short index);
00104 afx_msg void SetCanRegister(short index, short nNewValue);
00105 afx_msg short GetCanRegisterRR(short index);
00106 afx_msg void SetCanRegisterRR(short index, short nNewValue);
00107
00108 DECLARE_DISPATCH_MAP()
00109
00110 afx_msg void AboutBox();
00111
00112
00113
00114 void FireReceivedData(double absTime, double relTime, short status, long lost, long id, short rtr, short dlc, VARIANT FAR* data)
00115 {FireEvent(eventidReceivedData,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2 VTS_I4 VTS_I4 VTS_I2 VTS_I2 VTS_PVARIANT), absTime, relTime, status, lost, id, rtr, dlc, data);}
00116 void FireTransmittedData(double absTime, double relTime, short status, long lost, long id, short rtr, short dlc, VARIANT FAR* data)
00117 {FireEvent(eventidTransmittedData,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2 VTS_I4 VTS_I4 VTS_I2 VTS_I2 VTS_PVARIANT), absTime, relTime, status, lost, id, rtr, dlc, data);}
00118 void FireOverrunError(double absTime, double relTime, short status)
00119 {FireEvent(eventidOverrunError,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2), absTime, relTime, status);}
00120 void FireBusError(double absTime, double relTime, short status)
00121 {FireEvent(eventidBusError,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2), absTime, relTime, status);}
00122 void FirePassiveError(double absTime, double relTime, short status)
00123 {FireEvent(eventidPassiveError,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2), absTime, relTime, status);}
00124 void FireWarningError(double absTime, double relTime, short status)
00125 {FireEvent(eventidWarningError,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2), absTime, relTime, status);}
00126 void FireArbitrationLostError(double absTime, double relTime, short status)
00127 {FireEvent(eventidArbitrationLostError,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2), absTime, relTime, status);}
00128 void FireWakeUp(double absTime, double relTime, short status)
00129 {FireEvent(eventidWakeUp,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2), absTime, relTime, status);}
00130 void FireReceivedStdData(double absTime, double relTime, short status, long lost, long id, short rtr, short dlc, VARIANT FAR* data)
00131 {FireEvent(eventidReceivedStdData,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2 VTS_I4 VTS_I4 VTS_I2 VTS_I2 VTS_PVARIANT), absTime, relTime, status, lost, id, rtr, dlc, data);}
00132 void FireReceivedExtData(double absTime, double relTime, short status, long lost, long id, short rtr, short dlc, VARIANT FAR* data)
00133 {FireEvent(eventidReceivedExtData,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2 VTS_I4 VTS_I4 VTS_I2 VTS_I2 VTS_PVARIANT), absTime, relTime, status, lost, id, rtr, dlc, data);}
00134 void FireTransmittedStdData(double absTime, double relTime, short status, long lost, long id, short rtr, short dlc, VARIANT FAR* data)
00135 {FireEvent(eventidTransmittedStdData,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2 VTS_I4 VTS_I4 VTS_I2 VTS_I2 VTS_PVARIANT), absTime, relTime, status, lost, id, rtr, dlc, data);}
00136 void FireTransmittedExtData(double absTime, double relTime, short status, long lost, long id, short rtr, short dlc, VARIANT FAR* data)
00137 {FireEvent(eventidTransmittedExtData,EVENT_PARAM(VTS_R8 VTS_R8 VTS_I2 VTS_I4 VTS_I4 VTS_I2 VTS_I2 VTS_PVARIANT), absTime, relTime, status, lost, id, rtr, dlc, data);}
00138
00139 DECLARE_EVENT_MAP()
00140
00141
00142 public:
00143 enum {
00144
00145 dispidBaudrate = 1L,
00146 dispidAcceptanceCode = 2L,
00147 dispidAcceptanceMask = 3L,
00148 dispidShowMessages = 4L,
00149 dispidCanStatus = 8L,
00150 dispidListenOnly = 5L,
00151 dispidStandby = 9L,
00152 dispidExtendedFrames = 6L,
00153 dispidPeliCan = 7L,
00154 dispidOpenDevice = 10L,
00155 dispidCloseDevice = 11L,
00156 dispidTransmitData = 12L,
00157 dispidCanRegister = 22L,
00158 dispidCanRegisterRR = 23L,
00159 dispidAbortTransmission = 13L,
00160 dispidClearDataOverrun = 14L,
00161 dispidSelfReceptionRequest = 15L,
00162 dispidResetTime = 16L,
00163 dispidAddTransmitThread = 17L,
00164 dispidDeleteAllThreads = 18L,
00165 dispidDeleteThread = 19L,
00166 dispidBaudrateDialog = 20L,
00167 dispidAcceptanceFilterDialog = 21L,
00168 eventidReceivedData = 1L,
00169 eventidTransmittedData = 2L,
00170 eventidOverrunError = 3L,
00171 eventidBusError = 4L,
00172 eventidPassiveError = 5L,
00173 eventidWarningError = 6L,
00174 eventidArbitrationLostError = 7L,
00175 eventidWakeUp = 8L,
00176 eventidReceivedStdData = 9L,
00177 eventidReceivedExtData = 10L,
00178 eventidTransmittedStdData = 11L,
00179 eventidTransmittedExtData = 12L,
00180
00181 };
00182 };
00183
00184
00185
00186
00187 #endif // !defined(AFX_CANIXCTL_H__850F23E2_545F_11D5_B554_00001C0B5D83__INCLUDED)