summaryrefslogtreecommitdiffstats
path: root/servers
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-04-28 16:36:38 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-04-28 16:36:38 -0500
commitf8d372779417eeb809088893ca58ad6a318ab418 (patch)
treea6f22ab8e64a5ea75bde8f14ecd34505df554136 /servers
parent7db02ff4fd90c4942b5ca43ea4c90f143f42e563 (diff)
downloadulab-f8d372779417eeb809088893ca58ad6a318ab418.tar.gz
ulab-f8d372779417eeb809088893ca58ad6a318ab418.zip
Extend ca support
Diffstat (limited to 'servers')
-rw-r--r--servers/gpib_server_lin/src/Makefile.in4
-rw-r--r--servers/gpib_server_lin/src/commanalyzer_functions.c9
-rw-r--r--servers/gpib_server_lin/src/commanalyzer_functions.h3
-rw-r--r--servers/gpib_server_lin/src/main_server_lin.c12
4 files changed, 25 insertions, 3 deletions
diff --git a/servers/gpib_server_lin/src/Makefile.in b/servers/gpib_server_lin/src/Makefile.in
index a9deb42..1b9e1d9 100644
--- a/servers/gpib_server_lin/src/Makefile.in
+++ b/servers/gpib_server_lin/src/Makefile.in
@@ -218,9 +218,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
+ $(AUTOMAKE) --foreign src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
diff --git a/servers/gpib_server_lin/src/commanalyzer_functions.c b/servers/gpib_server_lin/src/commanalyzer_functions.c
index 7ad705e..0a91731 100644
--- a/servers/gpib_server_lin/src/commanalyzer_functions.c
+++ b/servers/gpib_server_lin/src/commanalyzer_functions.c
@@ -644,4 +644,13 @@ int commanalyzer_set_spectrum_analyzer_reference_power_level(float desired_refle
else {
return 1;
}
+}
+
+int commanalyzer_get_spectrum_analyzer_number_of_vertical_divisions( char * commanalyzerType, int gpibDevice) {
+ if ((strcmp("HP8924C", commanalyzerType) == 0)) {
+ return 8;
+ }
+ else {
+ return -1;
+ }
} \ No newline at end of file
diff --git a/servers/gpib_server_lin/src/commanalyzer_functions.h b/servers/gpib_server_lin/src/commanalyzer_functions.h
index 9abd4e0..9c06e4d 100644
--- a/servers/gpib_server_lin/src/commanalyzer_functions.h
+++ b/servers/gpib_server_lin/src/commanalyzer_functions.h
@@ -46,4 +46,5 @@ int commanalyzer_set_spectrum_analyzer_generator_frequency(float desired_frequen
int commanalyzer_spectrum_analyzer_set_generator_sweep_ascending (char * commanalyzerType, int gpibDevice);
int commanalyzer_spectrum_analyzer_set_generator_sweep_descending (char * commanalyzerType, int gpibDevice);
int commanalyzer_set_spectrum_analyzer_trace_averaging(float desired_avg_samples, char * commanalyzerType, int gpibDevice);
-int commanalyzer_set_spectrum_analyzer_reference_power_level(float desired_reflevel, char * commanalyzerType, int gpibDevice); \ No newline at end of file
+int commanalyzer_set_spectrum_analyzer_reference_power_level(float desired_reflevel, char * commanalyzerType, int gpibDevice);
+int commanalyzer_get_spectrum_analyzer_number_of_vertical_divisions( char * commanalyzerType, int gpibDevice); \ No newline at end of file
diff --git a/servers/gpib_server_lin/src/main_server_lin.c b/servers/gpib_server_lin/src/main_server_lin.c
index 1b32d6e..7184ab4 100644
--- a/servers/gpib_server_lin/src/main_server_lin.c
+++ b/servers/gpib_server_lin/src/main_server_lin.c
@@ -882,6 +882,8 @@ int mainserver(int fd) {
fsync(fd);
if (commanalyzer_get_spectrum_analyzer_trace(commanalyzerType, commanalyzer_board_device) == 0) {
bytestosend = commanalyzerTraceLength(commanalyzerType)*sizeof(double);
+ int16_t numbytes = bytestosend;
+ quiet_write(fd, &numbytes, 2);
k=0;
while (bytestosend > 0) {
return_status = write(fd, commanalyzer_raw_trace_data+k, 1);
@@ -1055,6 +1057,16 @@ int mainserver(int fd) {
quiet_write(fd, "NCK\r", strlen("NCK\r"));
}
}
+ if (readbuf[0] == 62) { // Want the number of vertical divisions available
+ int16_t divisions = commanalyzer_get_spectrum_analyzer_number_of_vertical_divisions(commanalyzerType, commanalyzer_board_device);
+ if (divisions >= 0) {
+ quiet_write(fd, &divisions, 2);
+ quiet_write(fd, "ACK\r", strlen("ACK\r"));
+ }
+ else {
+ quiet_write(fd, "NCK\r", strlen("NCK\r"));
+ }
+ }
}
break;
case 2: // Open the serial port