]> sigrok.org Git - libsigrok.git/blobdiff - hardware/asix-sigma/asix-sigma.h
asix-sigma: properly init driver-private storage
[libsigrok.git] / hardware / asix-sigma / asix-sigma.h
index 0c672491df30d70b7c1f87c905800310b7ee2b62..12410238a7000e5298254b6d23edaa2619cd4fd2 100644 (file)
@@ -19,8 +19,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef SIGROK_ASIX_SIGMA_H
-#define SIGROK_ASIX_SIGMA_H
+#ifndef LIBSIGROK_HARDWARE_ASIX_SIGMA_ASIX_SIGMA_H
+#define LIBSIGROK_HARDWARE_ASIX_SIGMA_ASIX_SIGMA_H
 
 enum sigma_write_register {
        WRITE_CLOCK_SELECT      = 0,
@@ -173,18 +173,26 @@ struct sigma_state {
        int chunks_downloaded;
 };
 
-struct sigma {
+/* Private driver context. */
+struct drv_context {
+       GSList *instances;
+};
+
+/* Private, per-device-instance driver context. */
+struct dev_context {
        struct ftdi_context ftdic;
        uint64_t cur_samplerate;
-       uint32_t limit_msec;
+       uint64_t period_ps;
+       uint64_t limit_msec;
        struct timeval start_tv;
        int cur_firmware;
        int num_probes;
        int samples_per_event;
        int capture_ratio;
        struct sigma_trigger trigger;
+       int use_triggers;
        struct sigma_state state;
-       gpointer session_id;
+       void *session_dev_id;
 };
 
 #endif