Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97a3f1114a | ||
|
|
01ba3713f9 | ||
|
|
cc18c175b5 | ||
|
|
cafa320e9e | ||
|
|
c32bfde94e | ||
|
|
129b7e0ee7 | ||
|
|
0fa18290dd |
5
emulator/.gitignore
vendored
5
emulator/.gitignore
vendored
@@ -5,8 +5,9 @@ qt/*.o
|
|||||||
qt/*.a
|
qt/*.a
|
||||||
qt/ui_*
|
qt/ui_*
|
||||||
qt/moc_*
|
qt/moc_*
|
||||||
qt/Makefile
|
qt/Makefile*
|
||||||
|
qt/debug
|
||||||
|
qt/release
|
||||||
|
|
||||||
libs/*/obj
|
libs/*/obj
|
||||||
libs/*/*.a
|
libs/*/*.a
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ QT_DIR=./qt
|
|||||||
COMMON_DIR=../common
|
COMMON_DIR=../common
|
||||||
|
|
||||||
#Tools
|
#Tools
|
||||||
CC=gcc -fdiagnostics-color=auto
|
CC=gcc #-fdiagnostics=auto
|
||||||
GDB=gdb
|
GDB=gdb
|
||||||
|
|
||||||
|
|
||||||
@@ -24,17 +24,22 @@ INCLUDES:=$(addprefix -I,$(INCLUDES))
|
|||||||
QT_LIB=$(QT_DIR)/libemulatorqt.a
|
QT_LIB=$(QT_DIR)/libemulatorqt.a
|
||||||
|
|
||||||
|
|
||||||
CPPFLAGS= -march=x86-64 -mtune=generic -fPIC $(INCLUDES)
|
CPPFLAGS= -march=x86-64 -mtune=generic #-fPIC
|
||||||
CFLAGS= -O0 -g -std=c99
|
CPPFLAGS+= $(INCLUDES)
|
||||||
|
CFLAGS= -O0 -g -std=c99 -mwindows
|
||||||
|
|
||||||
|
|
||||||
LIBS= pixy usb-1.0 boost_system boost_timer boost_chrono
|
LIBS= emulatorqt pixy usb-1.0
|
||||||
LIBS+=Qt5Core Qt5Gui Qt5Widgets emulatorqt m stdc++
|
LIBS+= boost_system-mgw49-mt-1_58 boost_timer-mgw49-mt-1_58 boost_chrono-mgw49-mt-1_58
|
||||||
|
LIBS+= Qt5Core Qt5Gui Qt5Widgets m stdc++
|
||||||
|
|
||||||
|
LDFLAGS= -static-libgcc -static-libstdc++ #-Wl,-t -Wl,--Map=a.map
|
||||||
LDFLAGS= -L$(QT_DIR) $(addprefix -l,$(LIBS))
|
LDFLAGS+= -L$(QT_DIR)
|
||||||
LDFLAGS+= -L$(LIB_DIR)/Pixy
|
LDFLAGS+= -L$(LIB_DIR)/Pixy
|
||||||
|
LDFLAGS+= -L$(LIB_DIR)/boost/lib
|
||||||
|
LDFLAGS+= -LC:/Qt/5.4/mingw491_32/lib
|
||||||
|
LDFLAGS+= -L$(LIB_DIR)/Pixy/windows
|
||||||
|
LDFLAGS+= $(addprefix -l,$(LIBS))
|
||||||
|
|
||||||
#Finding Input files
|
#Finding Input files
|
||||||
CFILES=$(shell find . -maxdepth 1 -name '*.c')
|
CFILES=$(shell find . -maxdepth 1 -name '*.c')
|
||||||
@@ -58,7 +63,7 @@ debug: all
|
|||||||
$(GDB) ./build/emulator
|
$(GDB) ./build/emulator
|
||||||
|
|
||||||
$(QT_LIB):
|
$(QT_LIB):
|
||||||
cd $(QT_DIR) && qmake &&make
|
cd $(QT_DIR) && qmake && $(MAKE)
|
||||||
|
|
||||||
#objects to elf
|
#objects to elf
|
||||||
$(BUILD_DIR)/$(TARGET): $(OBJS) $(COMMON_OBJS) $(QT_LIB)
|
$(BUILD_DIR)/$(TARGET): $(OBJS) $(COMMON_OBJS) $(QT_LIB)
|
||||||
@@ -83,7 +88,7 @@ $(OBJ_DIR)/%.o: $(COMMON_DIR)/%.c
|
|||||||
|
|
||||||
#Clean Obj files and builded stuff
|
#Clean Obj files and builded stuff
|
||||||
clean:
|
clean:
|
||||||
cd $(QT_DIR) && $(MAKE) clean && $(RM) Makefile && $(RM) *.a
|
cd $(QT_DIR) && $(MAKE) clean && $(RM) Makefile* && $(RM) *.a && $(RMDIR) debug release
|
||||||
$(RMDIR) $(BUILD_DIR) $(OBJ_DIR)
|
$(RMDIR) $(BUILD_DIR) $(OBJ_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,11 +17,13 @@ OBJ_DIR=./obj
|
|||||||
#Architecture flags
|
#Architecture flags
|
||||||
|
|
||||||
#Compiler, Linker Options
|
#Compiler, Linker Options
|
||||||
CPPFLAGS=-I$(INC_DIR) -D__LINUX__=1 -DHOST=1 #-DDEBUG=1
|
CPPFLAGS=-I$(INC_DIR) -DHOST=1 #-D__LINUX__=1 -DDEBUG=1
|
||||||
CFLAGS=$(ARCH_FLAGS) -O0 -g #-ffunction-sections -fdata-sections -g
|
CFLAGS=$(ARCH_FLAGS) -O0 -g #-ffunction-sections -fdata-sections -g
|
||||||
#CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4 -mthumb-interwork
|
#CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4 -mthumb-interwork
|
||||||
#CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
|
#CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
|
||||||
CFLAGS+=-I/usr/include/libusb-1.0
|
CFLAGS+=-I/usr/include/libusb-1.0
|
||||||
|
CFLAGS+=-I../boost/include/
|
||||||
|
CFLAGS+=-I./windows/
|
||||||
|
|
||||||
#Finding Input files
|
#Finding Input files
|
||||||
CFILES=$(shell find $(SRC_DIR) -name '*.cpp')
|
CFILES=$(shell find $(SRC_DIR) -name '*.cpp')
|
||||||
|
|||||||
BIN
emulator/libs/Pixy/windows/libusb-1.0.dll
Normal file
BIN
emulator/libs/Pixy/windows/libusb-1.0.dll
Normal file
Binary file not shown.
BIN
emulator/libs/Pixy/windows/libusb-1.0.dll.a
Normal file
BIN
emulator/libs/Pixy/windows/libusb-1.0.dll.a
Normal file
Binary file not shown.
1970
emulator/libs/Pixy/windows/libusb.h
Normal file
1970
emulator/libs/Pixy/windows/libusb.h
Normal file
File diff suppressed because it is too large
Load Diff
2
emulator/libs/boost/.gitignore
vendored
Normal file
2
emulator/libs/boost/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
include
|
||||||
|
lib
|
||||||
BIN
emulator/libs/boost/boost.rar
Normal file
BIN
emulator/libs/boost/boost.rar
Normal file
Binary file not shown.
2
emulator/libs/boost/readme.txt
Normal file
2
emulator/libs/boost/readme.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
This directory is only needed on windows, and if you do not have boost installed.
|
||||||
|
Extract the rar file here, to get boost 1.58 header files and the libraries that we need for discoverpixy
|
||||||
@@ -8,7 +8,7 @@ QT += widgets gui
|
|||||||
|
|
||||||
TARGET = emulatorqt
|
TARGET = emulatorqt
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += staticlib
|
CONFIG += staticlib debug
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
mainwindow.cpp \
|
mainwindow.cpp \
|
||||||
@@ -30,3 +30,6 @@ INCLUDEPATH+= ../../common/lowlevel/ \
|
|||||||
FORMS += \
|
FORMS += \
|
||||||
mainwindow.ui
|
mainwindow.ui
|
||||||
|
|
||||||
|
DESTDIR = $$_PRO_FILE_PWD_ #force windows to not create subfolders
|
||||||
|
|
||||||
|
#QMAKE_CXXFLAGS+= -v
|
||||||
|
|||||||
@@ -81,11 +81,9 @@ QFont get_font(uint8_t fontnum)
|
|||||||
{
|
{
|
||||||
switch(fontnum) {
|
switch(fontnum) {
|
||||||
case 0:
|
case 0:
|
||||||
return QFont("Monospace", 8);
|
return QFont("Courier New",8);
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
return QFont("DejaVu Sans Mono", 14);
|
return QFont("Courier New",14);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return QFont();
|
return QFont();
|
||||||
}
|
}
|
||||||
|
|||||||
26
emulator/readme_windows.txt
Normal file
26
emulator/readme_windows.txt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Prerequisites:
|
||||||
|
- Qt5 for Windows (provides C:\Qt\5.4\mingw491_32 and C:\Qt\Tools\mingw491_32)
|
||||||
|
- Mingw msys-base (provides C:\MinGW\msys\1.0 and make, find )
|
||||||
|
- Boost (check emulator\libs\boost)
|
||||||
|
|
||||||
|
Steps:
|
||||||
|
- Open up the msys shell using the batchfile
|
||||||
|
- Navigate to the emulator folder of the project
|
||||||
|
- Source the qt binaries (qmake, gcc, g++) by executing
|
||||||
|
export PATH=$PATH:/c/Qt/Tools/mingw491_32/bin:/c/Qt/5.4/mingw491_32/bin
|
||||||
|
- navigate to libs/Pixy and execute make
|
||||||
|
- navigate back into the emulator folder and execute make
|
||||||
|
- this should generate you build/emulator.exe
|
||||||
|
|
||||||
|
Starting:
|
||||||
|
- Extract windows_dlls.rar to the build folder
|
||||||
|
- Copy the emulated folder into the build folder
|
||||||
|
- Make sure that you installed the pixy usb driver (e.g. by installing pixymon http://cmucam.org/projects/cmucam5/wiki/Latest_release)
|
||||||
|
- Start emulator.exe
|
||||||
|
|
||||||
|
Pitfalls:
|
||||||
|
- libstdc++ must be provided by qt. do not use one of msys or mingw. you will waste hours with debugging of the make process
|
||||||
|
|
||||||
|
Sources:
|
||||||
|
- libusb for windows was taken from https://github.com/charmedlabs/pixy/tree/master/src/host/windows
|
||||||
|
- Boost was compiled from sources, using http://andres.jaimes.net/718/how-to-install-the-c-boost-libraries-on-windows/ and http://www.boost.org/doc/libs/1_58_0/more/getting_started/windows.html
|
||||||
BIN
emulator/windows_dlls.rar
Normal file
BIN
emulator/windows_dlls.rar
Normal file
Binary file not shown.
Reference in New Issue
Block a user