From 0f1a43979c403d5f8137122eae635354db1d6314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=90=D0=BB=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B2=D0=B8=D1=87=20?= =?UTF-8?q?=D0=90=D0=BC=D0=B1=D1=80=D0=BE=D0=B7=D0=B5=D0=B2=D0=B8=D1=87?= Date: Wed, 21 Oct 2026 10:50:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?include=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/ps2000_internal.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/include/ps2000_internal.h b/include/ps2000_internal.h index 2fdc609..6c4651a 100644 --- a/include/ps2000_internal.h +++ b/include/ps2000_internal.h @@ -526,6 +526,10 @@ int _ps2000_ops_check_device_state(ps2000_context_t *ctx); void _ps2000_ops_update_device_state(ps2000_context_t *ctx); int _ps2000_ops_siggen_default_init(ps2000_context_t *ctx); int _ps2000_ops_check_channel(ps2000_context_t *ctx); +/* FIX #16: Extended validation with frequency check */ +int _ps2000_ops_validate_siggen_freq(ps2000_context_t *ctx, + double freq_normalized, + uint32_t awg_samples); /* --- USB Transport (_ps2000_usb_*) --- */ ps2000_status_t _ps2000_usb_open_device(ps2000_context_t *ctx, uint32_t serial); @@ -539,8 +543,9 @@ ps2000_status_t _ps2000_usb_bulk_transfer(ps2000_context_t *ctx, uint8_t ep, /* --- HW / IO commands (_ps2000_hw_*) --- */ ps2000_status_t _ps2000_hw_init_sequence(ps2000_context_t *ctx); -ps2000_status_t _ps2000_hw_write_reg(ps2000_context_t *ctx, uint8_t reg, uint16_t val); -ps2000_status_t _ps2000_hw_read_reg(ps2000_context_t *ctx, uint8_t reg, uint16_t *val); +/* FIX #13: reg parameter changed to uint16_t */ +ps2000_status_t _ps2000_hw_write_reg(ps2000_context_t *ctx, uint16_t reg, uint16_t val); +ps2000_status_t _ps2000_hw_read_reg(ps2000_context_t *ctx, uint16_t reg, uint16_t *val); ps2000_status_t _ps2000_hw_load_fpga(ps2000_context_t *ctx, const uint8_t *bitstream, uint32_t len); ps2000_status_t _ps2000_hw_adc_spi_write(ps2000_context_t *ctx, @@ -548,6 +553,10 @@ ps2000_status_t _ps2000_hw_adc_spi_write(ps2000_context_t *ctx, ps2000_status_t _ps2000_hw_io_cmd(ps2000_context_t *ctx, ps2000_io_cmd_t cmd, uint16_t addr, uint16_t value); void _ps2000_hw_cleanup(ps2000_context_t *ctx); +/* FIX #15: PreLaunch */ +ps2000_status_t _ps2000_hw_prelaunch(void); +/* FIX #15: Apply fix */ +int _ps2000_hw_apply_fix(uint32_t magic, uint16_t version); /* --- Init table parser (_ps2000_init_tbl_*) --- */ ps2000_status_t _ps2000_init_tbl_execute(ps2000_context_t *ctx,