Hi

here's a status update on the rigor-ds driver:

So far I managed to get the first readings. Displaying analog values in the 
console works. Putting them into a .sr file and reopening them does not seem to 
work. For the digital data this works fine, even opening in pulseview. 
Currently I have an issue with the time base (time is far too large). I will 
have a look into this later.

Note that, the “max 500 byte USB transfer bug" still exists and I had no time 
to look into this.

However, if I select the rigor-ds driver in pulseview, the following happens 
before is crashes:
[…]
sr: scpi_usbtmc: Successfully sent SCPI command: ':TRIG:EDGE:SLOP?'.
sr: scpi: Got response: 'NEG', length 3.
sr: rigol-ds: Current trigger slope NEG
sr: rigol-ds: ################ config_list

(process:34874): GLib-CRITICAL **: g_variant_ref: assertion 'value != NULL' 
failed
Process 34874 stopped
* thread #1: tid = 0x20f721, 0x00000001012b3db0 libglib-2.0.0.dylib`g_bit_lock 
+ 25, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, 
address=0x20)
    frame #0: 0x00000001012b3db0 libglib-2.0.0.dylib`g_bit_lock + 25
libglib-2.0.0.dylib`g_bit_lock + 25:
-> 0x1012b3db0:  movl   (%rbx), %ecx
   0x1012b3db2:  movl   %r14d, %edx
   0x1012b3db5:  orl    %ecx, %edx
   0x1012b3db7:  movl   %ecx, %eax
(lldb) bt
* thread #1: tid = 0x20f721, 0x00000001012b3db0 libglib-2.0.0.dylib`g_bit_lock 
+ 25, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, 
address=0x20)
  * frame #0: 0x00000001012b3db0 libglib-2.0.0.dylib`g_bit_lock + 25
    frame #1: 0x000000010130cdba libglib-2.0.0.dylib`g_variant_n_children + 28
    frame #2: 0x000000010130930f libglib-2.0.0.dylib`g_variant_iter_new + 63
    frame #3: 0x00000001011fb6d7 
libglibmm-2.4.1.dylib`Glib::VariantIter::VariantIter(Glib::VariantBase const&) 
+ 17
    frame #4: 0x0000000100027b14 
pulseview`pv::binding::Device::bind_enum(this=0x00000001080d5b88, 
name=0x00007fff5fbfcb68, gvar_list=<unavailable>, 
getter=pv::prop::Property::Getter at 0x00007fff5fbfced0, 
setter=pv::prop::Property::Setter at 0x00007fff5fbfcea0, 
printer=function<QString (Glib::VariantBase)> at 0x00007fff5fbfce70)>, 
std::__1::function<void (Glib::VariantBase)>, std::__1::function<QString 
(Glib::VariantBase)>) + 116 at device.cpp:152
    frame #5: 0x00000001000263d8 
pulseview`pv::binding::Device::Device(this=0x00000001080d5b88, 
configurable=shared_ptr<sigrok::Configurable> at 0x00007fff5fbfd028) + 2280 at 
device.cpp:109
    frame #6: 0x000000010003172e 
pulseview`pv::popups::DeviceOptions::DeviceOptions(this=0x00000001080d5b20, 
device=<unavailable>, parent=<unavailable>) + 142 at deviceoptions.cpp:42
    frame #7: 0x0000000100037417 
pulseview`pv::toolbars::MainBar::update_device_config_widgets(this=0x000000010a636e50)
 + 103 at mainbar.cpp:383
    frame #8: 0x000000010003731b 
pulseview`pv::toolbars::MainBar::update_device_list(this=<unavailable>) + 475 
at mainbar.cpp:200
    frame #9: 0x00000001000144ce 
pulseview`pv::MainWindow::on_actionConnect_triggered() [inlined] 
pv::MainWindow::update_device_list(this=<unavailable>) + 174 at 
mainwindow.cpp:508
    frame #10: 0x00000001000144c2 
pulseview`pv::MainWindow::on_actionConnect_triggered(this=<unavailable>) + 162 
at mainwindow.cpp:594
    frame #11: 0x00000001000734aa 
pulseview`pv::MainWindow::qt_static_metacall(_o=0x00007fff5fbff6f8, 
_c=<unavailable>, _id=<unavailable>, _a=<unavailable>) + 346 at 
moc_mainwindow.cxx:85
    frame #12: 0x0000000100073698 
pulseview`pv::MainWindow::qt_metacall(this=<unavailable>, _c=<unavailable>, 
_id=6, _a=<unavailable>) + 56 at moc_mainwindow.cxx:133
    frame #13: 0x0000000100eb49de QtCore`QMetaObject::activate(QObject*, 
QMetaObject const*, int, void**) + 1980
    frame #14: 0x00000001002915db QtGui`QAction::activate(QAction::ActionEvent) 
+ 227
    frame #15: 0x000000010061b581 
QtGui`QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, 
QAction*, QAction::ActionEvent, bool) + 77
    frame #16: 0x000000010061a336 QtGui`QMenuPrivate::activateAction(QAction*, 
QAction::ActionEvent, bool) + 470
    frame #17: 0x00000001002d822b QtGui`QWidget::event(QEvent*) + 687
    frame #18: 0x000000010061e80d QtGui`QMenu::event(QEvent*) + 617
    frame #19: 0x0000000100299032 
QtGui`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 194
    frame #20: 0x000000010029ac8a QtGui`QApplication::notify(QObject*, QEvent*) 
+ 2686
    frame #21: 0x0000000100007ce0 
pulseview`Application::notify(this=<unavailable>, receiver=<unavailable>, 
event=<unavailable>) + 16 at application.cpp:38
    frame #22: 0x0000000100ea00ce 
QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 118
    frame #23: 0x0000000100299910 
QtGui`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, 
QWidget*, QWidget**, QPointer<QWidget>&, bool) + 448
    frame #24: 0x00000001002512c6 QtGui`qt_mac_handleMouseEvent(NSEvent*, 
QEvent::Type, Qt::MouseButton, QWidget*, bool) + 1300
    frame #25: 0x00007fff8f157b5b AppKit`-[NSWindow _reallySendEvent:] + 756
    frame #26: 0x00007fff8ebe116e AppKit`-[NSWindow sendEvent:] + 446
    frame #27: 0x0000000100242497 QtGui`-[QCocoaPanel sendEvent:] + 113
    frame #28: 0x00007fff8eb93451 AppKit`-[NSApplication sendEvent:] + 4183
    frame #29: 0x000000010024dc0a QtGui`-[QNSApplication sendEvent:] + 97
    frame #30: 0x00007fff8ea1f608 AppKit`-[NSApplication run] + 711
    frame #31: 0x0000000100255f18 
QtGui`QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
+ 1522
    frame #32: 0x0000000100e9d6f1 
QtCore`QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 77
    frame #33: 0x0000000100e9d870 
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 370
    frame #34: 0x000000010061d2ab QtGui`QMenu::exec(QPoint const&, QAction*) + 
103
    frame #35: 0x0000000100653299 QtGui`QToolButtonPrivate::popupTimerDone() + 
1427
    frame #36: 0x0000000100653505 
QtGui`QToolButton::mousePressEvent(QMouseEvent*) + 209
    frame #37: 0x00000001002d8216 QtGui`QWidget::event(QEvent*) + 666
    frame #38: 0x00000001005a6257 QtGui`QAbstractButton::event(QEvent*) + 179
    frame #39: 0x0000000100299032 
QtGui`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 194
    frame #40: 0x000000010029ac8a QtGui`QApplication::notify(QObject*, QEvent*) 
+ 2686
    frame #41: 0x0000000100007ce0 
pulseview`Application::notify(this=<unavailable>, receiver=<unavailable>, 
event=<unavailable>) + 16 at application.cpp:38
    frame #42: 0x0000000100ea00ce 
QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 118
    frame #43: 0x0000000100299910 
QtGui`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, 
QWidget*, QWidget**, QPointer<QWidget>&, bool) + 448
    frame #44: 0x00000001002512c6 QtGui`qt_mac_handleMouseEvent(NSEvent*, 
QEvent::Type, Qt::MouseButton, QWidget*, bool) + 1300
    frame #45: 0x00007fff8f15aa18 AppKit`-[NSWindow _reallySendEvent:] + 12721
    frame #46: 0x00007fff8ebe116e AppKit`-[NSWindow sendEvent:] + 446
    frame #47: 0x0000000100249634 QtGui`-[QCocoaWindow sendEvent:] + 113
    frame #48: 0x00007fff8eb93451 AppKit`-[NSApplication sendEvent:] + 4183
    frame #49: 0x000000010024dc0a QtGui`-[QNSApplication sendEvent:] + 97
    frame #50: 0x00007fff8ea1f608 AppKit`-[NSApplication run] + 711
    frame #51: 0x0000000100255f18 
QtGui`QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
+ 1522
    frame #52: 0x0000000100e9d6f1 
QtCore`QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 77
    frame #53: 0x0000000100e9d870 
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 370
    frame #54: 0x0000000100ea051f QtCore`QCoreApplication::exec() + 199
    frame #55: 0x00000001000059f2 pulseview`main(argc=2, argv=<unavailable>) + 
1074 at main.cpp:164
    frame #56: 0x00007fff984685c9 libdyld.dylib`start + 1
    frame #57: 0x00007fff984685c9 libdyld.dylib`start + 1

Is this a bug of pulseview or of my driver?

Regards,
Juergen


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to