set_timebase
Configure the sampling rate for PicoScope oscilloscope data acquisition by specifying sample interval and number of samples to optimize 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 |
|---|---|---|---|
| sample_interval_ns | Yes | ||
| num_samples | Yes |
Implementation Reference
- The handler function for the 'set_timebase' tool. It is decorated with @mcp.tool(), which handles both registration and schema definition via type annotations. The function calculates sample rate and returns configuration info, noting that actual timebase is set during capture.@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)The call to register_configuration_tools(mcp) which invokes the registration of the set_timebase tool (along with other configuration tools).register_configuration_tools(mcp)