teleinfo: Minor cleanups.
This commit is contained in:
parent
76b4d4f422
commit
dafafb0e94
|
@ -53,10 +53,13 @@ static GSList *scan(GSList *options)
|
||||||
GSList *devices = NULL, *l;
|
GSList *devices = NULL, *l;
|
||||||
const char *conn = NULL, *serialcomm = NULL;
|
const char *conn = NULL, *serialcomm = NULL;
|
||||||
uint8_t buf[292];
|
uint8_t buf[292];
|
||||||
size_t len = sizeof(buf);
|
size_t len;
|
||||||
|
struct sr_config *src;
|
||||||
|
|
||||||
|
len = sizeof(buf);
|
||||||
|
|
||||||
for (l = options; l; l = l->next) {
|
for (l = options; l; l = l->next) {
|
||||||
struct sr_config *src = l->data;
|
src = l->data;
|
||||||
switch (src->key) {
|
switch (src->key) {
|
||||||
case SR_CONF_CONN:
|
case SR_CONF_CONN:
|
||||||
conn = g_variant_get_string(src->data, NULL);
|
conn = g_variant_get_string(src->data, NULL);
|
||||||
|
@ -266,8 +269,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data)
|
||||||
|
|
||||||
static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
|
static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
|
||||||
{
|
{
|
||||||
return std_serial_dev_acquisition_stop(sdi, cb_data, std_serial_dev_close,
|
return std_serial_dev_acquisition_stop(sdi, cb_data,
|
||||||
sdi->conn, LOG_PREFIX);
|
std_serial_dev_close, sdi->conn, LOG_PREFIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
SR_PRIV struct sr_dev_driver teleinfo_driver_info = {
|
SR_PRIV struct sr_dev_driver teleinfo_driver_info = {
|
||||||
|
@ -279,10 +282,12 @@ SR_PRIV struct sr_dev_driver teleinfo_driver_info = {
|
||||||
.scan = scan,
|
.scan = scan,
|
||||||
.dev_list = dev_list,
|
.dev_list = dev_list,
|
||||||
.dev_clear = dev_clear,
|
.dev_clear = dev_clear,
|
||||||
|
.config_get = NULL,
|
||||||
.config_set = config_set,
|
.config_set = config_set,
|
||||||
.config_list = config_list,
|
.config_list = config_list,
|
||||||
.dev_open = std_serial_dev_open,
|
.dev_open = std_serial_dev_open,
|
||||||
.dev_close = std_serial_dev_close,
|
.dev_close = std_serial_dev_close,
|
||||||
.dev_acquisition_start = dev_acquisition_start,
|
.dev_acquisition_start = dev_acquisition_start,
|
||||||
.dev_acquisition_stop = dev_acquisition_stop,
|
.dev_acquisition_stop = dev_acquisition_stop,
|
||||||
|
.priv = NULL,
|
||||||
};
|
};
|
||||||
|
|
|
@ -125,7 +125,7 @@ static gboolean teleinfo_parse_group(struct sr_dev_inst *sdi,
|
||||||
const uint8_t *group, char *optarif)
|
const uint8_t *group, char *optarif)
|
||||||
{
|
{
|
||||||
char label[9], data[13], control, cr;
|
char label[9], data[13], control, cr;
|
||||||
const char *str = (const char *) group;
|
const char *str = (const char *)group;
|
||||||
if (sscanf(str, "\x0A%8s %13s %c%c", label, data, &control, &cr) != 4
|
if (sscanf(str, "\x0A%8s %13s %c%c", label, data, &control, &cr) != 4
|
||||||
|| cr != CR)
|
|| cr != CR)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -139,12 +139,13 @@ static const uint8_t *teleinfo_parse_data(struct sr_dev_inst *sdi,
|
||||||
const uint8_t *buf, int len,
|
const uint8_t *buf, int len,
|
||||||
char *optarif)
|
char *optarif)
|
||||||
{
|
{
|
||||||
const uint8_t *group_start = memchr(buf, LF, len);
|
const uint8_t *group_start, *group_end;
|
||||||
|
|
||||||
|
group_start = memchr(buf, LF, len);
|
||||||
if (!group_start)
|
if (!group_start)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
const uint8_t *group_end = memchr(group_start, CR,
|
group_end = memchr(group_start, CR, len - (group_start - buf));
|
||||||
len - (group_start - buf));
|
|
||||||
if (!group_end)
|
if (!group_end)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -181,6 +182,7 @@ SR_PRIV int teleinfo_receive_data(int fd, int revents, void *cb_data)
|
||||||
struct sr_serial_dev_inst *serial;
|
struct sr_serial_dev_inst *serial;
|
||||||
const uint8_t *ptr, *next_ptr, *end_ptr;
|
const uint8_t *ptr, *next_ptr, *end_ptr;
|
||||||
int len;
|
int len;
|
||||||
|
int64_t time;
|
||||||
|
|
||||||
(void)fd;
|
(void)fd;
|
||||||
|
|
||||||
|
@ -220,7 +222,7 @@ SR_PRIV int teleinfo_receive_data(int fd, int revents, void *cb_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (devc->limit_msec) {
|
if (devc->limit_msec) {
|
||||||
int64_t time = (g_get_monotonic_time() - devc->start_time) / 1000;
|
time = (g_get_monotonic_time() - devc->start_time) / 1000;
|
||||||
if (time > (int64_t)devc->limit_msec) {
|
if (time > (int64_t)devc->limit_msec) {
|
||||||
sr_info("Requested time limit reached.");
|
sr_info("Requested time limit reached.");
|
||||||
sdi->driver->dev_acquisition_stop(sdi, devc->session_cb_data);
|
sdi->driver->dev_acquisition_stop(sdi, devc->session_cb_data);
|
||||||
|
|
Loading…
Reference in New Issue