Liveplotter on OSX - No Anaconda

Hi All, I’ve always had trouble running liveplotter on my ODrivetool installation and curious if I could get some feedback. I have the same error as below running the liveplotter command from the command line or in the ODrivetool CLI. This error appears and a python icon opens in my OSX Dock attempting to launch, but not much more than that happens. As title implies this is a straight install from the command line without the use of anaconda. Using ODrive control utility v0.5.1

In [106]: start_liveplotter(lambda: [odrv0.axis0.encoder.pos_estimate])                                      
Out[106]: <fibre.utils.Event at 0x110b577f0>

In [107]: 2020-12-31 13:49:21.383 Python[29280:5258855] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. Called from (
	0   AppKit                              0x00007fff35f1c607 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 378
	1   AppKit                              0x00007fff35f199f7 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1479
	2   AppKit                              0x00007fff35f1942a -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
	3   _macosx.cpython-37m-darwin.so       0x000000010ebb66b0 -[Window initWithContentRect:styleMask:backing:defer:withManager:] + 80
	4   _macosx.cpython-37m-darwin.so       0x000000010ebb9bc7 FigureManager_init + 327
	5   Python                              0x00000001066f0f23 wrap_init + 12
	6   Python                              0x00000001066b7cd9 wrapperdescr_call + 337
	7   Python                              0x00000001066b1dd8 _PyObject_FastCallKeywords + 378
	8   Python                              0x000000010674a6f9 call_function + 521
	9   Python                              0x0000000106747437 _PyEval_EvalFrameDefault + 28173
	10  Python                              0x00000001066b2380 function_code_fastcall + 116
	11  Python                              0x00000001066b2cf2 _PyObject_Call_Prepend + 143
	12  Python                              0x00000001066f0e91 slot_tp_init + 80
	13  Python                              0x00000001066eda7e type_call + 178
	14  Python                              0x00000001066b1dd8 _PyObject_FastCallKeywords + 378
	15  Python                              0x000000010674a6f9 call_function + 521
	16  Python                              0x0000000106747437 _PyEval_EvalFrameDefault + 28173
	17  Python                              0x00000001066b2380 function_code_fastcall + 116
	18  Python                              0x000000010674a873 call_function + 899
	19  Python                              0x0000000106747437 _PyEval_EvalFrameDefault + 28173
	20  Python                              0x000000010674b0af _PyEval_EvalCodeWithName + 1898
	21  Python                              0x00000001066b1bae _PyFunction_FastCallDict + 493
	22  Python                              0x00000001066b2cf2 _PyObject_Call_Prepend + 143
	23  Python                              0x00000001066b20b1 PyObject_Call + 136
	24  Python                              0x00000001067477f7 _PyEval_EvalFrameDefault + 29133
	25  Python                              0x000000010674b0af _PyEval_EvalCodeWithName + 1898
	26  Python                              0x00000001066b1f68 _PyFunction_FastCallKeywords + 248
	27  Python                              0x000000010674a873 call_function + 899
	28  Python                              0x0000000106747437 _PyEval_EvalFrameDefault + 28173
	29  Python                              0x000000010674b0af _PyEval_EvalCodeWithName + 1898
	30  Python                              0x00000001066b1bae _PyFunction_FastCallDict + 493
	31  Python                              0x00000001067477f7 _PyEval_EvalFrameDefault + 29133
	32  Python                              0x00000001066b2380 function_code_fastcall + 116
	33  Python                              0x000000010674a873 call_function + 899
	34  Python                              0x000000010674741d _PyEval_EvalFrameDefault + 28147
	35  Python                              0x00000001066b2380 function_code_fastcall + 116
	36  Python                              0x000000010674a873 call_function + 899
	37  Python                              0x000000010674741d _PyEval_EvalFrameDefault + 28147
	38  Python                              0x00000001066b2380 function_code_fastcall + 116
	39  Python                              0x00000001066b2cf2 _PyObject_Call_Prepend + 143
	40  Python                              0x00000001066b20b1 PyObject_Call + 136
	41  Python                              0x00000001067b0a99 t_bootstrap + 71
	42  libsystem_pthread.dylib             0x00007fff64a402eb _pthread_body + 126
	43  libsystem_pthread.dylib             0x00007fff64a43249 _pthread_start + 66
	44  libsystem_pthread.dylib             0x00007fff64a3f40d thread_start + 13
)
2020-12-31 13:49:21.598 Python[29280:5258855] WARNING: nextEventMatchingMask should only be called from the Main Thread! This will throw an exception in the future.

I am having exactly the same issue.

I haven’t found a solution to this @nomas . We’ve just been using arduino liveplottler instead to reading odrive values over serial. Not ideal, but it works out of the box if you’re using serial communication.

same exact issue :frowning: Hope someone can help out with this

Sorry, Liveplotter doesn’t work on OSX. Try the GUI or write a custom plotter :slight_smile: