Programming Examples 44Keysight InfiniiVision 4000 X-Series Oscilloscopes Programmer's Guide 1709printf("Trigger edge level: %s\n", str_result);do_command(":TRIGger:EDGE:SLOPe POSitive");do_query_string(":TRIGger:EDGE:SLOPe?");printf("Trigger edge slope: %s\n", str_result);/* Save oscilloscope configuration.* ------------------------------------------------------------- *//* Read system setup. */num_bytes = do_query_ieeeblock(":SYSTem:SETup?");printf("Read setup string query (%d bytes).\n", num_bytes);/* Write setup string to file. */fp = fopen ("c:\\scope\\config\\setup.stp", "wb");num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,fp);fclose (fp);printf("Wrote setup string (%d bytes) to ", num_bytes);printf("c:\\scope\\config\\setup.stp.\n");/* Change settings with individual commands:* ------------------------------------------------------------- *//* Set vertical scale and offset. */do_command(":CHANnel1:SCALe 0.05");do_query_string(":CHANnel1:SCALe?");printf("Channel 1 vertical scale: %s\n", str_result);do_command(":CHANnel1:OFFSet -1.5");do_query_string(":CHANnel1:OFFSet?");printf("Channel 1 offset: %s\n", str_result);/* Set horizontal scale and position. */do_command(":TIMebase:SCALe 0.0002");do_query_string(":TIMebase:SCALe?");printf("Timebase scale: %s\n", str_result);do_command(":TIMebase:POSition 0.0");do_query_string(":TIMebase:POSition?");printf("Timebase position: %s\n", str_result);/* Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution). */do_command(":ACQuire:TYPE NORMal");do_query_string(":ACQuire:TYPE?");printf("Acquire type: %s\n", str_result);/* Or, configure by loading a previously saved setup.* ------------------------------------------------------------- *//* Read setup string from file. */fp = fopen ("c:\\scope\\config\\setup.stp", "rb");num_bytes = fread (ieeeblock_data, sizeof(unsigned char),IEEEBLOCK_SPACE, fp);fclose (fp);printf("Read setup string (%d bytes) from file ", num_bytes);