# Change log

# 4.2.1

# Python and MATLAB

# All Instruments

  • Added 6GHz to bandwidth of set_frontend for Moku:Delta
  • Moku:Delta supports 5-slot Multi-Instrument Mode

# Custom Instrument+

  • Added CustomInstrumentPlus support

# Multi-Instrument Mode

  • Add port parameter to MIM set_dio clients

# Lock-in Amplifier, PID Controller, Digital Filter Box , FIR Filter Box, Laser Lock Box

  • Added set_interpolation function to embedded oscilloscopes
  • Added get_interpolation function to embedded oscilloscopes

# Logic Analyzer Pattern Generator

  • Added set_usb_decoder function
  • Changed notation from one-indexed pins to zero-indexed bits (Python SPI and CAN decoders) [0, 15]

# Gigabit Streamer and Gigabit Streamer+

  • start_sending changes
    • Added mode param (default: Manual)
    • Changed duration default to 0
    • Added control_channel param (default: None)
    • Added threshold param (default: 0)
    • Removed trigger_source param, replaced by control_channel
    • Removed trigger_level param, replaced by threshold
  • Added reset_receive_status function
  • Added gated sending functionality
  • Show warning in Gigabit Streamer when invalid packets received
  • Rename reset_receive_counters to reset_receive_status

# Bug fixes

  • Setting gain_range to None in enable_output in Digital Filter Box and FIR Filter Box
  • Fix for values being given as integers in responses
  • Fix for setting and disabling blended clocks
  • Fix for configuration file upload limit
  • Arbitrary Waveform Generator
    • Enable Arbitrary Waveform Generator and Waveform Generator to set sampling rate up to 2.5GSa and 5GSa
    • Set sample_rate to Auto in Arbitrary Waveform Generator generate_waveform
  • PID Controller
    • Enable validation in enable_input
    • Section validation in set_by_gain_and_section
  • Lock-in Amplifier
    • Handle setting aux_output to none
    • Setting main_gain_range, aux_gain_range to None in set_gain
  • Laser Lock Box
    • Setting gain_range to None in set_output
    • Changed source default to ProbeA in set_trigger
    • Removed invalid channels from source in set_trigger
    • Removed output_range from dump_state

# LabVIEW changes

  • Supports MokuOS 4.2.1
  • Bug fixes
  • No new features added

# 4.1.2

# Python and MATLAB

# All Instruments

  • Improve error messages
  • For file responses, ensure location key returns tmp for Moku:Lab

# Gigabit Streamer and Gigabit Streamer+

  • Added reset_receive_counters function

# Logic Analyzer Pattern Generator

  • Bug fix to update state

# Laser Lock Box

  • Added External option to source param in set_trigger

# LabVIEW changes

  • Supports MokuOS 4.1.2
  • Bug fixes
  • No new features added

# 4.1.1

# Python and MATLAB

# All Instruments

  • Added GigabitStreamer support (Moku:Delta only)
  • Added GigabitStreamerPlus support (Moku:Delta only)
  • Deprecated CustomCompile, replaced by CustomInstrument
  • Added CustomInstrumentPlus support
  • Moku:Go and Moku:Lab support 3-slot Multi-Instrument Mode
  • Added force_deploy to claim_ownership (default: False)
  • Error code handling improvements
  • Added bandwidth param to set_frontend (default: None, settable on Pro directly, indirectly on Delta through MIM frontend)
    • e.g. configure Moku:Pro bandwidth to 600 MHz to increase the maximum frequency of the SA and PM to 600 MHz

# Custom Instrument

  • Added get_status function

# Time & Frequency Analyzer

  • Added type param to set_histogram (default: Interval, added G2 correlation)
  • Added set_interval_policy / get_interval_policy

# Spectrum Analyzer

  • Two input channels in Multi-Instrument Mode (expanded from previous slot limits)

# Neural Network

  • Added NeuralNetwork support to Moku:Go and Moku:Lab (3-slot only)

# LabVIEW changes

  • Supports MokuOS 4.1.1
  • Bug fixes
  • No new features added

# 4.0.3

# Python and MATLAB

# All Instruments

  • Add missing requirements, zeroconf and packaging, back to pyproject.toml
  • More logging for HTTP error messages <!-- ```python print(response.dict)

# REPLACE

# Log the full response details for debugging

logger.debug(f"HTTP error response: {response.dict}") ```python -->

  • Replace mokucli update for mokucli feature install in error message
  • Fix post_data for empty attempts
  • Added save_settings function
  • Added load_settings function

# Multi-Instrument Mode

  • Added save_configuration function
  • Added load_configuration function

# LabVIEW changes

  • Supports MokuOS 4.0.3
  • Bug fixes
  • No new features added

# 4.0.1

# Python and MATLAB

# Major Changes

  • Moku CLI is now required for all API connections
  • MokuOS refers to versions across all software platforms
  • Structure for instrument bitstreams is now global for all API
  • Moku CLI required min version bumped to 4.0.1
  • MATLAB moku_download(fw) removed, replaced by Moku CLI: mokucli download instrument <MokuOS_version>

# All Instruments

  • Added Moku:Delta support
  • Bumped proxy version to 2.0 for 4.0.1
  • Added debug logging capabilities for Python
  • describe now returns mokuOS instead of firmware
  • attenuation no longer a required parameter in MATLAB set_frontend, moved to kwargs
  • Deprecated firmware_version function; replaced by mokuos_version
  • Removed several deprecated helpers and adjusted lifecycle methods
# Streaming
  • Removed moku_cli_streaming_compat, replaced by from moku import version
  • Stopped trimming error output from mokucli stream
  • Removed _get_compatible_cli_version <!--

# MATLAB

  • checksums are no longer in the data/<hardware>/ folder, replaced by MANIFEST in the .bar files
  • Various MATLAB-specific function replacements to use new utilities -->

# External Reference Clock

  • Added set_blended_clock / get_blended_clock (Moku:Delta)

# Arbitrary Waveform Generator and Waveform Generator

  • Added set_frontend and manual_trigger

# Digital Filter Box, FIR Filter Box, Laser Lock Box, Lock-in Amplifier, PID Controller, Multi-Instrument Mode

  • Added attenuation and gain params to set_frontend

# Oscilloscope and Embedded Oscilloscope

  • Trigger type, level, edge, polarity enhancements

# Data Logger

  • Added sample_rate to start_logging

# Embedded Data Logger

  • Changed rate defaults for set_logging and set_streaming to None

# Phasemeter

  • Added acquisition_speed options

# Laser Lock Box

  • Added set_digital_input_gain, removed strict from get_frontend

# Time & Frequency Analyzer

  • Added holdoff param to set_event_detector

# Neural Network

  • Restored show_summary param to construct_model

# PID Controller

  • Removed range from set_frontend

# Multi-Instrument Mode

  • Added port argument to get_dio

# MCC

  • bitstream argument now required for CloudCompile

# LabVIEW changes

  • Supports MokuOS 4.0.1
  • Bug fixes
  • No new features added