diff options
| author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-06-25 18:48:17 -0500 | 
|---|---|---|
| committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-06-25 18:48:17 -0500 | 
| commit | 256a66b6b05eecf7e7cf0b842f4809fb49d190a0 (patch) | |
| tree | d0099b59febbef35d339f92e69b84f2541cab837 /servers/gpib_server_lin/src/commanalyzer_functions.c | |
| parent | e23898e185c0f639c6c6b98478b8b21f1ae83720 (diff) | |
| download | ulab-256a66b6b05eecf7e7cf0b842f4809fb49d190a0.tar.gz ulab-256a66b6b05eecf7e7cf0b842f4809fb49d190a0.zip | |
Move old servers to attic
Diffstat (limited to 'servers/gpib_server_lin/src/commanalyzer_functions.c')
| -rw-r--r-- | servers/gpib_server_lin/src/commanalyzer_functions.c | 962 | 
1 files changed, 0 insertions, 962 deletions
| diff --git a/servers/gpib_server_lin/src/commanalyzer_functions.c b/servers/gpib_server_lin/src/commanalyzer_functions.c deleted file mode 100644 index 207a4d5..0000000 --- a/servers/gpib_server_lin/src/commanalyzer_functions.c +++ /dev/null @@ -1,962 +0,0 @@ -/* - * Remote Laboratory Instrumentation Server - * - * 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, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (c) 2009 Timothy Pearson - * Raptor Engineering - * http://www.raptorengineeringinc.com - */ - -#include <ctype.h> -#include <errno.h> -#include <stdio.h> -#include <unistd.h> -#include <stdlib.h> -#include <stdint.h> -#include <string.h> -#include <getopt.h> -#include <allegro.h> -#include "parameters.h" -#include "gpib_functions.h" -#include "gpib/ib.h" - -char falpha[1024]; -double commanalyzer_raw_trace_data[1024]; - -unsigned long commanalyzerTraceLength (char * commanalyzerType) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		return 417; -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_date(struct tm * datetime, char * commanalyzerType, int gpibDevice) { -	char datebuffer [80]; -	strftime(datebuffer,80,"CONF:DATE %m%d%y",datetime); - -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting date on communications analyzer\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", datebuffer); -			#endif -			if (gpib_write(gpibDevice, datebuffer) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_time(struct tm * datetime, char * commanalyzerType, int gpibDevice) { -	char timebuffer [80]; -	strftime(timebuffer,80,"CONF:TIME +%H.%M",datetime);	// FIXME wrong format - -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting time on communications analyzer\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", timebuffer); -			#endif -			if (gpib_write(gpibDevice, timebuffer) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_switch_to_spectrum_analyzer_mode(char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting communications analyzer to spectrum anayzer mode\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"DISP SAN"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_lock_screen (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Locking communications analyzer screen\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SPEC:DISP 'LOCKED'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_generator_mode_tracking (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer generator to tracking mode\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:RFG 'TRACK'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_generator_mode_fixed (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer generator to fixed mode\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:RFG 'FIXED'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_rf_input_dedicated (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer RF input to dedicated connector\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:INP 'ANT'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_rf_input_muxed (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer RF input to multiplexed connector\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:INP 'RF IN'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_generator_output_dedicated (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer generator output to dedicated connector\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:TGEN:DEST 'DUPL'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_generator_output_muxed (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer generator output to multiplexed connector\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:TGEN:DEST 'RF OUT'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_get_spectrum_analyzer_trace(char * commanalyzerType, int gpibDevice) { -	int max_num_bytes = 0; - -	unsigned char segarray[4194304]; -	unsigned char floatstring[1024]; -	long array_pointer; -	long ai; -	long left_char; -	long right_char; - -	int x; -	int y; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		// Send request -		printf("[INFO] Getting spectrum analyzer trace [Stage 1]\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"MEAS:SAN:TRACE?"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				max_num_bytes = (commanalyzerTraceLength(commanalyzerType)*24);	// Request more bytes than are possible to ensure no bytes are left behind -			} -			else { -				return 2; -			} -		} - -		// Read response -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Trying to read %i bytes from GPIB device...\n", max_num_bytes); -		#endif -	 -		ibtmo(gpibDevice, T30s); -		ibeos(gpibDevice, 0x0); -	 -		ai = gpib_read_array(gpibDevice, max_num_bytes, segarray); -		if (ai == -1) { -			return 1; -		} -		else { -			if (strcmp("HP8924C", commanalyzerType) == 0) { -				left_char = 0; -				right_char = 0; -				array_pointer = 0; -				while (left_char < ai) { -					for (right_char=left_char;right_char<ai;right_char++) { -						if (segarray[right_char] == ',') { -							break; -						} -					} -					strncpy(floatstring, segarray+left_char, right_char-left_char); -					floatstring[right_char-left_char] = 0; -					commanalyzer_raw_trace_data[array_pointer] = atof(floatstring); -					array_pointer++; -					left_char = right_char+1; -				} -			} -			else { -				return 2; -			} -		} -	 -		ibtmo(gpibDevice, T10s); -	 -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Read %li bytes from GPIB device\n", array_pointer); -		#endif - -		return 0; -	} -} - -int commanalyzer_set_spectrum_analyzer_center_frequency(float desired_frequency, char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer center frequency to %f\n\r", desired_frequency); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:CFR %E", desired_frequency); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_frequency_span(float desired_frequency, char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer span frequency to %f\n\r", desired_frequency); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:SPAN %E", desired_frequency); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_input_attenuation(float desired_attenuation, char * commanalyzerType, int gpibDevice) { -	int instrument_att; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			// Only three attenuation values are valid -			if (desired_attenuation < 10) { -				instrument_att = 0; -			} -			else if (desired_attenuation < 30) { -				instrument_att = 20; -			} -			else { -				instrument_att = 40; -			} -		} -		printf("[INFO] Setting spectrum analyzer attenuation to %d dB\n\r", instrument_att); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:ATT '%d DB'", instrument_att); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_scale(float desired_scale, char * commanalyzerType, int gpibDevice) { -	int instrument_scale; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			// Only three scale values are valid -			if (desired_scale < 1.5) { -				instrument_scale = 1; -			} -			else if (desired_scale < 6) { -				instrument_scale = 2; -			} -			else { -				instrument_scale = 10; -			} -		} -		printf("[INFO] Setting spectrum analyzer scale to %d dB/div\n\r", instrument_scale); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:DISP:SCAL '%d DB/DIV'", instrument_scale); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_input_attenuator_mode_auto( char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer attenuation mode to automatic\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:ATT:MODE 'AUTO'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_input_attenuator_mode_fixed( char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer attenuation mode to fixed\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:ATT:MODE 'HOLD'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_generator_power(float desired_power, char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer generator power to %f\n\r", desired_power); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:TGEN:AMPL %E", desired_power); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_generator_frequency(float desired_frequency, char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer generator frequency to %f\n\r", desired_frequency); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:TGEN:OFR %E", desired_frequency); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_generator_sweep_ascending (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer generator output sweep to ascending\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:TGEN:SWE 'NORM'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_spectrum_analyzer_set_generator_sweep_descending (char * commanalyzerType, int gpibDevice) { -	if (strcmp("HP8924C", commanalyzerType) == 0) { -		printf("[INFO] Setting spectrum analyzer generator output sweep to descending\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:TGEN:SWE 'INVERT'"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_trace_averaging(float desired_avg_samples, char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		int instrument_samples; -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			// Only certain values are valid, and I am interpreting 0 as no pk/avg and -1 as peak hold -			instrument_samples = desired_avg_samples; -			if (desired_avg_samples > 5) { -				if (desired_avg_samples < 5) { -					instrument_samples = desired_avg_samples; -				} -				else if (desired_avg_samples < 7) { -					instrument_samples = 5; -				} -				else if (desired_avg_samples < 15) { -					instrument_samples = 10; -				} -				else if (desired_avg_samples < 35) { -					instrument_samples = 20; -				} -				else if (desired_avg_samples < 75) { -					instrument_samples = 50; -				} -				else { -					instrument_samples = 100; -				} -			} -		} -		printf("[INFO] Setting spectrum analyzer generator trace averaging to %d\n\r", instrument_samples); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			if (instrument_samples > 0) { -				sprintf(falpha,"SAN:TRAC:MHOL 'AVG %d'", instrument_samples); -			} -			else if (instrument_samples == -1) { -				sprintf(falpha,"SAN:TRAC:MHOL 'PK HOLD'"); -			} -			else { -				sprintf(falpha,"SAN:TRAC:MHOL 'NO PK/AVG'"); -			} -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -int commanalyzer_set_spectrum_analyzer_reference_power_level(float desired_reflevel, char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		printf("[INFO] Setting spectrum analyzer generator reference level to %f dBm\n\r", desired_reflevel); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:RLEV %E", desired_reflevel); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	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; -	} -} - -int commanalyzer_get_spectrum_analyzer_number_of_horizontal_divisions( char * commanalyzerType, int gpibDevice) { -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		return 10; -	} -	else { -		return -1; -	} -} - -double commanalyzer_get_spectrum_analyzer_reference_power_level(double * retval, char * commanalyzerType, int gpibDevice) { -	unsigned char segarray[4194304]; -	unsigned char floatstring[1024]; -	long array_pointer; -	long ai; -	long left_char; -	long right_char; - -	int max_num_bytes = 0; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		// Send request -		printf("[INFO] Getting spectrum analyzer reference power level\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:RLEV?"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				max_num_bytes = 24;	// Request more bytes than are possible to ensure no bytes are left behind -			} -			else { -				return 2; -			} -		} - -		// Read response -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Trying to read %i bytes from GPIB device...\n", max_num_bytes); -		#endif -	 -		ibtmo(gpibDevice, T10s); -		ibeos(gpibDevice, 0x0); -	 -		ai = gpib_read_array(gpibDevice, max_num_bytes, segarray); -		if (ai == -1) { -			return 1; -		} -		else { -			if (strcmp("HP8924C", commanalyzerType) == 0) { -				segarray[ai] = 0; -				*retval = atof(segarray); -			} -			else { -				return 2; -			} -		} -	 -		ibtmo(gpibDevice, T10s); -	 -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Read %li bytes from GPIB device\n", ai); -		#endif - -		return 0; -	} -	else { -		return -1; -	} -} - -double commanalyzer_get_spectrum_analyzer_scale(double * retval, char * commanalyzerType, int gpibDevice) { -	unsigned char segarray[4194304]; -	unsigned char floatstring[1024]; -	long array_pointer; -	long ai; -	long left_char; -	long right_char; - -	int max_num_bytes = 0; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		// Send request -		printf("[INFO] Getting spectrum analyzer scale\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:DISP:SCAL?"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				max_num_bytes = 24;	// Request more bytes than are possible to ensure no bytes are left behind -			} -			else { -				return 2; -			} -		} - -		// Read response -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Trying to read %i bytes from GPIB device...\n", max_num_bytes); -		#endif -	 -		ibtmo(gpibDevice, T10s); -		ibeos(gpibDevice, 0x0); -	 -		ai = gpib_read_array(gpibDevice, max_num_bytes, segarray); -		if (ai == -1) { -			return 1; -		} -		else { -			if (strcmp("HP8924C", commanalyzerType) == 0) { -				left_char = 1; -				right_char = 0; -				array_pointer = 0; -				for (right_char=left_char;right_char<ai;right_char++) { -					if (segarray[right_char] == ' ') { -						break; -					} -				} -				strncpy(floatstring, segarray+left_char, right_char-left_char); -				floatstring[right_char-left_char] = 0; -				*retval = atof(floatstring); -			} -			else { -				return 2; -			} -		} -	 -		ibtmo(gpibDevice, T10s); -	 -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Read %li bytes from GPIB device\n", ai); -		#endif - -		return 0; -	} -	else { -		return -1; -	} -} - -int commanalyzer_set_display_brightness(float percent, char * commanalyzerType, int gpibDevice) { -	int instrument_scale; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			instrument_scale = ((percent/100.0)*7.0)+1; -		} -		printf("[INFO] Setting display brightness to %d\n\r", instrument_scale); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"CONF:INT %d", instrument_scale); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				return 0; -			} -			else { -				return 2; -			} -		} -	} -	else { -		return 1; -	} -} - -double commanalyzer_get_spectrum_analyzer_center_frequency(double * retval, char * commanalyzerType, int gpibDevice) { -	unsigned char segarray[4194304]; -	unsigned char floatstring[1024]; -	long array_pointer; -	long ai; -	long left_char; -	long right_char; - -	int max_num_bytes = 0; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		// Send request -		printf("[INFO] Getting spectrum analyzer center frequency\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:CFR?"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				max_num_bytes = 24;	// Request more bytes than are possible to ensure no bytes are left behind -			} -			else { -				return 2; -			} -		} - -		// Read response -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Trying to read %i bytes from GPIB device...\n", max_num_bytes); -		#endif -	 -		ibtmo(gpibDevice, T10s); -		ibeos(gpibDevice, 0x0); -	 -		ai = gpib_read_array(gpibDevice, max_num_bytes, segarray); -		if (ai == -1) { -			return 1; -		} -		else { -			if (strcmp("HP8924C", commanalyzerType) == 0) { -				left_char = 1; -				right_char = 0; -				array_pointer = 0; -				for (right_char=left_char;right_char<ai;right_char++) { -					if (segarray[right_char] == ' ') { -						break; -					} -				} -				strncpy(floatstring, segarray+left_char, right_char-left_char); -				floatstring[right_char-left_char] = 0; -				*retval = atof(floatstring); -			} -			else { -				return 2; -			} -		} -	 -		ibtmo(gpibDevice, T10s); -	 -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Read %li bytes from GPIB device\n", ai); -		#endif - -		return 0; -	} -	else { -		return -1; -	} -} - -double commanalyzer_get_spectrum_analyzer_span(double * retval, char * commanalyzerType, int gpibDevice) { -	unsigned char segarray[4194304]; -	unsigned char floatstring[1024]; -	long array_pointer; -	long ai; -	long left_char; -	long right_char; - -	int max_num_bytes = 0; - -	if ((strcmp("HP8924C", commanalyzerType) == 0)) { -		// Send request -		printf("[INFO] Getting spectrum analyzer frequency span\n\r"); -		if (strcmp("HP8924C", commanalyzerType) == 0) { -			sprintf(falpha,"SAN:SPAN?"); -			#ifdef ENABLE_EXTRA_DEBUGGING -			printf("[DEBG] Writing: %s\n\r", falpha); -			#endif -			if (gpib_write(gpibDevice, falpha) == 0) { -				max_num_bytes = 24;	// Request more bytes than are possible to ensure no bytes are left behind -			} -			else { -				return 2; -			} -		} - -		// Read response -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Trying to read %i bytes from GPIB device...\n", max_num_bytes); -		#endif -	 -		ibtmo(gpibDevice, T10s); -		ibeos(gpibDevice, 0x0); -	 -		ai = gpib_read_array(gpibDevice, max_num_bytes, segarray); -		if (ai == -1) { -			return 1; -		} -		else { -			if (strcmp("HP8924C", commanalyzerType) == 0) { -				left_char = 1; -				right_char = 0; -				array_pointer = 0; -				for (right_char=left_char;right_char<ai;right_char++) { -					if (segarray[right_char] == ' ') { -						break; -					} -				} -				strncpy(floatstring, segarray+left_char, right_char-left_char); -				floatstring[right_char-left_char] = 0; -				*retval = atof(floatstring); -			} -			else { -				return 2; -			} -		} -	 -		ibtmo(gpibDevice, T10s); -	 -		#ifdef ENABLE_EXTRA_DEBUGGING -		printf("[DEBG] Read %li bytes from GPIB device\n", ai); -		#endif - -		return 0; -	} -	else { -		return -1; -	} -}
\ No newline at end of file | 
