+struct measure_s {
+ double vpp;
+ double vmax;
+ double vmin;
+ double vamplitude;
+ double vtop;
+ double vbase;
+ double vaverage;
+ double vrms;
+
+ double overshoot;
+ double preshoot;
+
+ double frequency;
+ double risetime;
+ double falltime;
+
+ double period;
+ double pwidth;
+ double nwidth;
+ double pdutycycle;
+ double ndutycycle;
+
+ double pdelay;
+ double ndelay;
+};
+
+struct channel_s {
+ /* TODO */
+};
+
struct scope {
struct {
struct usb_dev_handle *dev;
} keyboard;
struct {
- /* TODO */
+ struct measure_s ch1;
+ struct measure_s ch2;
+
+ int total;
+ char source[32];
} measure;
struct {
char type[32];
char mode[32];
int averages;
- double srate_chan1;
- double srate_chan2;
+ double srate_ch1;
+ double srate_ch2;
double srate_digital;
} acquire;
struct {
- /* TODO */
+ char type[32];
+ char grid[32];
+ int persist;
+ char mnudisplay[32];
+ int mnustatus;
+ char screen[32];
+ int brightness;
+ int intensity;
} display;
struct {
- /* TODO */
+ struct channel_s ch1;
+ struct channel_s ch2;
} channel;
struct {
int scope_get_truth_value(struct scope *sc, char *cmd);
int scope_get_int(struct scope *sc, char *cmd);
double scope_get_double(struct scope *sc, char*cmd);
+void update_scope_measurements(struct scope *sc);
int update_scope_status(struct scope *sc);