From cfa60e65873c1074d346f625b498470cbef94e9b Mon Sep 17 00:00:00 2001 From: James Amendolagine Date: Tue, 12 Nov 2024 13:42:05 -0800 Subject: [PATCH] Fixes for Linux --- Makefile | 284 +++++------------- Makefile.win | 201 +++++++++++++ src/MainView.cpp | 2 +- src/engine/ArduinoSerial.cpp | 17 +- src/engine/RecordingManager.cpp | 4 +- src/engine/RecordingManager.h | 2 +- src/engine/firmware/BSLFirmwareUpdater.cpp | 1 + .../firmware/BYBBootloaderController.cpp | 14 +- 8 files changed, 309 insertions(+), 216 deletions(-) create mode 100644 Makefile.win diff --git a/Makefile b/Makefile index d0e2e45..5a331a6 100644 --- a/Makefile +++ b/Makefile @@ -1,212 +1,92 @@ -# Compiler settings -CXX = g++ -CXXFLAGS = -g -Wall -std=gnu++11 -INCLUDE_DIRS = \ - -I./support/SDL2/include/SDL2 \ - -I./support/SDL2Image/include/SDL2 \ - -I./support \ - -I./support/curl/include \ - -I./src \ - -I./src/libraries \ - -I./src/engine \ - -I./src/engine/firmware \ - -I./src/widgets \ +CCX = g++ +CC = gcc -# Library paths and flags -LIB_DIRS = \ - -L./support/SDL2/lib \ - -L./support/SDL2Image/lib \ - -L./C/msys64/mingw32/lib \ - -L./support -LIBS = \ - -lmingw32 \ - -lSDL2main \ - -lSDL2 \ - -lSDL2_image \ - -lstdc++ \ - -mwindows \ - -luser32 \ - -lgdi32 \ - -lwinmm \ - -lsetupapi \ - -ldxguid \ - -lopengl32 \ - -lglu32 \ - -lcomdlg32 \ - -lhid \ - -lhidapi \ - -lBSL430 \ - -lbass \ - -llibcurl +TARGET = SpikeRecorder +TARGETDIR = SpikeRecorder -# Source files -SRCS = \ - ./support/GLee.c \ - ./src/main.cpp \ - ./src/widgets/Size.h \ - ./src/AnalysisAudioView.cpp \ - ./src/AnalysisAudioView.h \ - ./src/AnalysisPlots.cpp \ - ./src/AnalysisPlots.h \ - ./src/AnalysisTrainList.cpp \ - ./src/AnalysisTrainList.h \ - ./src/AnalysisView.cpp \ - ./src/AnalysisView.h \ - ./src/AudioView.cpp \ - ./src/AudioView.h \ - ./src/CalibrationWindow.cpp \ - ./src/CalibrationWindow.h \ - ./src/ColorDropDownList.cpp \ - ./src/ColorDropDownList.h \ - ./src/ConfigView.cpp \ - ./src/ConfigView.h \ - ./src/DropDownList.cpp \ - ./src/DropDownList.h \ - ./src/FFTView.cpp \ - ./src/FFTView.h \ - ./src/FirmwareUpdateView.cpp \ - ./src/FirmwareUpdateView.h \ - ./src/Game.cpp \ - ./src/Game.h \ - ./src/Log.cpp \ - ./src/Log.h \ - ./src/MainView.cpp \ - ./src/MainView.h \ - ./src/Paths.h \ - ./src/RecordingBar.cpp \ - ./src/RecordingBar.h \ - ./src/ThresholdPanel.cpp \ - ./src/ThresholdPanel.h \ - ./src/constants.h \ - ./src/defaults/DefaultConfig.cpp \ - ./src/defaults/DefaultConfig.h \ - ./src/engine/AnalysisManager.cpp \ - ./src/engine/AnalysisManager.h \ - ./src/engine/ArduinoSerial.cpp \ - ./src/engine/ArduinoSerial.h \ - ./src/engine/AudioInputConfig.cpp \ - ./src/engine/AudioInputConfig.h \ - ./src/engine/BASSErrors.cpp \ - ./src/engine/BASSErrors.h \ - ./src/engine/EkgBackend.cpp \ - ./src/engine/EkgBackend.h \ - ./src/engine/FFTBackend.cpp \ - ./src/engine/FFTBackend.h \ - ./src/engine/FileReadUtil.cpp \ - ./src/engine/FileReadUtil.h \ - ./src/engine/FileRecorder.cpp \ - ./src/engine/FileRecorder.h \ - ./src/engine/WavTxtRecorder.cpp \ - ./src/engine/WavTxtRecorder.h \ - ./src/engine/FilterBase.cpp \ - ./src/engine/FilterBase.h \ - ./src/engine/HIDUsbManager.cpp \ - ./src/engine/HIDUsbManager.h \ - ./src/engine/HighPassFilter.cpp \ - ./src/engine/HighPassFilter.h \ - ./src/engine/LowPassFilter.cpp \ - ./src/engine/LowPassFilter.h \ - ./src/engine/NotchFilter.cpp \ - ./src/engine/NotchFilter.h \ - ./src/engine/Player.cpp \ - ./src/engine/Player.h \ - ./src/engine/RecordingManager.cpp \ - ./src/engine/RecordingManager.h \ - ./src/engine/SampleBuffer.h \ - ./src/engine/SpikeAnalysis.cpp \ - ./src/engine/SpikeAnalysis.h \ - ./src/engine/SpikeSorter.cpp \ - ./src/engine/SpikeSorter.h \ - ./src/engine/firmware/BSLFirmwareUpdater.cpp \ - ./src/engine/firmware/BSLFirmwareUpdater.h \ - ./src/engine/firmware/BYBFirmwareVO.cpp \ - ./src/engine/firmware/BYBFirmwareVO.h \ - ./src/engine/firmware/FirmwareUpdater.cpp \ - ./src/engine/firmware/FirmwareUpdater.h \ - ./src/engine/firmware/BYBBootloaderController.h \ - ./src/engine/firmware/BYBBootloaderController.cpp \ - ./src/libraries/tinyxml2.cpp \ - ./src/libraries/tinyxml2.h \ - ./src/native/PathsWin.cpp \ - ./src/native/SerialPortsScan.h \ - ./src/native/SerialPortsScanWin.cpp \ - ./src/widgets/Application.cpp \ - ./src/widgets/Application.h \ - ./src/widgets/BitmapFontGL.cpp \ - ./src/widgets/BitmapFontGL.h \ - ./src/widgets/BoxLayout.cpp \ - ./src/widgets/BoxLayout.h \ - ./src/widgets/Color.h \ - ./src/widgets/DropDownList.cpp \ - ./src/widgets/DropDownList.h \ - ./src/widgets/ErrorBox.cpp \ - ./src/widgets/ErrorBox.h \ - ./src/widgets/Event.h \ - ./src/widgets/FileDialog.h \ - ./src/widgets/native/FileDialogWin.cpp \ - ./src/widgets/HorizontalColorPicker.cpp \ - ./src/widgets/HorizontalColorPicker.h \ - ./src/widgets/HorizontalNumberPicker.cpp \ - ./src/widgets/HorizontalNumberPicker.h \ - ./src/widgets/Label.cpp \ - ./src/widgets/Label.h \ - ./src/widgets/LayoutItem.cpp \ - ./src/widgets/LayoutItem.h \ - ./src/widgets/LoadTexture.cpp \ - ./src/widgets/LoadTexture.h \ - ./src/widgets/Painter.cpp \ - ./src/widgets/Painter.h \ - ./src/widgets/Plot.cpp \ - ./src/widgets/Plot.h \ - ./src/widgets/Point.h \ - ./src/widgets/PushButton.cpp \ - ./src/widgets/PushButton.h \ - ./src/widgets/RangeSelector.cpp \ - ./src/widgets/RangeSelector.h \ - ./src/widgets/Rect.h \ - ./src/widgets/ScrollBar.cpp \ - ./src/widgets/ScrollBar.h \ - ./src/widgets/SizePolicy.h \ - ./src/widgets/SwitchLayout.cpp \ - ./src/widgets/SwitchLayout.h \ - ./src/widgets/TabBar.cpp \ - ./src/widgets/TabBar.h \ - ./src/widgets/TextInput.cpp \ - ./src/widgets/TextInput.h \ - ./src/widgets/TextureGL.cpp \ - ./src/widgets/TextureGL.h \ - ./src/widgets/ToolTip.cpp \ - ./src/widgets/ToolTip.h \ - ./src/widgets/TouchDropDownList.cpp \ - ./src/widgets/TouchDropDownList.h \ - ./src/widgets/Widget.cpp \ - ./src/widgets/Widget.h \ - ./src/widgets/global.h \ - ./support/BSL430_dll.h \ - ./support/BSL_Definitions.h \ - ./support/CRC.cpp \ - ./support/CRC.h \ - ./support/bass.h \ - ./support/hidapi.h \ - ./support/mingw.thread.h \ - ./support/sigslot.h +OBJECTS = \ + src/engine/AudioInputConfig.o \ + src/CalibrationWindow.o \ + src/widgets/TouchDropDownList.o \ + src/widgets/HorizontalColorPicker.o \ + src/widgets/HorizontalNumberPicker.o \ + src/libraries/tinyxml2.o \ + src/engine/RecordingManager.o \ + src/engine/AnalysisManager.o \ + src/engine/FileRecorder.o \ + src/engine/Player.o \ + src/engine/ArduinoSerial.o \ + src/engine/SpikeSorter.o \ + src/engine/SpikeAnalysis.o \ + src/engine/BASSErrors.o \ + src/engine/FileReadUtil.o \ + src/engine/FFTBackend.o \ + src/engine/HIDUsbManager.o \ + src/engine/EkgBackend.o \ + src/engine/FilterBase.o \ + src/engine/HighPassFilter.o \ + src/engine/LowPassFilter.o \ + src/engine/NotchFilter.o \ + src/widgets/LayoutItem.o \ + src/widgets/BoxLayout.o \ + src/widgets/Widget.o \ + src/widgets/Painter.o \ + src/widgets/PushButton.o \ + src/widgets/DropDownList.o \ + src/widgets/ScrollBar.o \ + src/widgets/Application.o \ + src/widgets/BitmapFontGL.o \ + src/widgets/TextureGL.o \ + src/widgets/LoadTexture.o \ + src/widgets/Label.o \ + src/widgets/ErrorBox.o \ + src/widgets/TextInput.o \ + src/widgets/RangeSelector.o \ + src/widgets/SwitchLayout.o \ + src/widgets/ToolTip.o \ + src/widgets/Plot.o \ + src/widgets/TabBar.o \ + src/DropDownList.o \ + src/Log.o \ + src/Game.o \ + src/main.o \ + src/MainView.o \ + src/AudioView.o \ + src/ConfigView.o \ + src/AnalysisView.o \ + src/AnalysisAudioView.o \ + src/AnalysisTrainList.o \ + src/AnalysisPlots.o \ + src/RecordingBar.o \ + src/ColorDropDownList.o \ + src/FirmwareUpdateView.o \ + src/FFTView.o \ + src/engine/WavTxtRecorder.o \ + src/engine/firmware/BYBBootloaderController.o \ + src/ThresholdPanel.o -# Object files -OBJS = $(SRCS:.cpp=.o) +OBJECTS_LINUX = \ + src/widgets/native/FileDialogLinux.o \ + src/native/PathsLinux.o -# Target executable -TARGET = ./win/build/SpikeRecorder.exe +OBJECTS += $(OBJECTS_LINUX) -# Build rule -$(TARGET): $(OBJS) - $(CXX) $(CXXFLAGS) $(INCLUDE_DIRS) -o $@ $(OBJS) $(LIB_DIRS) $(LIBS) +CFLAGS = -g -O2 -Isrc -Isupport -Isrc/libraries -I. -Lsrc/support -Wall -DSIGSLOT_PURE_ISO --std=c++11 `sdl2-config --cflags` +LIBS = `sdl2-config --libs` -lSDL2_image -lGL -lGLU -lbass -lpthread -lhidapi-libusb + +%.o: %.c + $(CC) -o $@ -c $< $(CFLAGS) -# Compile rule %.o: %.cpp - $(CXX) $(CXXFLAGS) $(INCLUDE_DIRS) -c $< -o $@ + $(CCX) -o $@ -c $< $(CFLAGS) + +$(TARGET): $(OBJECTS) + $(CCX) -o $(TARGET) $(OBJECTS) $(CFLAGS) $(LIBS) +all: + $(TARGET) -# Clean rule clean: - rm -f $(OBJS) $(TARGET) + rm -rf $(TARGET) $(TARGET).exe $(OBJECTS) $(OBJECTS_LINUX) $(TARGETDIR).zip + rm -rf $(TARGET).app $(TARGETDIR) _resources.o -.PHONY: clean \ No newline at end of file +.PHONY: all clean diff --git a/Makefile.win b/Makefile.win new file mode 100644 index 0000000..5588c16 --- /dev/null +++ b/Makefile.win @@ -0,0 +1,201 @@ +CCX = g++ +CC = gcc + +# Library paths and flags +LIB_DIRS = \ + -L./support/SDL2/lib \ + -L./support/SDL2Image/lib \ + -L./C/msys64/mingw32/lib \ + -L./support +LIBS = \ + -lmingw32 \ + -lSDL2main \ + -lSDL2 \ + -lSDL2_image \ + -lstdc++ \ + -mwindows \ + -luser32 \ + -lgdi32 \ + -lwinmm \ + -lsetupapi \ + -ldxguid \ + -lopengl32 \ + -lglu32 \ + -lcomdlg32 \ + -lhid \ + -lhidapi \ + -lBSL430 \ + -lbass \ + -llibcurl + +# Source files +SRCS = \ + ./support/GLee.c \ + ./src/main.cpp \ + ./src/widgets/Size.h \ + ./src/AnalysisAudioView.cpp \ + ./src/AnalysisAudioView.h \ + ./src/AnalysisPlots.cpp \ + ./src/AnalysisPlots.h \ + ./src/AnalysisTrainList.cpp \ + ./src/AnalysisTrainList.h \ + ./src/AnalysisView.cpp \ + ./src/AnalysisView.h \ + ./src/AudioView.cpp \ + ./src/AudioView.h \ + ./src/CalibrationWindow.cpp \ + ./src/CalibrationWindow.h \ + ./src/ColorDropDownList.cpp \ + ./src/ColorDropDownList.h \ + ./src/ConfigView.cpp \ + ./src/ConfigView.h \ + ./src/DropDownList.cpp \ + ./src/DropDownList.h \ + ./src/FFTView.cpp \ + ./src/FFTView.h \ + ./src/FirmwareUpdateView.cpp \ + ./src/FirmwareUpdateView.h \ + ./src/Game.cpp \ + ./src/Game.h \ + ./src/Log.cpp \ + ./src/Log.h \ + ./src/MainView.cpp \ + ./src/MainView.h \ + ./src/Paths.h \ + ./src/RecordingBar.cpp \ + ./src/RecordingBar.h \ + ./src/ThresholdPanel.cpp \ + ./src/ThresholdPanel.h \ + ./src/constants.h \ + ./src/defaults/DefaultConfig.cpp \ + ./src/defaults/DefaultConfig.h \ + ./src/engine/AnalysisManager.cpp \ + ./src/engine/AnalysisManager.h \ + ./src/engine/ArduinoSerial.cpp \ + ./src/engine/ArduinoSerial.h \ + ./src/engine/AudioInputConfig.cpp \ + ./src/engine/AudioInputConfig.h \ + ./src/engine/BASSErrors.cpp \ + ./src/engine/BASSErrors.h \ + ./src/engine/EkgBackend.cpp \ + ./src/engine/EkgBackend.h \ + ./src/engine/FFTBackend.cpp \ + ./src/engine/FFTBackend.h \ + ./src/engine/FileReadUtil.cpp \ + ./src/engine/FileReadUtil.h \ + ./src/engine/FileRecorder.cpp \ + ./src/engine/FileRecorder.h \ + ./src/engine/WavTxtRecorder.cpp \ + ./src/engine/WavTxtRecorder.h \ + ./src/engine/FilterBase.cpp \ + ./src/engine/FilterBase.h \ + ./src/engine/HIDUsbManager.cpp \ + ./src/engine/HIDUsbManager.h \ + ./src/engine/HighPassFilter.cpp \ + ./src/engine/HighPassFilter.h \ + ./src/engine/LowPassFilter.cpp \ + ./src/engine/LowPassFilter.h \ + ./src/engine/NotchFilter.cpp \ + ./src/engine/NotchFilter.h \ + ./src/engine/Player.cpp \ + ./src/engine/Player.h \ + ./src/engine/RecordingManager.cpp \ + ./src/engine/RecordingManager.h \ + ./src/engine/SampleBuffer.h \ + ./src/engine/SpikeAnalysis.cpp \ + ./src/engine/SpikeAnalysis.h \ + ./src/engine/SpikeSorter.cpp \ + ./src/engine/SpikeSorter.h \ + ./src/engine/firmware/BSLFirmwareUpdater.cpp \ + ./src/engine/firmware/BSLFirmwareUpdater.h \ + ./src/engine/firmware/BYBFirmwareVO.cpp \ + ./src/engine/firmware/BYBFirmwareVO.h \ + ./src/engine/firmware/FirmwareUpdater.cpp \ + ./src/engine/firmware/FirmwareUpdater.h \ + ./src/engine/firmware/BYBBootloaderController.h \ + ./src/engine/firmware/BYBBootloaderController.cpp \ + ./src/libraries/tinyxml2.cpp \ + ./src/libraries/tinyxml2.h \ + ./src/native/PathsWin.cpp \ + ./src/native/SerialPortsScan.h \ + ./src/native/SerialPortsScanWin.cpp \ + ./src/widgets/Application.cpp \ + ./src/widgets/Application.h \ + ./src/widgets/BitmapFontGL.cpp \ + ./src/widgets/BitmapFontGL.h \ + ./src/widgets/BoxLayout.cpp \ + ./src/widgets/BoxLayout.h \ + ./src/widgets/Color.h \ + ./src/widgets/DropDownList.cpp \ + ./src/widgets/DropDownList.h \ + ./src/widgets/ErrorBox.cpp \ + ./src/widgets/ErrorBox.h \ + ./src/widgets/Event.h \ + ./src/widgets/FileDialog.h \ + ./src/widgets/native/FileDialogWin.cpp \ + ./src/widgets/HorizontalColorPicker.cpp \ + ./src/widgets/HorizontalColorPicker.h \ + ./src/widgets/HorizontalNumberPicker.cpp \ + ./src/widgets/HorizontalNumberPicker.h \ + ./src/widgets/Label.cpp \ + ./src/widgets/Label.h \ + ./src/widgets/LayoutItem.cpp \ + ./src/widgets/LayoutItem.h \ + ./src/widgets/LoadTexture.cpp \ + ./src/widgets/LoadTexture.h \ + ./src/widgets/Painter.cpp \ + ./src/widgets/Painter.h \ + ./src/widgets/Plot.cpp \ + ./src/widgets/Plot.h \ + ./src/widgets/Point.h \ + ./src/widgets/PushButton.cpp \ + ./src/widgets/PushButton.h \ + ./src/widgets/RangeSelector.cpp \ + ./src/widgets/RangeSelector.h \ + ./src/widgets/Rect.h \ + ./src/widgets/ScrollBar.cpp \ + ./src/widgets/ScrollBar.h \ + ./src/widgets/SizePolicy.h \ + ./src/widgets/SwitchLayout.cpp \ + ./src/widgets/SwitchLayout.h \ + ./src/widgets/TabBar.cpp \ + ./src/widgets/TabBar.h \ + ./src/widgets/TextInput.cpp \ + ./src/widgets/TextInput.h \ + ./src/widgets/TextureGL.cpp \ + ./src/widgets/TextureGL.h \ + ./src/widgets/ToolTip.cpp \ + ./src/widgets/ToolTip.h \ + ./src/widgets/TouchDropDownList.cpp \ + ./src/widgets/TouchDropDownList.h \ + ./src/widgets/Widget.cpp \ + ./src/widgets/Widget.h \ + ./src/widgets/global.h \ + ./support/BSL430_dll.h \ + ./support/BSL_Definitions.h \ + ./support/CRC.cpp \ + ./support/CRC.h \ + ./support/bass.h \ + ./support/hidapi.h \ + ./support/mingw.thread.h \ + ./support/sigslot.h + +# Object files +OBJS = $(SRCS:.cpp=.o) + +# Target executable +TARGET = ./win/build/SpikeRecorder.exe + +# Build rule +$(TARGET): $(OBJS) + $(CXX) $(CXXFLAGS) $(INCLUDE_DIRS) -o $@ $(OBJS) $(LIB_DIRS) $(LIBS) + +# Compile rule +%.o: %.cpp + $(CXX) $(CXXFLAGS) $(INCLUDE_DIRS) -c $< -o $@ + +# Clean rule +clean: + rm -f $(OBJS) $(TARGET) + +.PHONY: clean diff --git a/src/MainView.cpp b/src/MainView.cpp index 034a0fd..954d683 100644 --- a/src/MainView.cpp +++ b/src/MainView.cpp @@ -992,7 +992,7 @@ void MainView::paintEvent() { typeOfFirmwareUpgradeProcesss = TYPE_STM32_BOOTLOADER; } - FirmwareUpdateView *c = new FirmwareUpdateView(_manager, *_audioView, typeOfFirmwareUpgradeProcesss); + FirmwareUpdateView *c = new FirmwareUpdateView(_manager, *_audioView, typeOfFirmwareUpgradeProcesss, nullptr); c->setDeleteOnClose(true); c->setGeometry(rect()); Widgets::Application::getInstance()->addWindow(c); diff --git a/src/engine/ArduinoSerial.cpp b/src/engine/ArduinoSerial.cpp index 734be4f..4fa22a8 100644 --- a/src/engine/ArduinoSerial.cpp +++ b/src/engine/ArduinoSerial.cpp @@ -13,7 +13,7 @@ #include #include #include "RecordingManager.h" -#include "BYBBootloaderController.h" +#include "firmware/BYBBootloaderController.h" #define NUMBER_OF_TIMES_TO_SCAN_UNKNOWN_PORT 10 @@ -879,20 +879,22 @@ void ArduinoSerial::scanPortsThreadFunction(ArduinoSerial * selfRef, ArduinoSeri options.c_cflag &= ~(PARENB | CSTOPB); - //traditional setup of baud rates +#if defined(__linux__) + //traditional setup of baud rates //------------------------ traditional setup of baud rates for Mac and Linux -------------- - /*cfsetispeed(&options, B230400); + cfsetispeed(&options, B230400); cfsetospeed(&options, B230400); // set the new port options - tcsetattr(portDescriptor, TCSANOW, &options);*/ + tcsetattr(portDescriptor, TCSANOW, &options); //------------------------ traditional setup of baud rates for Mac and Linux -------------- //--------------------------- Patch for Mac for nonstandard bauds -------------------------- +#else speed_t speed = currentTestingBaudRate;//2000000; // Set 2Mbaud if (ioctl(portDescriptor, IOSSIOSPEED, &speed) == -1) { std::cout<<"Error setting speed"; } - +#endif /* @@ -1361,8 +1363,11 @@ void ArduinoSerial::scanPortsThreadFunction(ArduinoSerial * selfRef, ArduinoSeri std::cout<<"checkAllPortsForArduino Try port: "<portName.c_str()<<"\n"; #endif + + std::size_t found=list_it->portName.find(workingArduinoRef->currentPortName()); + // // SKIP scanning if we are currently use this port with workingArduinoRef // @@ -1430,6 +1435,8 @@ void ArduinoSerial::scanPortsThreadFunction(ArduinoSerial * selfRef, ArduinoSeri { // std::cout<<"Port: "<c_str()<<" read\n"; + + //askForBoardType(); askForBoardType(); #if defined(__APPLE__) || defined(__linux__) diff --git a/src/engine/RecordingManager.cpp b/src/engine/RecordingManager.cpp index ed30376..2afb0c9 100644 --- a/src/engine/RecordingManager.cpp +++ b/src/engine/RecordingManager.cpp @@ -8,7 +8,9 @@ #include #include - +#if defined(__linux__) + #include +#endif #if defined(_WIN32) #include diff --git a/src/engine/RecordingManager.h b/src/engine/RecordingManager.h index 6b09ce6..9859ee3 100644 --- a/src/engine/RecordingManager.h +++ b/src/engine/RecordingManager.h @@ -16,7 +16,7 @@ #include "HighPassFilter.h" #include "AudioInputConfig.h" #include "defaults/DefaultConfig.h" -#include "BYBBootloaderController.h" +#include "firmware/BYBBootloaderController.h" #if defined(_WIN32) #include "FirmwareUpdater.h" diff --git a/src/engine/firmware/BSLFirmwareUpdater.cpp b/src/engine/firmware/BSLFirmwareUpdater.cpp index 6514d78..0de2f23 100644 --- a/src/engine/firmware/BSLFirmwareUpdater.cpp +++ b/src/engine/firmware/BSLFirmwareUpdater.cpp @@ -9,6 +9,7 @@ #include #include #include +#include namespace BackyardBrains { diff --git a/src/engine/firmware/BYBBootloaderController.cpp b/src/engine/firmware/BYBBootloaderController.cpp index 875ad5f..5bd4cf3 100644 --- a/src/engine/firmware/BYBBootloaderController.cpp +++ b/src/engine/firmware/BYBBootloaderController.cpp @@ -128,9 +128,11 @@ namespace BackyardBrains { while (getline(&contents, &len, _file) != -1) { #elif _WIN32 - while (getline2(&contents, &len, _file) != -1) - { + while (getline2(&contents, &len, _file) != -1) + #elif (__linux__) + while (getline(&contents, &len, _file) != -1) #endif + { //printf("%s", contents); parseLineOfHex(contents); //free(contents); @@ -249,10 +251,10 @@ namespace BackyardBrains { #endif // defined #if defined(__linux__) int bits; - if (size == 0 && ioctl(fd, TIOCMGET, &bits) < 0) - { - //error - } + // if (size == 0 && ioctl(fd, TIOCMGET, &bits) < 0) + // { + // //error + // } #endif #if defined(_WIN32) COMSTAT st;