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