* This file is part of the libsigrok project.
*
* Copyright (C) 2018 Sven Bursch-Osewold <sb_git@bursch.com>
+ * Copyright (C) 2019 King Kévin <kingkevin@cuvoodoo.info>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#define LOG_PREFIX "zketech-ebd-usb"
-#define MSG_LEN 19
-#define MSG_CHECKSUM_POS 17
+#define MSG_MAX_LEN 19
#define MSG_FRAME_BEGIN 0xfa
-#define MSG_FRAME_BEGIN_POS 0
#define MSG_FRAME_END 0xf8
-#define MSG_FRAME_END_POS 18
struct dev_context {
struct sr_sw_limits limits;
GMutex rw_mutex;
float current_limit;
+ float uvc_threshold;
gboolean running;
gboolean load_activated;
};
-SR_PRIV float zketech_ebd_usb_value_decode(uint8_t b1, uint8_t b2, float divisor);
-SR_PRIV void zketech_ebd_usb_value_encode(float voltage, uint8_t *b1, uint8_t *b2, float divisor);
-
/* Communication via serial. */
-SR_PRIV int zketech_ebd_usb_send(struct sr_serial_dev_inst *serial, uint8_t buf[], size_t count);
-SR_PRIV int zketech_ebd_usb_sendcfg(struct sr_serial_dev_inst *serial, struct dev_context *devc);
-SR_PRIV int zketech_ebd_usb_read_chars(struct sr_serial_dev_inst *serial,
- int count, uint8_t *buf);
+SR_PRIV int ebd_read_message(struct sr_serial_dev_inst *serial, size_t length,
+ uint8_t *buf);
/* Commands. */
-SR_PRIV int zketech_ebd_usb_init(struct sr_serial_dev_inst *serial, struct dev_context *devc);
-SR_PRIV int zketech_ebd_usb_loadstart(struct sr_serial_dev_inst *serial, struct dev_context *devc);
-SR_PRIV int zketech_ebd_usb_receive_data(int fd, int revents, void *cb_data);
-SR_PRIV int zketech_ebd_usb_stop(struct sr_serial_dev_inst *serial, struct dev_context *devc);
-SR_PRIV int zketech_ebd_usb_loadstop(struct sr_serial_dev_inst *serial, struct dev_context *devc);
+SR_PRIV int ebd_init(struct sr_serial_dev_inst *serial,
+ struct dev_context *devc);
+SR_PRIV int ebd_loadstart(struct sr_serial_dev_inst *serial,
+ struct dev_context *devc);
+SR_PRIV int ebd_receive_data(int fd, int revents, void *cb_data);
+SR_PRIV int ebd_stop(struct sr_serial_dev_inst *serial,
+ struct dev_context *devc);
+SR_PRIV int ebd_loadtoggle(struct sr_serial_dev_inst *serial,
+ struct dev_context *devc);
/* Configuration. */
-SR_PRIV int zketech_ebd_usb_get_current_limit(const struct sr_dev_inst *sdi,
- float *current);
-SR_PRIV int zketech_ebd_usb_set_current_limit(const struct sr_dev_inst *sdi,
- float current);
-SR_PRIV gboolean zketech_ebd_usb_current_is0(struct dev_context *devc);
-
-SR_PRIV void zketech_ebd_usb_buffer_debug(const char *message, uint8_t buf[], size_t count);
+SR_PRIV int ebd_get_current_limit(const struct sr_dev_inst *sdi, float *current);
+SR_PRIV int ebd_set_current_limit(const struct sr_dev_inst *sdi, float current);
+SR_PRIV int ebd_get_uvc_threshold(const struct sr_dev_inst *sdi, float *voltage);
+SR_PRIV int ebd_set_uvc_threshold(const struct sr_dev_inst *sdi, float voltage);
+SR_PRIV gboolean ebd_current_is0(struct dev_context *devc);
#endif