diff --git a/scopehal/PicoOscilloscope.cpp b/scopehal/PicoOscilloscope.cpp index f96df7e3..746e6c82 100644 --- a/scopehal/PicoOscilloscope.cpp +++ b/scopehal/PicoOscilloscope.cpp @@ -723,6 +723,18 @@ void PicoOscilloscope::SetChannelBandwidthLimit(size_t i, unsigned int limit_mhz m_transport->SendCommand(GetOscilloscopeChannel(i)->GetHwname() + ":BWLIM " + to_string(limit_mhz)); } +void PicoOscilloscope::SetChannelOffset(size_t i, size_t /*stream*/, float offset) +{ + float maxOff = abs(stof(m_transport->SendCommandQueuedWithReply(GetOscilloscopeChannel(i)->GetHwname() + ":OFLIM?"))); + float minOff = -maxOff; + + offset = min(maxOff, offset); + offset = max(minOff, offset); + //LogDebug("SetChannelWaveform: %f\t %f\t\n", maxOff, offset); + + RemoteBridgeOscilloscope::SetChannelOffset(i, 0, offset); +} + OscilloscopeChannel* PicoOscilloscope::GetExternalTrigger() { //FIXME diff --git a/scopehal/PicoOscilloscope.h b/scopehal/PicoOscilloscope.h index 9a715574..577e0ab0 100644 --- a/scopehal/PicoOscilloscope.h +++ b/scopehal/PicoOscilloscope.h @@ -68,6 +68,7 @@ class PicoOscilloscope : public virtual RemoteBridgeOscilloscope virtual void SetChannelBandwidthLimit(size_t i, unsigned int limit_mhz) override; virtual OscilloscopeChannel* GetExternalTrigger() override; virtual bool CanEnableChannel(size_t i) override; + virtual void SetChannelOffset(size_t i, size_t stream, float offset) override; //Triggering virtual void BackgroundProcessing() override;