diff --git a/BaseMake.mk b/BaseMake.mk deleted file mode 100644 index fe0c910..0000000 --- a/BaseMake.mk +++ /dev/null @@ -1,321 +0,0 @@ - -# This Makefile includes the Arduino core sources. (Set ARDDIR here:) -ARDDIR = ./arduino - -### These macros pertain to compiler flags -# Target file name (without extension). -ifndef TARGET -TARGET = main -endif -# List any extra directories to look for include files here. -ifndef EXTRAINCDIRS -EXTRAINCDIRS = -endif -ifndef LDFLAGS -LDFLAGS = -endif -ifndef CFLAGS -CFLAGS = -endif - - -### These macros pertain to hardware settings -ifndef MCU -MCU = atmega328p -endif -ifndef F_CPU -F_CPU = 16000000 -endif - -CFLAGS += -D F_CPU=$(F_CPU) -D ARDUINO -D ROLE=$(ROLE) - -ARDLIBS2 = SPI -### These macros pertain to supporting Arduino libs -ifndef NO_ARDUINO - LDFLAGS += -lm # -lm = math library - - ARDLIBDIR = $(ARDDIR)/libraries - ARDLIBDIR2 = $(ARDDIR)/hardware/arduino/avr/libraries - - ARDCOREDIR = $(ARDDIR)/hardware/arduino/avr/cores/arduino - - ifeq ($(MCU),atmega328p) - EXTRAINCDIRS += $(ARDDIR)/hardware/arduino/variants/standard - endif - - ifeq ($(MCU),atmega2560) - EXTRAINCDIRS += $(ARDDIR)/hardware/arduino/variants/mega - endif - - ifeq ($(MCU),attiny85) - EXTRAINCDIRS += $(ARDDIR)/hardware/attiny/variants/tiny8 - endif - - # add Arduino sources and include directories to PSRC and EXTRAINCDIRS - - SRC += $(wildcard $(ARDCOREDIR)/*.c) - EXTRAINCDIRS += $(ARDCOREDIR) - - PSRC += $(wildcard $(ARDCOREDIR)/*.cpp) - PSRC += $(foreach lib,$(ARDLIBS),$(ARDLIBDIR)/$(lib)/$(lib).cpp) - PSRC += $(foreach lib,$(ARDLIBS2),$(ARDLIBDIR2)/$(lib)/src/$(lib).cpp) - EXTRAINCDIRS += $(foreach lib,$(ARDLIBS),$(ARDLIBDIR)/$(lib)) -endif - - -############# Don't need to change below here for most purposes (Elliot) - -# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. -# (Note: 3 is not always the best optimization level. See avr-libc FAQ.) -OPT = s - -# Output format. (can be srec, ihex, binary) -FORMAT = ihex - -# List Assembler source files here. -# Make them always end in a capital .S. Files ending in a lowercase .s -# will not be considered source files but generated files (assembler -# output from the compiler), and will be deleted upon "make clean"! -# Even though the DOS/Win* filesystem matches both .s and .S the same, -# it will preserve the spelling of the filenames, and gcc itself does -# care about how the name is spelled on its command-line. -ASRC = - -# Optional compiler flags. -# -g: generate debugging information (for GDB, or for COFF conversion) -# -O*: optimization level -# -f...: tuning, see gcc manual and avr-libc documentation -# -Wall...: warning level -# -Wa,...: tell GCC to pass this to the assembler. -# -ahlms: create assembler listing -CFLAGS += -g -O$(OPT) \ --funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \ --Wall -DBAUD=9600UL \ -$(patsubst %,-I%,$(EXTRAINCDIRS)) - -# Optional assembler flags. -# -Wa,...: tell GCC to pass this to the assembler. -# -ahlms: create listing -# -gstabs: have the assembler create line number information; note that -# for use in COFF files, additional information about filenames -# and function names needs to be present in the assembler source -# files -- see avr-libc docs [FIXME: not yet described there] -ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs - -# Optional linker flags. -# -Wl,...: tell GCC to pass this to linker. -# -Map: create map file -# --cref: add cross reference to map file -LDFLAGS += -Wl,-Map=$(TARGET).map,--cref - -# --------------------------------------------------------------------------- - -# Define directories, if needed. -DIRAVR = c:/winavr -DIRAVRBIN = $(DIRAVR)/bin -DIRAVRUTILS = $(DIRAVR)/utils/bin -DIRINC = . -DIRLIB = $(DIRAVR)/avr/lib - - -# Define programs and commands. -SHELL = sh - -CC = avr-gcc - -OBJCOPY = avr-objcopy -OBJDUMP = avr-objdump -SIZE = avr-size - -# Programming support using avrdude. -AVRDUDE = avrdude - -REMOVE = rm -f -COPY = cp - -HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex -ELFSIZE = $(SIZE) -A $(TARGET).elf - -# Define Messages -# English -MSG_ERRORS_NONE = Errors: none -MSG_BEGIN = -------- begin -------- -MSG_END = -------- end -------- -MSG_SIZE_BEFORE = Size before: -MSG_SIZE_AFTER = Size after: -MSG_COFF = Converting to AVR COFF: -MSG_EXTENDED_COFF = Converting to AVR Extended COFF: -MSG_FLASH = Creating load file for Flash: -MSG_EEPROM = Creating load file for EEPROM: -MSG_EXTENDED_LISTING = Creating Extended Listing: -MSG_SYMBOL_TABLE = Creating Symbol Table: -MSG_LINKING = Linking: -MSG_COMPILING = Compiling: -MSG_ASSEMBLING = Assembling: -MSG_CLEANING = Cleaning project: - -# Define all object files. -OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) $(PSRC:.cpp=.o) - -# Define all listing files. -LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) $(PSRC:.cpp=.lst) - -# Combine all necessary flags and optional flags. -# Add target processor to flags. -ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) -Wa,-adhlns=$(<:.c=.lst) -ALL_CXXFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) -Wa,-adhlns=$(<:.cpp=.lst) -ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) - - -# Default target: make program! -all: begin gccversion sizebefore \ - $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).lss $(TARGET).sym \ - sizeafter finished end - -# Eye candy. -# AVR Studio 3.x does not check make's exit code but relies on -# the following magic strings to be generated by the compile job. -begin: - @echo - @echo $(MSG_BEGIN) - -finished: - @echo $(MSG_ERRORS_NONE) - -end: - @echo $(MSG_END) - @echo - - -# Display size of file. -sizebefore: - @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi - -sizeafter: - @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi - -# Display compiler version information. -gccversion : - @$(CC) --version - @echo - @echo $(OBJ) - - -# Create final output files (.hex, .eep) from ELF output file. -%.hex: %.elf - @echo - @echo $(MSG_FLASH) $@ - $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ - -%.eep: %.elf - @echo - @echo $(MSG_EEPROM) $@ - -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ - --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ - -# Create extended listing file from ELF output file. -%.lss: %.elf - @echo - @echo $(MSG_EXTENDED_LISTING) $@ - $(OBJDUMP) -h -S $< > $@ - -# Create a symbol table from ELF output file. -%.sym: %.elf - @echo - @echo $(MSG_SYMBOL_TABLE) $@ - avr-nm -n $< > $@ - - - -# Link: create ELF output file from object files. -.SECONDARY: $(TARGET).elf -.PRECIOUS: $(OBJ) -%.elf: $(OBJ) - @echo - @echo $(MSG_LINKING) $@ - $(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) - - -# Compile: create object files from C source files. -%.o: %.c - @echo - @echo $(MSG_COMPILING) $< - $(CC) -c $(ALL_CFLAGS) $< -o $@ - - -# Compile: create assembler files from C source files. -%.s: %.c - $(CC) -S $(ALL_CFLAGS) $< -o $@ - - -# Compile: create object files from C++ source files -%.o: %.cpp - @echo - @echo $(MSG_COMPILING) $< - $(CC) -c $(ALL_CXXFLAGS) $< -o $@ - -# Compile: create assembler files from C source files. -%.s: %.cpp - $(CC) -S $(ALL_CXXFLAGS) $< -o $@ - - -# Assemble: create object files from assembler source files. -%.o: %.S - @echo - @echo $(MSG_ASSEMBLING) $< - $(CC) -c $(ALL_ASFLAGS) $< -o $@ - - -# Target: clean project. -clean: begin clean_list finished end - -clean_list : - @echo - @echo $(MSG_CLEANING) - $(REMOVE) $(TARGET).hex - $(REMOVE) $(TARGET).eep - $(REMOVE) $(TARGET).obj - $(REMOVE) $(TARGET).cof - $(REMOVE) $(TARGET).elf - $(REMOVE) $(TARGET).map - $(REMOVE) $(TARGET).obj - $(REMOVE) $(TARGET).a90 - $(REMOVE) $(TARGET).sym - $(REMOVE) $(TARGET).lnk - $(REMOVE) $(TARGET).lss - $(REMOVE) $(TARGET).lst - $(REMOVE) $(OBJ) - $(REMOVE) $(LST) - $(REMOVE) $(SRC:.c=.s) - $(REMOVE) $(SRC:.c=.d) - $(REMOVE) $(PSRC:.cpp=.s) - $(REMOVE) $(PSRC:.cpp=.d) - $(REMOVE) *~ - - -# Automatically generate C source code dependencies. -# (Code originally taken from the GNU make user manual and modified -# (See README.txt Credits).) -# -# Note that this will work with sh (bash) and sed that is shipped with WinAVR -# (see the SHELL variable defined above). -# This may not work with other shells or other seds. - -%.d: %.c - set -e; $(CC) -MM $(ALL_CFLAGS) $< \ - | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ - [ -s $@ ] || rm -f $@ - -%.d: %.cpp - set -e; $(CC) -MM $(ALL_CFLAGS) $< \ - | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ - [ -s $@ ] || rm -f $@ - -# Remove the '-' if you want to see the dependency files generated. -include $(SRC:.c=.d) - --include $(PSRC:.cpp=.d) - -# Listing of phony targets. -.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \ - clean clean_list program diff --git a/CMakeLists.txt b/CMakeLists.txt index 66bf646..204cfc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,8 @@ -# -#include_directories(arduino/hardware/arduino/variants/standard) -#include_directories(arduino/hardware/arduino/avr/libraries/SPI/src) -#include_directories(arduino/hardware/arduino/avr/cores/arduino) -#include_directories(arduino/hardware/arduino/avr/variants/standard) -#include_directories(arduino/libraries/RF24) -#include_directories(arduino/libraries/SoftPWM) -#include_directories(arduino/hardware/tools/avr/avr/include) -#include_directories(./) -##include_directories(arduino/hardware/tools/avr/avr/include/avr/iom328p.h) -# - - -# Project name project(battletank) -# CMake version cmake_minimum_required(VERSION 2.6) -# Options -# Adjust to your board set(MCU "atmega328p" ) set(CPU_SPEED "16000000" ) set(PORT "/dev/ttyUSB0") diff --git a/Makefile.mk b/Makefile.mk deleted file mode 100644 index 5b11b62..0000000 --- a/Makefile.mk +++ /dev/null @@ -1,28 +0,0 @@ -# This is the name of the file that shall be created. (It is also the name of my primary source file, without the file extension.) -TARGET = main - -# create a variable that only pertains to this project -#MY_OWN_LIBRARY_DIR = /usr/home/MJ/Arduino/libraries/mj_midi - -base = ./arduino - -# "EXTRAINCDIRS" is a variable used by the base makefile. The base makefile creates a -I compiler flag for every item in the "EXTRAINCDIRS" list. -EXTRAINCDIRS = \ - ${base}/hardware/arduino/avr/libraries/SPI/src \ - ${base}/hardware/arduino/avr/cores/arduino \ - ${base}/hardware/arduino/avr/variants/standard \ - ${base}/libraries/RF24 \ - ${base}/libraries/SoftPWM \ - -# specify *.c source files pertaining to my project -SRC = - -# specify *.cpp source files pertaining to my project -PSRC = main.cpp - -# specify additional (non-core) Arduino libraries to include - -ARDLIBS = RF24 SoftPWM - -# include my base makefile -include ./BaseMake.mk diff --git a/build.sh b/build.sh deleted file mode 100755 index 8c6b8eb..0000000 --- a/build.sh +++ /dev/null @@ -1,37 +0,0 @@ - - -REMOTEPORT=/dev/ttyUSB0 -DOZERPORT=/dev/ttyUSB1 - - - - - -if [ $# -eq 0 ] - then - if make -f Makefile.mk ROLE=1; then - echo Compilation Good - else - echo Compilation Bad - fi - else - - if [ $1 -eq 1 ] - then - if make -f Makefile.mk ROLE=1; then - avrdude -v -patmega328p -carduino -P$DOZERPORT -b57600 -D -Uflash:w:main.hex:i - else - echo Compilation failed, skipping flash - fi - elif [ $1 -eq 0 ] - then - if make -f Makefile.mk ROLE=0; then - avrdude -v -patmega328p -carduino -P$REMOTEPORT -b57600 -D -Uflash:w:main.hex:i - else - echo Compilation failed, skipping flash - fi - fi - fi - - - diff --git a/listen.sh b/listen.sh deleted file mode 100755 index ef5ccd5..0000000 --- a/listen.sh +++ /dev/null @@ -1,11 +0,0 @@ -#stty -F /dev/ttyUSB0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts - -sudo stty -F /dev/ttyUSB0 9600 -parenb -parodd cs8 -hupcl \ --cstopb cread clocal -crtscts -iuclc -ixany -imaxbel \ --iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill \ - -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten \ --echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt \ --echoctl -echoke - - -sudo tail -f /dev/ttyUSB0 diff --git a/make.sh b/make.sh deleted file mode 100755 index f4be179..0000000 --- a/make.sh +++ /dev/null @@ -1,5 +0,0 @@ - -make -f Makefile.mk ROLE=0; avrdude -v -patmega328p -carduino -P/dev/ttyUSB1 -b57600 -D -Uflash:w:main.hex:i -make -f Makefile.mk ROLE=1; avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:main.hex:i - -