Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
list_devices | List all connected PicoScope devices. Returns: Dictionary containing list of discovered devices with their info. |
connect_device | Connect to a specific PicoScope device. Args: serial: Device serial number. If empty, connects to first available device. Returns: Dictionary containing connection status and device information. |
get_device_info | Get detailed information about the currently connected device. Returns: Dictionary containing device model, serial, variant, capabilities, etc. |
disconnect_device | Disconnect from the currently connected PicoScope device. Returns: Dictionary containing disconnection status. |
configure_channel | Configure a channel on the oscilloscope. Args: channel: Channel identifier (A, B, C, or D). enabled: Whether the channel is enabled. coupling: AC or DC coupling. voltage_range: Voltage range in volts (e.g., 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20). analog_offset: DC offset voltage in volts. Returns: Dictionary containing configuration status and applied settings. |
get_channel_config | Get current configuration of a channel. Args: channel: Channel identifier (A, B, C, or D). Returns: Dictionary containing current channel settings. |
set_timebase | Set the timebase (sampling rate) for data acquisition. Note: The actual timebase is determined during block capture based on the requested number of samples. This tool is informational. Args: sample_interval_ns: Desired sample interval in nanoseconds. num_samples: Number of samples to capture. Returns: Dictionary containing timebase information. |
set_simple_trigger | Set up a simple edge trigger. Args: source: Trigger source channel or external. threshold_mv: Trigger threshold in millivolts. direction: Trigger on rising, falling, or either edge. auto_trigger_ms: Auto-trigger timeout in milliseconds (0 = disabled). Returns: Dictionary containing trigger configuration status. |
capture_block | Capture a single block of data. Args: pre_trigger_samples: Number of samples before trigger. post_trigger_samples: Number of samples after trigger. Returns: Dictionary containing captured waveform data for all enabled channels. |
start_streaming | Start streaming data acquisition. Args: sample_interval_ns: Sample interval in nanoseconds. buffer_size: Size of streaming buffer. auto_stop: Whether to automatically stop after max_samples. max_samples: Maximum samples to capture (0 = continuous). Returns: Dictionary containing streaming status and configuration. |
stop_streaming | Stop streaming data acquisition. Returns: Dictionary containing stop status and summary of captured data. |
get_streaming_data | Get latest streaming data. Args: max_samples: Maximum number of samples to retrieve. Returns: Dictionary containing latest streaming data for enabled channels. |
measure_frequency | Measure signal frequency on a channel. Note: This requires a recent capture. Call capture_block first. Args: channel: Channel to measure. Returns: Dictionary containing frequency in Hz and measurement details. |
measure_amplitude | Measure signal amplitude on a channel. Note: This requires a recent capture. Call capture_block first. Args: channel: Channel to measure. measurement_type: Type of amplitude measurement. Returns: Dictionary containing amplitude in volts and measurement type. |
measure_rise_time | Measure signal rise time (10% to 90% by default). Args: channel: Channel to measure. low_threshold_percent: Lower threshold percentage (0-100). high_threshold_percent: Upper threshold percentage (0-100). Returns: Dictionary containing rise time in seconds. |
measure_pulse_width | Measure pulse width at specified threshold. Args: channel: Channel to measure. threshold_percent: Threshold percentage for pulse measurement (0-100). Returns: Dictionary containing pulse width in seconds. |
compute_fft | Compute FFT (Fast Fourier Transform) for frequency domain analysis. Args: channel: Channel to analyze. window: Window function to apply. Returns: Dictionary containing frequency bins and magnitude spectrum. |
get_statistics | Get statistical analysis of signal. Args: channel: Channel to analyze. num_samples: Number of samples to analyze. Returns: Dictionary containing min, max, mean, std dev, etc. |
measure_thd | Measure Total Harmonic Distortion (THD). Args: channel: Channel to measure. Returns: Dictionary containing THD percentage and harmonic components. |
set_signal_generator | Configure the built-in signal generator (AWG). Args: waveform_type: Type of waveform to generate. frequency_hz: Frequency in Hz. amplitude_mv: Peak-to-peak amplitude in millivolts. offset_mv: DC offset in millivolts. Returns: Dictionary containing signal generator status and configuration. |
stop_signal_generator | Stop the signal generator output. Returns: Dictionary containing status of signal generator. |
configure_math_channel | Configure a math channel (channel operations). Args: operation: Mathematical operation to perform. channel_a: First channel. channel_b: Second channel. Returns: Dictionary containing math channel configuration. |
export_waveform | Export captured waveform data to file. Args: format: Export format (csv, json, or numpy). channels: List of channels to export. filename: Output filename (without extension). Returns: Dictionary containing export status and file path. |
configure_downsampling | Configure downsampling for data acquisition. Args: mode: Downsampling mode. ratio: Downsampling ratio (1 = no downsampling). Returns: Dictionary containing downsampling configuration. |