Commit 6cf46483 authored by David Košenina's avatar David Košenina
Browse files

moving average filter check box

parent ba611bec
......@@ -257,7 +257,7 @@ typedef struct
ushort digitalOutputMask;
ushort digitalClkDivideH;
ushort digitalClkDivideL;
ushort reserved1;
ushort average;
uint reserved2;
uint reserved3;
uint reserved4;
......
......@@ -965,6 +965,24 @@ void OsciloskopOsciloskop::m_checkBoxFullOnCheckBox(wxCommandEvent& event)
pOsciloscope->window.horizontal.Full = m_checkBoxFull->GetValue();
}
void OsciloskopOsciloskop::m_checkBoxAvg01OnCheckBox(wxCommandEvent& event)
{
int avg = pOsciloscope->control.getAverage();
if( m_checkBoxAvg01->IsChecked() ) avg |= 512;
else avg &= ~512;
pOsciloscope->control.setAverage( avg );
pOsciloscope->control.transferData();
}
void OsciloskopOsciloskop::m_checkBoxAvg02OnCheckBox(wxCommandEvent& event)
{
int avg = pOsciloscope->control.getAverage();
if( m_checkBoxAvg02->IsChecked() ) avg |= 256;
else avg &= ~256;
pOsciloscope->control.setAverage( avg );
pOsciloscope->control.transferData();
}
void OsciloskopOsciloskop::m_textCtrlTimeDisplayOnTextEnter(wxCommandEvent& event)
{
// TODO: Implement m_textCtrlTimeDisplayOnTextEnter
......
......@@ -222,6 +222,8 @@ protected:
void m_checkBoxXYVoltageGraphOnCheckBox(wxCommandEvent& event);
void m_choiceConnectionOnChoice(wxCommandEvent& event);
void m_checkBoxFullOnCheckBox(wxCommandEvent& event);
void m_checkBoxAvg01OnCheckBox( wxCommandEvent& event );
void m_checkBoxAvg02OnCheckBox( wxCommandEvent& event );
void m_menuItemVersion1OnMenuSelection(wxCommandEvent& event);
void m_menuItemVersion2OnMenuSelection(wxCommandEvent& event);
void m_textCtrlFuncCustomOnTextEnter(wxCommandEvent& event);
......
......@@ -476,6 +476,9 @@ Osciloskop::Osciloskop( wxWindow* parent, wxWindowID id, const wxString& title,
m_checkBoxFFT1 = new wxCheckBox( m_panel15, wxID_ANY, _("Display FFT"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer17->Add( m_checkBoxFFT1, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
m_checkBoxAvg01 = new wxCheckBox( m_panel15, wxID_ANY, _("Average"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer17->Add( m_checkBoxAvg01, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
bSizer17->Add( 0, 0, 12, wxEXPAND, 5 );
......@@ -505,7 +508,7 @@ Osciloskop::Osciloskop( wxWindow* parent, wxWindowID id, const wxString& title,
m_panel15->SetSizer( bSizer14 );
m_panel15->Layout();
bSizer14->Fit( m_panel15 );
m_notebook4->AddPage( m_panel15, _("Channel 1"), true );
m_notebook4->AddPage( m_panel15, _("Channel 1"), false );
m_panel16 = new wxPanel( m_notebook4, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* bSizer141;
bSizer141 = new wxBoxSizer( wxVERTICAL );
......@@ -588,6 +591,9 @@ Osciloskop::Osciloskop( wxWindow* parent, wxWindowID id, const wxString& title,
m_checkBoxFFT2 = new wxCheckBox( m_panel16, wxID_ANY, _("Display FFT"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer171->Add( m_checkBoxFFT2, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
m_checkBoxAvg02 = new wxCheckBox( m_panel16, wxID_ANY, _("Average"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer171->Add( m_checkBoxAvg02, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
bSizer171->Add( 0, 0, 12, wxEXPAND, 5 );
......@@ -617,7 +623,7 @@ Osciloskop::Osciloskop( wxWindow* parent, wxWindowID id, const wxString& title,
m_panel16->SetSizer( bSizer141 );
m_panel16->Layout();
bSizer141->Fit( m_panel16 );
m_notebook4->AddPage( m_panel16, _("Channel 2"), false );
m_notebook4->AddPage( m_panel16, _("Channel 2"), true );
m_panel161 = new wxPanel( m_notebook4, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* bSizer1411;
bSizer1411 = new wxBoxSizer( wxVERTICAL );
......@@ -1711,6 +1717,7 @@ Osciloskop::Osciloskop( wxWindow* parent, wxWindowID id, const wxString& title,
m_comboBoxCh0Display->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( Osciloskop::m_comboBoxCh0DisplayOnCombobox ), NULL, this );
m_checkBoxSignal1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxSignal1OnCheckBox ), NULL, this );
m_checkBoxFFT1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxFFT1OnCheckBox ), NULL, this );
m_checkBoxAvg01->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxAvg01OnCheckBox ), NULL, this );
m_textCtrlCh0Position->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( Osciloskop::m_textCtrlCh0PositionOnTextEnter ), NULL, this );
m_spinBtnCh0YPos->Connect( wxEVT_SCROLL_LINEDOWN, wxSpinEventHandler( Osciloskop::m_spinBtnCh0YPosOnSpinDown ), NULL, this );
m_spinBtnCh0YPos->Connect( wxEVT_SCROLL_LINEUP, wxSpinEventHandler( Osciloskop::m_spinBtnCh0YPosOnSpinUp ), NULL, this );
......@@ -1732,6 +1739,7 @@ Osciloskop::Osciloskop( wxWindow* parent, wxWindowID id, const wxString& title,
m_comboBoxCh1Display->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( Osciloskop::m_comboBoxCh1DisplayOnCombobox ), NULL, this );
m_checkBoxSignal2->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxSignal2OnCheckBox ), NULL, this );
m_checkBoxFFT2->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxFFT2OnCheckBox ), NULL, this );
m_checkBoxAvg02->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxAvg02OnCheckBox ), NULL, this );
m_textCtrlCh1Position->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( Osciloskop::m_textCtrlCh1PositionOnTextEnter ), NULL, this );
m_spinBtnCh1YPos->Connect( wxEVT_SCROLL_LINEDOWN, wxSpinEventHandler( Osciloskop::m_spinBtnCh1YPosOnSpinDown ), NULL, this );
m_spinBtnCh1YPos->Connect( wxEVT_SCROLL_LINEUP, wxSpinEventHandler( Osciloskop::m_spinBtnCh1YPosOnSpinUp ), NULL, this );
......@@ -1929,6 +1937,7 @@ Osciloskop::~Osciloskop()
m_comboBoxCh0Display->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( Osciloskop::m_comboBoxCh0DisplayOnCombobox ), NULL, this );
m_checkBoxSignal1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxSignal1OnCheckBox ), NULL, this );
m_checkBoxFFT1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxFFT1OnCheckBox ), NULL, this );
m_checkBoxAvg01->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxAvg01OnCheckBox ), NULL, this );
m_textCtrlCh0Position->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( Osciloskop::m_textCtrlCh0PositionOnTextEnter ), NULL, this );
m_spinBtnCh0YPos->Disconnect( wxEVT_SCROLL_LINEDOWN, wxSpinEventHandler( Osciloskop::m_spinBtnCh0YPosOnSpinDown ), NULL, this );
m_spinBtnCh0YPos->Disconnect( wxEVT_SCROLL_LINEUP, wxSpinEventHandler( Osciloskop::m_spinBtnCh0YPosOnSpinUp ), NULL, this );
......@@ -1950,6 +1959,7 @@ Osciloskop::~Osciloskop()
m_comboBoxCh1Display->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( Osciloskop::m_comboBoxCh1DisplayOnCombobox ), NULL, this );
m_checkBoxSignal2->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxSignal2OnCheckBox ), NULL, this );
m_checkBoxFFT2->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxFFT2OnCheckBox ), NULL, this );
m_checkBoxAvg02->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( Osciloskop::m_checkBoxAvg02OnCheckBox ), NULL, this );
m_textCtrlCh1Position->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( Osciloskop::m_textCtrlCh1PositionOnTextEnter ), NULL, this );
m_spinBtnCh1YPos->Disconnect( wxEVT_SCROLL_LINEDOWN, wxSpinEventHandler( Osciloskop::m_spinBtnCh1YPosOnSpinDown ), NULL, this );
m_spinBtnCh1YPos->Disconnect( wxEVT_SCROLL_LINEUP, wxSpinEventHandler( Osciloskop::m_spinBtnCh1YPosOnSpinUp ), NULL, this );
......
......@@ -112,6 +112,7 @@ class Osciloskop : public wxFrame
wxChoice* m_comboBoxCh0Display;
wxCheckBox* m_checkBoxSignal1;
wxCheckBox* m_checkBoxFFT1;
wxCheckBox* m_checkBoxAvg01;
wxStaticText* m_staticText1221;
wxTextCtrl* m_textCtrlCh0Position;
wxSpinButton* m_spinBtnCh0YPos;
......@@ -129,6 +130,7 @@ class Osciloskop : public wxFrame
wxChoice* m_comboBoxCh1Display;
wxCheckBox* m_checkBoxSignal2;
wxCheckBox* m_checkBoxFFT2;
wxCheckBox* m_checkBoxAvg02;
wxStaticText* m_staticText12211;
wxTextCtrl* m_textCtrlCh1Position;
wxSpinButton* m_spinBtnCh1YPos;
......@@ -352,6 +354,7 @@ class Osciloskop : public wxFrame
virtual void m_comboBoxCh0DisplayOnCombobox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_checkBoxSignal1OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_checkBoxFFT1OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_checkBoxAvg01OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_textCtrlCh0PositionOnTextEnter( wxCommandEvent& event ) { event.Skip(); }
virtual void m_spinBtnCh0YPosOnSpinDown( wxSpinEvent& event ) { event.Skip(); }
virtual void m_spinBtnCh0YPosOnSpinUp( wxSpinEvent& event ) { event.Skip(); }
......@@ -365,6 +368,7 @@ class Osciloskop : public wxFrame
virtual void m_comboBoxCh1DisplayOnCombobox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_checkBoxSignal2OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_checkBoxFFT2OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_checkBoxAvg02OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void m_textCtrlCh1PositionOnTextEnter( wxCommandEvent& event ) { event.Skip(); }
virtual void m_spinBtnCh1YPosOnSpinDown( wxSpinEvent& event ) { event.Skip(); }
virtual void m_spinBtnCh1YPosOnSpinUp( wxSpinEvent& event ) { event.Skip(); }
......
......@@ -3109,7 +3109,7 @@
<object class="notebookpage" expanded="0">
<property name="bitmap"></property>
<property name="label">Channel 1</property>
<property name="select">1</property>
<property name="select">0</property>
<object class="wxPanel" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
......@@ -3974,6 +3974,71 @@
<event name="OnCheckBox">m_checkBoxFFT1OnCheckBox</event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Average</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_checkBoxAvg01</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnCheckBox">m_checkBoxAvg01OnCheckBox</event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
......@@ -4255,7 +4320,7 @@
<object class="notebookpage" expanded="0">
<property name="bitmap"></property>
<property name="label">Channel 2</property>
<property name="select">0</property>
<property name="select">1</property>
<object class="wxPanel" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
......@@ -5120,6 +5185,71 @@
<event name="OnCheckBox">m_checkBoxFFT2OnCheckBox</event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Average</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_checkBoxAvg02</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnCheckBox">m_checkBoxAvg02OnCheckBox</event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
......@@ -1120,7 +1120,7 @@ OsciloscopeControl2::OsciloscopeControl2()
digitalOutputMask = 0;
digitalClkDivideH = 0;
digitalClkDivideL = 0;
reserved1 = 0;
average = 0;
reserved2 = 0;
reserved3 = 0;
reserved4 = 0;
......@@ -1740,6 +1740,10 @@ void OsciloscopeControl2::setDigitalClockDivide(uint divider)
digitalClkDivideL = divider & 0x0000FFFF;
}
void OsciloscopeControl2::setAverage(int enable)
{
average = enable;
}
///////////////////////////////////////////////////////////////////////
// get
......@@ -2116,6 +2120,11 @@ uint OsciloscopeControl2::getDigitalClockDivide()
return uint(digitalClkDivideL) | uint(digitalClkDivideH << 16);
}
int OsciloscopeControl2::getAverage()
{
return average;
}
///////////////////////////////////////////////////////////////////////
//
// OsciloscopeMainControl
......@@ -2274,6 +2283,7 @@ SHardware2 OsciloscopeControl2::client2Get()
hw.digitalOutputMask = digitalOutputMask;
hw.digitalClkDivideH = digitalClkDivideH;
hw.digitalClkDivideL = digitalClkDivideL;
hw.average = average;
return hw;
}
......@@ -2677,6 +2687,10 @@ void OsciloscopeMainControl::setDigitalClockDivide(uint divider)
{
pControl->setDigitalClockDivide(divider);
}
void OsciloscopeMainControl::setAverage(int enable)
{
pControl->setAverage(enable);
}
///////////////////////////////////////////////////////////////////////
//
......@@ -2868,6 +2882,10 @@ ushort OsciloscopeMainControl::getGain(int channel, uint volt)
{
return pControl->getGain(channel, volt);
}
int OsciloscopeMainControl::getAverage()
{
return pControl->getAverage();
}
////////////////////////////////////////////////////////////////////////////////
//
......
......@@ -194,6 +194,8 @@ public:
virtual void setDigitalInputOutput(int inout15, int inout7) = 0;
virtual void setDigitalOutputBit(int bit, int onoff) = 0;
virtual void setDigitalClockDivide(uint divider) = 0;
public:
virtual void setAverage(int enable) = 0;
public:
// get
virtual ushort getAnalogSwitch() = 0;
......@@ -249,6 +251,8 @@ public:
public:
virtual ushort getAttr(uint volt) = 0;
virtual ushort getGain(int channel, uint volt) = 0;
public:
virtual int getAverage() = 0;
};
////////////////////////////////////////////////////////////////////////////////
......@@ -372,6 +376,8 @@ public:
virtual void setDigitalInputOutput(int inout15, int inout7);
virtual void setDigitalOutputBit(int bit, int onoff);
virtual void setDigitalClockDivide(uint divider);
public:
virtual void setAverage(int enable) {};
public:
virtual ushort getAnalogSwitch();
virtual int getEts();
......@@ -428,6 +434,8 @@ public:
public:
virtual ushort getAttr(uint volt);
virtual ushort getGain(int channel, uint volt);
public:
virtual int getAverage() {return 0;};
public:
void client1Set(SHardware1& configure);
SHardware1 client1Get();
......@@ -508,7 +516,7 @@ public:
ushort digitalOutputMask;
ushort digitalClkDivideH;
ushort digitalClkDivideL;
ushort reserved1;
ushort average;
uint reserved2;
uint reserved3;
uint reserved4;
......@@ -570,6 +578,8 @@ public:
virtual void setDigitalInputOutput(int inout15, int inout7);
virtual void setDigitalOutputBit(int bit, int onoff);
virtual void setDigitalClockDivide(uint divider);
public:
virtual void setAverage(int enable);
public:
virtual ushort getAnalogSwitch();
virtual int getEts();
......@@ -626,6 +636,8 @@ public:
public:
virtual ushort getAttr(uint volt);
virtual ushort getGain(int channel, uint volt);
public:
virtual int getAverage();
public:
void client2Set(SHardware2& configure);
SHardware2 client2Get();
......@@ -719,6 +731,8 @@ public:
virtual void setDigitalInputOutput(int inout15, int inout7);
virtual void setDigitalOutputBit(int bit, int onoff);
virtual void setDigitalClockDivide(uint divider);
public:
virtual void setAverage(int enable);
public:
// get
virtual ushort getAnalogSwitch();
......@@ -771,6 +785,8 @@ public:
virtual int getDigitalInputOutput7();
virtual int getDigitalOutputBit(int bit);
virtual uint getDigitalClockDivide();
public:
virtual int getAverage();
public:
virtual ushort getAttr(uint volt);
virtual ushort getGain(int channel, uint volt);
......
#define SCOPEFUN_VERSION_MAJOR "2"
#define SCOPEFUN_VERSION_MINOR "0"
#define SCOPEFUN_VERSION_MICRO "0"
#define SCOPEFUN_VERSION_TIMESTAMP "17:08 19-03-2019"
#define SCOPEFUN_VERSION_MINOR "1"
#define SCOPEFUN_VERSION_MICRO "1"
#define SCOPEFUN_VERSION_TIMESTAMP "16:16 06-05-2019"
#define SCOPEFUN_VERSION_TYPE "not for release"
#define SCOPEFUN_VERSION_MAJOR "@SCOPEFUN_VERSION_MAJOR@"
#define SCOPEFUN_VERSION_MINOR "@SCOPEFUN_VERSION_MINOR@"
#define SCOPEFUN_VERSION_MICRO "@SCOPEFUN_VERSION_MICRO@"
#define SCOPEFUN_VERSION_MICRO "1"
#define SCOPEFUN_VERSION_TIMESTAMP "@SCOPEFUN_VERSION_TIMESTAMP@"
#define SCOPEFUN_VERSION_TYPE "@SCOPEFUN_VERSION_TYPE@"
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment