/Designs/Tools/Oscilloscope/SW/PC_side/qscope/scope.h
0,0 → 1,55
#ifndef SCOPE_H
#define SCOPE_H
 
#include <QWidget>
#include <QTimer>
#include <QSlider>
#include <stdint.h>
#include <QLabel>
 
#define TICK 250 // time in ms for one sample (LEN values)
#define LEN 100 // number of sampled values
 
#define DEF_SCALE 128 //divisor
#define DEF_SHIFT 37203
 
#define LEFT 10
#define TOP 10
#define PIXPT_X 4
#define PIXPT_Y 1
#define WIDTH (PIXPT_X*LEN)
#define HEIGHT (PIXPT_Y*512)
 
class Scope : public QWidget
{
Q_OBJECT
 
public:
Scope(QWidget *parent = 0);
~Scope();
 
public slots:
void getData();
void setScale(int val);
void setShift(int val);
 
protected:
void paintEvent(QPaintEvent *event);
 
private:
uint8_t buffer[2*LEN];
int data[LEN];
char dataAquired;
void UI(void);
int shift, scale;
 
QTimer *updateTimer;
QSlider *shiftSlider;
QSlider *scaleSlider;
 
QLabel * labels[5];
};
 
#endif