00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012 #ifndef _VIRTUAL_BOARD_CHANNEL_H_
00013 #define _VIRTUAL_BOARD_CHANNEL_H_
00014
00015 #if defined(__GNUG__) && !defined(__APPLE__)
00016 #pragma interface "virtual_board_channel.h"
00017 #endif
00018
00022 #include "generic_board_channel.h"
00023
00024 class RpnHandler;
00025 class AppSettings;
00026
00027 class VirtualBoardChannel: public GenericBoardChannel
00028 {
00029 public:
00030 VirtualBoardChannel( GenericBoard* parent, int ch_index, cvt_board_data* p_data, void (* scope_refresh)( int, bool), wxMutex *p_data_mutex, AppSettings* p_app_settings);
00031 ~VirtualBoardChannel(void);
00032
00033
00034
00035
00036
00037
00038
00039 virtual inline int GetSample( int i);
00040 virtual inline double GetSampleVolt( int i);
00041
00042 virtual inline UINT32 GetBufferCount( void);
00043 virtual void DrawTrigger( int scope_index, wxDC &dc);
00044
00045
00046 bool LoadConfig( wxConfigBase* p_config, const wxString& base_section);
00047 bool SaveConfig( wxConfigBase* p_config, const wxString& base_section);
00048 wxString GetRecordChannelNumber( void);
00049
00050 const char* GetExpressionDef( void);
00051 void SetExpressionDef( const char* expression_def);
00052
00053 protected:
00054
00055 RpnHandler *m_p_rpn_handler;
00056 bool GetChannelValue( int channel_id, double& result);
00057 bool GetChannelValueVolt( int channel_id, double& result);
00058 bool GetChannelBufferCount( int channel_id, UINT32& result);
00059 int m_sample_index;
00060
00061 friend class RpnHandler;
00062 };
00063
00064
00065 #endif // _VIRTUAL_BOARD_CHANNEL_H_