]> sigrok.org Git - libsigrok.git/commitdiff
kingst-la2016: keep FPGA active after device close
authorGerhard Sittig <redacted>
Mon, 31 Jan 2022 20:39:30 +0000 (21:39 +0100)
committerGerhard Sittig <redacted>
Sun, 6 Feb 2022 17:53:54 +0000 (18:53 +0100)
When the sigrok driver closes as the application shuts down, acquisition
of logic input channels will have completed. Generation of PWM signals
on output channels can be desirable to keep up. Do not de-initialize the
FPGA hardware in the close code path. Which allows to configure PWM by
means of sigrok-cli and use the signals between program invocations that
reconfigure the generator. Users can always disable channels before the
application shuts down if they prefer to. Similar use was seen with PSUs.
Make this approach a compile time option.

src/hardware/kingst-la2016/api.c
src/hardware/kingst-la2016/protocol.h

index cab6517b4fbc9c7b011cc58ece51e3caf431a81c..d9cb9b19e0ebf6e95dc7f3f346c458a784c60627 100644 (file)
@@ -671,7 +671,8 @@ static int dev_close(struct sr_dev_inst *sdi)
        if (!usb->devhdl)
                return SR_ERR_BUG;
 
-       la2016_deinit_hardware(sdi);
+       if (WITH_DEINIT_IN_CLOSE)
+               la2016_deinit_hardware(sdi);
 
        sr_info("Closing device on %d.%d (logical) / %s (physical) interface %d.",
                usb->bus, usb->address, sdi->connection_id, USB_INTERFACE);
index af640f66e508197aa96bc5cc8522aa51a6c65c88..3b251ed1d16aef4d1863168b6f061328e9ad1d44 100644 (file)
 
 #define LA2016_NUM_PWMCH_MAX   2
 
+/*
+ * Whether to de-initialize the device hardware in the driver's close
+ * callback. It is desirable to e.g. configure PWM channels and leave
+ * the generator running after the application shuts down. Users can
+ * always disable channels on their way out if they want to.
+ */
+#define WITH_DEINIT_IN_CLOSE   0
+
 #define LA2016_CONVBUFFER_SIZE (4 * 1024 * 1024)
 
 struct kingst_model {