diff --git a/core/core_include/wave_ctrl.h b/core/core_include/wave_ctrl.h index 0ebb8c8..3770061 100644 --- a/core/core_include/wave_ctrl.h +++ b/core/core_include/wave_ctrl.h @@ -7,14 +7,6 @@ typedef enum SCAN_MODE }E_WAVE_DRAW_MODE; -typedef enum -{ - ZOOM_025, - ZOOM_050, - ZOOM_100, - ZOOM_200 -}E_WAVE_GAIN; - class c_wave_buffer; class c_wave_ctrl : public c_wnd { @@ -36,8 +28,7 @@ public: void set_wave_in_out_rate(unsigned int data_rate, unsigned int refresh_rate); void set_wave_speed(unsigned int speed); - void set_max_min_base(short max_data, short min_data, short data_base); - void set_wave_gain(E_WAVE_GAIN gain); + void set_max_min(short max_data, short min_data); void set_wave(c_wave_buffer* wave){m_wave = wave;} c_wave_buffer* get_wave(){return m_wave;} void clear_data(); @@ -69,8 +60,6 @@ protected: short m_max_data; short m_min_data; - short m_pivot_data; //for wave gain and fill mode - E_WAVE_GAIN m_gain; //wave gain private: c_wave_buffer* m_wave; diff --git a/core/src/wave_ctrl.cpp b/core/src/wave_ctrl.cpp index 2c63d7d..a84eda6 100644 --- a/core/src/wave_ctrl.cpp +++ b/core/src/wave_ctrl.cpp @@ -27,11 +27,9 @@ c_wave_ctrl::c_wave_ctrl() m_wave_name = m_wave_unit = 0; m_max_data = 500; m_min_data = 0; - m_pivot_data = 250; m_wave_speed = 4; m_wave_data_rate = 0; m_wave_refresh_rate = 1000; - m_gain = ZOOM_100; m_frame_len_map_index = 0; m_wave_name_color = m_wave_unit_color = m_wave_color = GL_RGB(255,0,0); @@ -52,16 +50,10 @@ void c_wave_ctrl::on_init_children() m_bg_fb = (unsigned int*)calloc(rect.Width() * rect.Height(), 4); } -void c_wave_ctrl::set_max_min_base(short max_data, short min_data, short data_base) +void c_wave_ctrl::set_max_min(short max_data, short min_data) { m_max_data = max_data; m_min_data = min_data; - m_pivot_data = data_base; -} - -void c_wave_ctrl::set_wave_gain(E_WAVE_GAIN gain) -{ - m_gain = gain; } void c_wave_ctrl::set_wave_in_out_rate(unsigned int data_rate, unsigned int refresh_rate) @@ -132,36 +124,15 @@ void c_wave_ctrl::refresh_wave(unsigned char frame) m_frame_len_map[m_frame_len_map_index++], (frame | (offset << 8))); m_frame_len_map_index %= sizeof(m_frame_len_map); - //gain - switch(m_gain) - { - case ZOOM_025: - mid = ((mid - m_pivot_data) >> 2) + m_pivot_data; - max = ((max - m_pivot_data) >> 2) + m_pivot_data; - min = ((min - m_pivot_data) >> 2) + m_pivot_data; - break; - case ZOOM_050: - mid = ((mid - m_pivot_data) >> 1) + m_pivot_data; - max = ((max - m_pivot_data) >> 1) + m_pivot_data; - min = ((min - m_pivot_data) >> 1) + m_pivot_data; - break; - case ZOOM_200: - mid = ((mid - m_pivot_data) << 1) + m_pivot_data; - max = ((max - m_pivot_data) << 1) + m_pivot_data; - min = ((min - m_pivot_data) << 1) + m_pivot_data; - break; - case ZOOM_100: - default: - break; - } + //map to wave ctrl int y_min,y_max; if(m_max_data == m_min_data) { ASSERT(FALSE); } - y_max = WAVE_LINE_WIDTH + m_wave_bottom - (m_wave_bottom - m_wave_top)*(min - m_min_data)/(m_max_data - m_min_data); - y_min = (-WAVE_LINE_WIDTH) + m_wave_bottom - (m_wave_bottom - m_wave_top)*(max - m_min_data)/(m_max_data - m_min_data); + y_max = m_wave_bottom + WAVE_LINE_WIDTH - (m_wave_bottom - m_wave_top)*(min - m_min_data)/(m_max_data - m_min_data); + y_min = m_wave_bottom - WAVE_LINE_WIDTH - (m_wave_bottom - m_wave_top)*(max - m_min_data)/(m_max_data - m_min_data); mid = m_wave_bottom - (m_wave_bottom - m_wave_top)*(mid - m_min_data)/(m_max_data - m_min_data); CORRECT(y_min, m_wave_bottom, m_wave_top);