Skip to content

Commit 26dca5c

Browse files
committed
Start tidying up some redundant code
1 parent f2520b9 commit 26dca5c

File tree

1 file changed

+21
-41
lines changed

1 file changed

+21
-41
lines changed

tools/logic/sigrok-rdm-sniffer.cpp

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ DEFINE_uint32(sigrok_samples, 200, "Set the Sigrok sample count.");
9999
DEFINE_uint32(sigrok_time, 2000, "Set the Sigrok sample time in ms.");
100100
DEFINE_string(sigrok_device, "demo", "Set the Sigrok device to use.");
101101

102+
#ifdef HAVE_LIBSIGROK_DEV_INST_OPAQUE
103+
#define SIGROK_DRIVER_FROM_INSTANCE(sdi) sr_dev_inst_driver_get(sdi)
104+
#else
105+
#define SIGROK_DRIVER_FROM_INSTANCE(sdi) sdi->driver
106+
#endif // HAVE_LIBSIGROK_DEV_INST_OPAQUE
107+
102108
//void OnReadData(U64 device_id, U8 *data, uint32_t data_length,
103109
// void *user_data);
104110
//void OnError(U64 device_id, void *user_data);
@@ -148,8 +154,6 @@ class LogicReader {
148154
CommandPrinter m_command_printer;
149155
Mutex m_data_mu;
150156
// std::queue<U8*> m_free_data;
151-
//uint8_t* copy_data;
152-
uint8_t copy_data[5000000];
153157

154158

155159
void ProcessData(uint8_t *data, uint64_t data_length);
@@ -164,11 +168,7 @@ class LogicReader {
164168
static void sigrok_feed_callback(const struct sr_dev_inst *sdi,
165169
const struct sr_datafeed_packet *packet,
166170
void *cb_data) {
167-
#ifdef HAVE_LIBSIGROK_DEV_INST_OPAQUE
168-
sr_dev_driver *driver = sr_dev_inst_driver_get(sdi);
169-
#else
170-
sr_dev_driver *driver = sdi->driver;
171-
#endif // HAVE_LIBSIGROK_DEV_INST_OPAQUE
171+
sr_dev_driver *driver = SIGROK_DRIVER_FROM_INSTANCE(sdi);
172172

173173
OLA_DEBUG << "Got feed callback for " << driver->name;
174174

@@ -337,32 +337,20 @@ void *SigrokThread::Run() {
337337
}
338338

339339
GVariant *gvar;
340-
sr_config_get(
341-
#ifdef HAVE_LIBSIGROK_DEV_INST_OPAQUE
342-
sr_dev_inst_driver_get(sdi),
343-
#else
344-
sdi->driver,
345-
#endif // HAVE_LIBSIGROK_DEV_INST_OPAQUE
346-
sdi, NULL, SR_CONF_SAMPLERATE, &gvar);
340+
sr_config_get(SIGROK_DRIVER_FROM_INSTANCE(sdi), sdi, NULL, SR_CONF_SAMPLERATE, &gvar);
347341
OLA_INFO << "Initial sample rate is " << g_variant_get_uint64(gvar) << "Hz";
348342
g_variant_unref(gvar);
349343

350-
if ((ret = sr_config_set(
351-
sdi, NULL, SR_CONF_SAMPLERATE,
344+
if ((ret = sr_config_set(sdi, NULL, SR_CONF_SAMPLERATE,
352345
g_variant_new_uint64(FLAGS_sample_rate))) != SR_OK) {
353346
OLA_FATAL << "Error setting config sample rate via libsigrok driver "
354347
<< driver->name << " (" << sr_strerror_name(ret) << "): "
355348
<< sr_strerror(ret);
356349
return NULL;
357350
}
358351

359-
sr_config_get(
360-
#ifdef HAVE_LIBSIGROK_DEV_INST_OPAQUE
361-
sr_dev_inst_driver_get(sdi),
362-
#else
363-
sdi->driver,
364-
#endif // HAVE_LIBSIGROK_DEV_INST_OPAQUE
365-
sdi, NULL, SR_CONF_SAMPLERATE, &gvar);
352+
sr_config_get(SIGROK_DRIVER_FROM_INSTANCE(sdi), sdi, NULL,
353+
SR_CONF_SAMPLERATE, &gvar);
366354
OLA_INFO << "New sample rate is " << g_variant_get_uint64(gvar) << "Hz";
367355
g_variant_unref(gvar);
368356

@@ -373,15 +361,16 @@ void *SigrokThread::Run() {
373361
// return NULL;
374362
// }
375363

376-
/* if (sr_dev_has_option(sdi, SR_CONF_LIMIT_MSEC)) {
364+
if (sr_dev_has_option(sdi, SR_CONF_LIMIT_MSEC)) {
377365
gvar = g_variant_new_uint64(FLAGS_sigrok_time);
378366
if (sr_config_set(sdi, NULL, SR_CONF_LIMIT_MSEC, gvar) != SR_OK) {
379367
OLA_FATAL << "Failed to configure time limit.";
380368
return NULL;
381369
}
382370
} else if (sr_dev_has_option(sdi, SR_CONF_SAMPLERATE)) {
383371
// Convert to samples based on the samplerate.
384-
sr_config_get(sdi->driver, sdi, NULL, SR_CONF_SAMPLERATE, &gvar);
372+
sr_config_get(SIGROK_DRIVER_FROM_INSTANCE(sdi), sdi, NULL,
373+
SR_CONF_SAMPLERATE, &gvar);
385374
uint64_t limit_samples = (g_variant_get_uint64(gvar) *
386375
(FLAGS_sigrok_time / (uint64_t)1000));
387376
g_variant_unref(gvar);
@@ -394,21 +383,21 @@ void *SigrokThread::Run() {
394383
OLA_FATAL << "Failed to configure time-based sample limit.";
395384
return NULL;
396385
}
397-
}*/
386+
}
398387

399-
// Just samples based
388+
/* // Just samples based
400389
gvar = g_variant_new_uint64(FLAGS_sigrok_samples);
401390
if (sr_config_set(sdi, NULL, SR_CONF_LIMIT_SAMPLES, gvar) != SR_OK) {
402391
OLA_FATAL << "Failed to configure time-based sample limit.";
403392
return NULL;
404-
}
393+
}*/
405394

406395
#ifdef HAVE_LIBSIGROK_CONTEXT
407396
if ((ret = sr_session_datafeed_callback_add(sr_sess, sigrok_feed_callback,
408-
&m_reader)) != SR_OK) {
397+
m_reader)) != SR_OK) {
409398
#else
410399
if ((ret = sr_session_datafeed_callback_add(sigrok_feed_callback,
411-
&m_reader)) != SR_OK) {
400+
m_reader)) != SR_OK) {
412401
#endif // HAVE_LIBSIGROK_SESSION
413402
OLA_FATAL << "Error adding session datafeed callback via libsigrok ("
414403
<< sr_strerror_name(ret) << "): " << sr_strerror(ret);
@@ -527,19 +516,11 @@ void LogicReader::DataReceived(uint8_t *data, uint64_t data_length) {
527516
// for (unsigned int i = 0 ; i < data_length; i++) {
528517
// OLA_DEBUG << "Got sample (before) " << ToHex(data[i]);
529518
// }
530-
OLA_DEBUG << "Copied...";
531-
//uint8_t* copy_data;
532-
//copy_data = new uint8_t[data_length];
533-
//copy_data = (uint8_t*) malloc(data_length);
534-
memcpy(copy_data, data, data_length);
535519
//ola::strings::FormatData(&std::cout, copy_data, data_length);
536520
// OLA_DEBUG << "Got " << logic->length << " samples";
537521
OLA_DEBUG << "Got " << data_length << " samples";
538-
// TODO(Peter): The callback segfaults, but this works...
539-
LogicReader::ProcessData(copy_data, data_length);
540-
// m_ss->Execute(
541-
// NewSingleCallback(this, &LogicReader::ProcessData, data, data_length));
542-
// NewSingleCallback(this, &LogicReader::ProcessData, copy_data, data_length));
522+
m_ss->Execute(
523+
NewSingleCallback(this, &LogicReader::ProcessData, data, data_length));
543524
// NewSingleCallback(this, &LogicReader::ProcessData, data_length));
544525
// NewSingleCallback(this, &LogicReader::ProcessData, logic));
545526
// for (unsigned int i = 0 ; i < data_length; i++) {
@@ -599,7 +580,6 @@ void LogicReader::ProcessData(uint8_t *data, uint64_t data_length) {
599580
// OLA_DEBUG << "Got sample " << ToHex(data[i]);
600581
// }
601582
m_signal_processor.Process(data, data_length, 0x01);
602-
//m_signal_processor.Process(copy_data, data_length, 0x01);
603583
// DevicesManagerInterface::DeleteU8ArrayPtr(data);
604584

605585
/*

0 commit comments

Comments
 (0)