diff --git a/.gitignore b/.gitignore index 3e221196..c3f5a49a 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,9 @@ Matlab_Octave_API/___librador/demo/librademo/librademo *.mex Librador_API/___librador/MATLAB_Octave/octave-workspace + +Librador_API/___librador/librador_shared_library/Makefile + +Librador_API/___librador/demo_qt/librademo/librademo + +Librador_API/___librador/librador_shared_library/a\.out diff --git a/Librador_API/___librador/MATLAB_Octave/C/librador_compile.m b/Librador_API/___librador/MATLAB_Octave/C/librador_compile.m index d8241251..12c2a854 100644 --- a/Librador_API/___librador/MATLAB_Octave/C/librador_compile.m +++ b/Librador_API/___librador/MATLAB_Octave/C/librador_compile.m @@ -1,7 +1,7 @@ function [] = librador_compile(fname_no_dot_cpp, idename) fprintf("\n\n\nCompiling %s.cpp...\n\n\n", fname_no_dot_cpp); fflush(stdout); - mex(['-DCOMPILE_FOR_' idename], '-I../../../Desktop_Interface/build_linux/libusb', '-I../librador_shared_library', '-lrador', '-L../librador_shared_library', ['C/mexsrc/' fname_no_dot_cpp '.cpp']) + mex(['-DCOMPILE_FOR_' idename], '-I../../../Desktop_Interface/build_linux/libusb', '-I../librador_shared_library', '-lrador', '-L../librador_shared_library', '-Wl,-rpath=../librador_shared_library', ['C/mexsrc/' fname_no_dot_cpp '.cpp']) copyfile([fname_no_dot_cpp '.mex'], 'C/mex_outputs') delete([fname_no_dot_cpp '.mex']) copyfile([fname_no_dot_cpp '.o'], 'C/mex_outputs') diff --git a/Librador_API/___librador/demo_qt/librademo/librademo b/Librador_API/___librador/demo_qt/librademo/librademo index d03b031e..2f21de8a 100755 Binary files a/Librador_API/___librador/demo_qt/librademo/librademo and b/Librador_API/___librador/demo_qt/librademo/librademo differ diff --git a/Librador_API/___librador/librador_shared_library/Makefile b/Librador_API/___librador/librador_shared_library/Makefile index a86ccce7..06843cba 100644 --- a/Librador_API/___librador/librador_shared_library/Makefile +++ b/Librador_API/___librador/librador_shared_library/Makefile @@ -35,7 +35,7 @@ MOVE = mv -f TAR = tar -cf COMPRESS = gzip -9f DISTNAME = rador1.0.0 -DISTDIR = /home/esposch/Git/Labrador/Matlab_Octave_API/___librador/librador/.tmp/rador1.0.0 +DISTDIR = /home/esposch/Git/Labrador/Librador_API/___librador/librador_shared_library/.tmp/rador1.0.0 LINK = g++ LFLAGS = -Wl,-O1 -Wl,-rpath,/home/esposch/Qt/5.10.0/gcc_64/lib -shared -Wl,-soname,librador.so.1 LIBS = $(SUBLIBS) -L../../../Desktop_Interface/build_linux/libusb -lusb-1.0 -L../../../Desktop_Interface/build_linux/libdfuprog/lib/x64 -ldfuprog-0.9 -L/home/esposch/Qt/5.10.0/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread @@ -738,37 +738,7 @@ librador.o: librador.cpp librador.h \ /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qversiontagging.h \ librador_internal.h \ usbcallhandler.h \ - ../../../Desktop_Interface/build_linux/libusb/libusb.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/QThread \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qthread.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qobject.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qobjectdefs.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qnamespace.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qobjectdefs_impl.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstring.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qchar.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qbytearray.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qrefcount.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qarraydata.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstringliteral.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstringalgorithms.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstringview.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstringbuilder.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qlist.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qalgorithms.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qiterator.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qhashfunctions.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qpair.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qbytearraylist.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstringlist.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qregexp.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qstringmatcher.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qcoreevent.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qscopedpointer.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qmetatype.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qvarlengtharray.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qcontainerfwd.h \ - /home/esposch/Qt/5.10.0/gcc_64/include/QtCore/qobject_impl.h + ../../../Desktop_Interface/build_linux/libusb/libusb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o librador.o librador.cpp o1buffer.o: o1buffer.cpp o1buffer.h diff --git a/Librador_API/___librador/librador_shared_library/build_independent b/Librador_API/___librador/librador_shared_library/build_independent new file mode 100755 index 00000000..8d3ac6a3 --- /dev/null +++ b/Librador_API/___librador/librador_shared_library/build_independent @@ -0,0 +1,25 @@ +!#/bin/sh + +#Clean Up +rm -f librador.o o1buffer.o usbcallhandler.o + +#Build Librador main object +g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DLIBRADOR_LIBRARY -DPLATFORM_LINUX -I. -I../../../Desktop_Interface -I../../../Desktop_Interface/build_linux/libusb -I../../../Desktop_Interface/build_linux/libdfuprog/include -I. -isystem /usr/include/libdrm -o librador.o librador.cpp + +#Build O1buffer +g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DLIBRADOR_LIBRARY -DPLATFORM_LINUX -DQT_NO_DEBUG -I. -I../../../Desktop_Interface -I../../../Desktop_Interface/build_linux/libusb -I../../../Desktop_Interface/build_linux/libdfuprog/include -I. -isystem /usr/include/libdrm -o o1buffer.o o1buffer.cpp + +#Build USB Call Handler +g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DLIBRADOR_LIBRARY -DPLATFORM_LINUX -I. -I../../../Desktop_Interface -I../../../Desktop_Interface/build_linux/libusb -I../../../Desktop_Interface/build_linux/libdfuprog/include -I. -isystem /usr/include/libdrm -I/home/esposch/Qt/5.10.0/gcc_64/mkspecs/linux-g++ -o usbcallhandler.o usbcallhandler.cpp + +#??? +rm -f librador.so.1.0.0 librador.so librador.so.1 librador.so.1.0 + +#Build main shared lib +g++ -Wl,-O1 -Wl,-rpath,/home/esposch/Qt/5.10.0/gcc_64/lib -shared -Wl,-soname,librador.so.1 -o librador.so.1.0.0 librador.o o1buffer.o usbcallhandler.o -L../../../Desktop_Interface/build_linux/libusb -lusb-1.0 -L../../../Desktop_Interface/build_linux/libdfuprog/lib/x64 -ldfuprog-0.9 -lGL -lpthread + +#make symbolic links +ln -s librador.so.1.0.0 librador.so +ln -s librador.so.1.0.0 librador.so.1 +ln -s librador.so.1.0.0 librador.so.1.0 + diff --git a/Librador_API/___librador/librador_shared_library/librador.cpp b/Librador_API/___librador/librador_shared_library/librador.cpp index 18d0211f..a9f054e9 100644 --- a/Librador_API/___librador/librador_shared_library/librador.cpp +++ b/Librador_API/___librador/librador_shared_library/librador.cpp @@ -3,7 +3,6 @@ #include "usbcallhandler.h" #include -#include #include Librador::Librador() diff --git a/Librador_API/___librador/librador_shared_library/librador.h b/Librador_API/___librador/librador_shared_library/librador.h index d998ffd8..657eb645 100644 --- a/Librador_API/___librador/librador_shared_library/librador.h +++ b/Librador_API/___librador/librador_shared_library/librador.h @@ -2,6 +2,8 @@ #define LIBRADOR_H #include "librador_global.h" +#include +#include int LIBRADORSHARED_EXPORT librador_init(); int LIBRADORSHARED_EXPORT librador_exit(); @@ -39,7 +41,7 @@ uint8_t LIBRADORSHARED_EXPORT librador_get_device_firmware_variant(); std::vector * LIBRADORSHARED_EXPORT librador_get_analog_data(int channel, double timeWindow_seconds, double sample_rate_hz, double delay_seconds, int filter_mode); std::vector * LIBRADORSHARED_EXPORT librador_get_analog_data_sincelast(int channel, double timeWindow_max_seconds, double sample_rate_hz, double delay_seconds, int filter_mode); -std::vector * librador_get_digital_data(int channel, double timeWindow_seconds, double sample_rate_hz, double delay_seconds); +std::vector * LIBRADORSHARED_EXPORT librador_get_digital_data(int channel, double timeWindow_seconds, double sample_rate_hz, double delay_seconds); //TODO: flashFirmware(); diff --git a/Librador_API/___librador/librador_shared_library/librador_global.h b/Librador_API/___librador/librador_shared_library/librador_global.h index a146b106..f3c38eeb 100644 --- a/Librador_API/___librador/librador_shared_library/librador_global.h +++ b/Librador_API/___librador/librador_shared_library/librador_global.h @@ -1,7 +1,17 @@ #ifndef LIBRADOR_GLOBAL_H #define LIBRADOR_GLOBAL_H -#include +#ifdef FORCE_COMPILATION_FOR_QT5 + #include +#else + #ifdef _WIN32 | _WIN64 + #define Q_DECL_EXPORT __declspec(dllexport) + #define Q_DECL_IMPORT __declspec(dllimport) + #else + #define Q_DECL_EXPORT + #define Q_DECL_IMPORT + #endif +#endif #if defined(LIBRADOR_LIBRARY) # define LIBRADORSHARED_EXPORT Q_DECL_EXPORT