/*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
*
* Copyright (C) ${year} ${author} <${email}>
*
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H
+#define LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H
-#ifndef LIBSIGROK_${upper}_H
-#define LIBSIGROK_${upper}_H
+#include <stdint.h>
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
-/* Private, per-device-instance driver context. */
+/* Message logging helpers with driver-specific prefix string. */
+#define DRIVER_LOG_DOMAIN "${short}: "
+#define SR_LOG(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args)
+#define SR_SPEW(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args)
+#define SR_DBG(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args)
+#define SR_INFO(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args)
+#define SR_WARN(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args)
+#define SR_ERR(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args)
+
+/** Private, per-device-instance driver context. */
struct dev_context {
+ /** The current sampling limit (in number of samples). */
uint64_t limit_samples;
+
+ /** The current sampling limit (in ms). */
uint64_t limit_msec;
- /* Opaque pointer passed in by the frontend. */
+ /** Opaque pointer passed in by the frontend. */
void *cb_data;
- /* Runtime. */
+ /** The current number of already received samples. */
uint64_t num_samples;
};