#!/usr/bin/env python3 """ Simple curve transfer test - no FastFrame. """ import time from tektronix_base import TektronixOscilloscopeBase def main(): scope_ip = "192.168.10.105" print(f"Connecting to {scope_ip}...") scope = TektronixOscilloscopeBase(resource_name=scope_ip, timeout=20.0) try: scope.connect() print(f"Connected: {scope.identify()}\n") # Make sure FastFrame is OFF print("Disabling FastFrame...") scope.set_fastframe_state(False) # Configure simple acquisition print("Configuring acquisition...") scope.set_data_encoding('RIBinary') scope.set_data_source('CH1') # Single acquisition print("Running single acquisition...") scope.write("ACQuire:STATE RUN") time.sleep(0.5) scope.write("ACQuire:STATE STOP") time.sleep(0.2) # Transfer curve print("Transferring curve data...") curve_bytes = scope.transfer_curve() print(f"Received {len(curve_bytes)} bytes") # Parse waveform = scope.parse_curve_data(curve_bytes, byte_count=1, signed=True) print(f"Parsed {len(waveform)} samples") print(f"Min: {min(waveform)}, Max: {max(waveform)}") print(f"First 10: {waveform[:10]}") print("\nSuccess!") except Exception as e: print(f"\nError: {type(e).__name__}: {e}") import traceback traceback.print_exc() finally: if scope.is_connected: scope.disconnect() print("Disconnected") if __name__ == "__main__": main()