- /* Set channel encoding to binary (default is UTF-8). */
- g_io_channel_set_encoding(channels[0], NULL, NULL);
- g_io_channel_set_encoding(channels[1], NULL, NULL);
-
- /* Make channels to unbuffered. */
- g_io_channel_set_buffered(channels[0], FALSE);
- g_io_channel_set_buffered(channels[1], FALSE);
-
- source_add(mydata->pipe_fds[0], G_IO_IN | G_IO_ERR, 40, receive_data,
- session_device_id);
-
- /* Run the demo thread. */
- g_thread_init(NULL);
- mydata->timer = g_timer_new();
- thread_running = 1;
- my_thread =
- g_thread_create((GThreadFunc)thread_func, mydata, TRUE, NULL);
- if (!my_thread)
- return SIGROK_ERR;
-
- packet = malloc(sizeof(struct datafeed_packet));
- header = malloc(sizeof(struct datafeed_header));
- if (!packet || !header)
- return SIGROK_ERR_MALLOC;
-
- packet->type = DF_HEADER;
- packet->length = sizeof(struct datafeed_header);
- packet->payload = (unsigned char *)header;
- header->feed_version = 1;
- gettimeofday(&header->starttime, NULL);
- header->samplerate = cur_samplerate;
- header->protocol_id = PROTO_RAW;
- header->num_logic_probes = NUM_PROBES;
- header->num_analog_probes = 0;
- session_bus(session_device_id, packet);
- free(header);
- free(packet);
-
- return SIGROK_OK;
-}
-
-static void hw_stop_acquisition(int device_index, gpointer session_device_id)
-{
- /* Avoid compiler warnings. */
- device_index = device_index;
- session_device_id = session_device_id;