set_timebase
Configure sampling rate parameters for PicoScope oscilloscope data acquisition. Specify sample interval and number of samples to determine timebase settings for signal capture.
Instructions
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.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| num_samples | Yes | ||
| sample_interval_ns | Yes |
Implementation Reference
- The 'set_timebase' tool handler function, decorated with @mcp.tool(). Implements logic to validate device connection, compute sample rate from interval, and return configuration status.@mcp.tool() def set_timebase(sample_interval_ns: int, num_samples: int) -> dict[str, Any]: """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. """ try: if not device_manager.is_connected(): return { "status": "error", "error": "No device connected", } # Calculate approximate sample rate sample_rate_hz = 1_000_000_000 / sample_interval_ns if sample_interval_ns > 0 else 0 return { "status": "success", "note": "Timebase will be set during capture based on device capabilities", "requested_interval_ns": sample_interval_ns, "requested_sample_rate_hz": sample_rate_hz, "num_samples": num_samples, } except Exception as e: return { "status": "error", "error": str(e), }
- src/picoscope_mcp/server.py:16-16 (registration)Top-level registration call that invokes the registration of configuration tools, including 'set_timebase', on the MCP server instance.register_configuration_tools(mcp)
- src/picoscope_mcp/server.py:6-6 (registration)Import of the register_configuration_tools function used to register the 'set_timebase' tool.from .tools.configuration import register_configuration_tools