-
Notifications
You must be signed in to change notification settings - Fork 1
/
screen_thread.h
132 lines (99 loc) · 2.63 KB
/
screen_thread.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
***************************************************************************
*
* Author: Teunis van Beelen
*
* Copyright (C) 2015 - 2023 Teunis van Beelen
*
* Email: teuniz@protonmail.com
*
***************************************************************************
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
***************************************************************************
*/
#ifndef DEF_SCREEN_THREAD_H
#define DEF_SCREEN_THREAD_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <math.h>
#include <QObject>
#include <QThread>
#include "global.h"
#include "utils.h"
#include "connection.h"
#include "tmc_dev.h"
#include "third_party/kiss_fft/kiss_fftr.h"
class screen_thread : public QThread
{
Q_OBJECT
public:
screen_thread();
~screen_thread();
int h_busy;
void set_device(struct tmcdev *);
void set_params(struct device_settings *);
void get_params(struct device_settings *);
private:
struct {
int connected;
int modelserie;
int chandisplay[MAX_CHNS];
double chanscale[MAX_CHNS];
int triggerstatus;
int triggersweep;
double samplerate;
int memdepth;
int countersrc;
double counterfreq;
int wavebufsz;
short *wavebuf[MAX_CHNS];
int error_stat;
int error_line;
int cmd_cue_idx_in;
int cmd_cue_idx_out;
int result;
int job;
double triggeredgelevel;
double timebasedelayoffset;
double timebasedelayscale;
int math_fft_src;
int math_fft;
int math_fft_unit;
double math_fft_hscale;
double math_fft_hcenter;
double *fftbuf_in;
double *fftbuf_out;
int fftbufsz;
kiss_fftr_cfg k_cfg;
kiss_fft_cpx *kiss_fftbuf;
int current_screen_sf;
int func_wrec_enable;
int func_wrec_fmax;
int func_wrec_operate;
int func_wrep_fmax;
int func_wplay_operate;
int func_wplay_fcur;
double xorigin[MAX_CHNS];
char debug_str[1024];
} params;
struct tmcdev *device;
struct device_settings *deviceparms;
void run();
int get_devicestatus();
};
#endif