]> sigrok.org Git - libsigrok.git/blobdiff - hardware/asix-sigma/asix-sigma.c
added example code for generating a stored pattern
[libsigrok.git] / hardware / asix-sigma / asix-sigma.c
index 05467824cd4f60fcdfd1b70ede9e3c66e17fea85..cac386200f12a488f68a1ce4c371c6c7a3362e99 100644 (file)
@@ -644,9 +644,15 @@ static int configure_probes(GSList *probes)
 
 static void hw_closedev(int device_index)
 {
-       device_index = device_index;
+       struct sigrok_device_instance *sdi;
 
-       ftdi_usb_close(&ftdic);
+       if ((sdi = get_sigrok_device_instance(device_instances, device_index)))
+       {
+               if (sdi->status == ST_ACTIVE)
+                       ftdi_usb_close(&ftdic);
+
+               sdi->status = ST_INACTIVE;
+       }
 }
 
 static void hw_cleanup(void)
@@ -812,8 +818,9 @@ static int decode_chunk_ts(uint8_t *buf, uint16_t *lastts,
                while (sent < n) {
                        tosend = MIN(2048, n - sent);
 
-                       packet.type = DF_LOGIC16;
+                       packet.type = DF_LOGIC;
                        packet.length = tosend * sizeof(uint16_t);
+                       packet.unitsize = 2;
                        packet.payload = samples + sent;
                        session_bus(user_data, &packet);
 
@@ -854,8 +861,9 @@ static int decode_chunk_ts(uint8_t *buf, uint16_t *lastts,
                                                    &trigger);
 
                        if (tosend > 0) {
-                               packet.type = DF_LOGIC16;
+                               packet.type = DF_LOGIC;
                                packet.length = tosend * sizeof(uint16_t);
+                               packet.unitsize = 2;
                                packet.payload = samples;
                                session_bus(user_data, &packet);
 
@@ -871,8 +879,9 @@ static int decode_chunk_ts(uint8_t *buf, uint16_t *lastts,
                /* Send rest of the chunk to sigrok. */
                tosend = n - sent;
 
-               packet.type = DF_LOGIC16;
+               packet.type = DF_LOGIC;
                packet.length = tosend * sizeof(uint16_t);
+               packet.unitsize = 2;
                packet.payload = samples + sent;
                session_bus(user_data, &packet);
 
@@ -1216,7 +1225,8 @@ static int hw_start_acquisition(int device_index, gpointer session_device_id)
        gettimeofday(&header.starttime, NULL);
        header.samplerate = cur_samplerate;
        header.protocol_id = PROTO_RAW;
-       header.num_probes = num_probes;
+       header.num_logic_probes = num_probes;
+       header.num_analog_probes = 0;
        session_bus(session_device_id, &packet);
 
        /* Add capture source. */