* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <config.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
-#include <errno.h>
#include <glib.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
#include "libsigrok-internal.h"
#include "protocol.h"
static void handle_packet(const uint8_t *buf, struct sr_dev_inst *sdi,
void *info)
{
- struct dmm_info *dmm = (struct dmm_info *) sdi->driver;
+ struct dmm_info *dmm;
float floatval;
struct sr_datafeed_packet packet;
- struct sr_datafeed_analog analog;
+ struct sr_datafeed_analog_old analog;
struct dev_context *devc;
+ dmm = (struct dmm_info *)sdi->driver;
+
log_dmm_packet(buf);
devc = sdi->priv;
- memset(&analog, 0, sizeof(struct sr_datafeed_analog));
+ memset(&analog, 0, sizeof(struct sr_datafeed_analog_old));
analog.channels = sdi->channels;
analog.num_samples = 1;
if (analog.mq != -1) {
/* Got a measurement. */
- packet.type = SR_DF_ANALOG;
+ packet.type = SR_DF_ANALOG_OLD;
packet.payload = &analog;
sr_session_send(devc->cb_data, &packet);
devc->num_samples++;
/** Request packet, if required. */
SR_PRIV int req_packet(struct sr_dev_inst *sdi)
{
- struct dmm_info *dmm = (struct dmm_info *) sdi->driver;
+ struct dmm_info *dmm;
struct dev_context *devc;
struct sr_serial_dev_inst *serial;
int ret;
+ dmm = (struct dmm_info *)sdi->driver;
+
if (!dmm->packet_request)
return SR_OK;
static void handle_new_data(struct sr_dev_inst *sdi, void *info)
{
- struct dmm_info *dmm = (struct dmm_info *) sdi->driver;
+ struct dmm_info *dmm;
struct dev_context *devc;
int len, i, offset = 0;
struct sr_serial_dev_inst *serial;
+ dmm = (struct dmm_info *)sdi->driver;
+
devc = sdi->priv;
serial = sdi->conn;
if (!(devc = sdi->priv))
return TRUE;
- dmm = (struct dmm_info *) sdi->driver;
+ dmm = (struct dmm_info *)sdi->driver;
if (revents == G_IO_IN) {
/* Serial data arrived. */
- info = malloc(dmm->info_size);
+ info = g_malloc(dmm->info_size);
handle_new_data(sdi, info);
- free(info);
+ g_free(info);
} else {
/* Timeout; send another packet request if DMM needs it. */
if (dmm->packet_request && (req_packet(sdi) < 0))