Compare commits

...

2 Commits
master ... pio

Author SHA1 Message Date
Connor Rigby b50887d279
Fix compiler errors with platformio 2019-12-18 06:26:17 -08:00
Connor Rigby c865325fbc
Convert project to Platformio 2019-12-18 06:25:59 -08:00
15 changed files with 19 additions and 427 deletions

View File

@ -1,71 +0,0 @@
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2)$(filter $(subst *,%,$2),$d))
BUILD_DIR ?= $(shell pwd)/_build
BIN_DIR ?= $(shell pwd)/bin
FBARDUINO_FIRMWARE_SRC_DIR ?= src
FBARDUINO_FIRMWARE_BUILD_DIR ?= $(BUILD_DIR)/sketch
FBARDUINO_FIRMWARE_LIB_BUILD_DIR ?= $(BUILD_DIR)/libraries
ARDUINO_INSTALL_DIR ?= $(HOME)/arduino-1.8.5
# Files to be tracked for make to know to rebuild.
CXX_SRC := $(wildcard $(FBARDUINO_FIRMWARE_SRC_DIR)/*.cpp)
SRC := $(CXX_SRC)
SRC_DEPS := $(SRC) $(wildcard $(FBARDUINO_FIRMWARE_SRC_DIR)/*.h)
# Object files and Dependency files That will eventually be built.
CXX_OBJ := $(CXX_SRC:.cpp=.o)
## Commands needed to compile and whatnot.
CXX := $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/bin/avr-g++
CC := $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/bin/avr-gcc
AR := $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/bin/avr-gcc-ar
OBJ_COPY := $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/bin/avr-objcopy
MKDIR_P := mkdir -p
CXX_FLAGS := -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10600 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR
CFLAGS := -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560
.DEFAULT_GOAL := all
## Dependencies
include lib/core.Makefile
include lib/SPI.Makefile
include lib/Servo.Makefile
include lib/EEPROM.Makefile
# Targets
include lib/targets/ramps_v14.Makefile
include lib/targets/farmduino_v10.Makefile
include lib/targets/farmduino_k14.Makefile
.PHONY: all clean \
dep_core dep_core_clean \
dep_Servo dep_Servo_clean \
dep_SPI dep_SPI_clean \
dep_EEPROM dep_EEPROM_clean \
target_ramps_v14 target_ramps_v14_clean \
target_farmduino_v10 target_farmduino_v10_clean \
target_farmduino_k14 target_farmduino_k14_clean
DEPS := $(DEP_CORE) $(DEP_SPI) $(DEP_Servo) $(DEP_EEPROM)
DEPS_OBJ := $(DEP_SPI_OBJ) $(DEP_Servo_OBJ) $(DEP_EEPROM_OBJ)
DEPS_CFLAGS := $(DEP_CORE_CFLAGS) $(DEP_SPI_CFLAGS) $(DEP_Servo_CFLAGS) $(DEP_EEPROM_CFLAGS)
all: $(BIN_DIR) $(DEPS) target_ramps_v14 target_farmduino_v10 target_farmduino_k14
clean: target_ramps_v14_clean target_farmduino_v10_clean target_farmduino_k14_clean
strings_test: all
$(OBJ_COPY) -I ihex $(TARGET_ramps_v14_HEX) -O binary $(TARGET_ramps_v14_HEX).bin
$(OBJ_COPY) -I ihex $(TARGET_farmduino_v10_HEX) -O binary $(TARGET_farmduino_v10_HEX).bin
$(OBJ_COPY) -I ihex $(TARGET_farmduino_k14_HEX) -O binary $(TARGET_farmduino_k14_HEX).bin
@strings $(TARGET_ramps_v14_HEX).bin | grep -q "6.4.0.R"
@strings $(TARGET_farmduino_v10_HEX).bin | grep -q "6.4.0.F"
@strings $(TARGET_farmduino_k14_HEX).bin | grep -q "6.4.0.G"
force_clean:
$(RM) -r $(BUILD_DIR) $(BIN_DIR)
$(BIN_DIR):
$(MKDIR_P) $(BIN_DIR)

View File

@ -1,9 +0,0 @@
[build]
board-model = mega2560
[upload]
board-model = mega2560
serial-port = /dev/ttyACM0
[serial]
serial-port = /dev/ttyACM0

View File

@ -1,40 +0,0 @@
DEP_EEPROM_BUILD_DIR := $(FBARDUINO_FIRMWARE_LIB_BUILD_DIR)/EEPROM
DEP_EEPROM := $(DEP_EEPROM_BUILD_DIR)/EEPROM.a
DEP_EEPROM_SRC_DIR := $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/EEPROM/src
DEP_EEPROM_CFLAGS := \
-I$(DEP_EEPROM_SRC_DIR)
DEP_EEPROM_CFLAGS := -I$(DEP_EEPROM_SRC_DIR)
DEP_EEPROM_LDFLAGS := $(DEP_EEPROM_BUILD_DIR)/EEPROM.a -L$(DEP_EEPROM_BUILD_DIR) -lm
DEP_EEPROM_ASM_SRC := $(call rwildcard, $(DEP_EEPROM_SRC_DIR), *.S)
DEP_EEPROM_ASM_OBJ := $(DEP_EEPROM_ASM_SRC:.S=.o)
DEP_EEPROM_C_SRC := $(call rwildcard, $(DEP_EEPROM_SRC_DIR), *.c)
DEP_EEPROM_C_OBJ := $(DEP_EEPROM_C_SRC:.c=.o)
DEP_EEPROM_CXX_SRC := $(call rwildcard, $(DEP_EEPROM_SRC_DIR), *.cpp)
DEP_EEPROM_CXX_OBJ := $(DEP_EEPROM_CXX_SRC:.cpp=.o)
DEP_EEPROM_ALL_OBJ := $(DEP_EEPROM_ASM_OBJ) $(DEP_EEPROM_C_SRC) $(DEP_EEPROM_CXX_OBJ)
DEP_EEPROM_SRC := $(DEP_SERVO_ASM_SRC) $(DEP_SERVO_C_SRC) $(CXX_SRC)
DEP_EEPROM_OBJ := $(patsubst $(DEP_EEPROM_SRC_DIR)/%,$(DEP_EEPROM_BUILD_DIR)/%,$(DEP_EEPROM_ALL_OBJ))
ARDUINO_DEP_EEPROM_CXX_FLAGS_P := $(DEP_CORE_CXX_FLAGS_P) $(DEP_EEPROM_CFLAGS)
$(DEP_EEPROM): $(DEP_CORE) $(DEP_EEPROM_BUILD_DIR) $(DEP_EEPROM_OBJ)
$(AR) rcs $(DEP_EEPROM) $(DEP_EEPROM_OBJ)
$(DEP_EEPROM_BUILD_DIR)/%.o: $(DEP_EEPROM_SRC_DIR)/%.cpp
$(CXX) $(ARDUINO_DEP_EEPROM_CXX_FLAGS_P) $< -o $@
$(DEP_EEPROM_BUILD_DIR):
$(MKDIR_P) $(DEP_EEPROM_BUILD_DIR)
dep_EEPROM: $(DEP_EEPROM)
dep_EEPROM_clean:
$(RM) $(DEP_EEPROM_OBJ)
$(RM) $(DEP_EEPROM)

View File

@ -1,42 +0,0 @@
DEP_SPI_BUILD_DIR := $(FBARDUINO_FIRMWARE_LIB_BUILD_DIR)/SPI
DEP_SPI := $(DEP_SPI_BUILD_DIR)/SPI.a
DEP_SPI_SRC_DIR := $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
DEP_SPI_CFLAGS := \
-I$(DEP_SPI_SRC_DIR)
DEP_SPI_CFLAGS := -I$(DEP_SPI_SRC_DIR)
DEP_SPI_LDFLAGS := $(DEP_SPI_BUILD_DIR)/SPI.a -L$(DEP_SPI_BUILD_DIR) -lm
DEP_SPI_ASM_SRC := $(call rwildcard, $(DEP_SPI_SRC_DIR), *.S)
DEP_SPI_ASM_OBJ := $(DEP_SPI_ASM_SRC:.S=.o)
DEP_SPI_C_SRC := $(call rwildcard, $(DEP_SPI_SRC_DIR), *.c)
DEP_SPI_C_OBJ := $(DEP_SPI_C_SRC:.c=.o)
DEP_SPI_CXX_SRC := $(call rwildcard, $(DEP_SPI_SRC_DIR), *.cpp)
DEP_SPI_CXX_OBJ := $(DEP_SPI_CXX_SRC:.cpp=.o)
DEP_SPI_ALL_OBJ := $(DEP_SPI_ASM_OBJ) $(DEP_SPI_C_SRC) $(DEP_SPI_CXX_OBJ)
DEP_SPI_SRC := $(DEP_SERVO_ASM_SRC) $(DEP_SERVO_C_SRC) $(CXX_SRC)
DEP_SPI_OBJ := $(patsubst $(DEP_SPI_SRC_DIR)/%,$(DEP_SPI_BUILD_DIR)/%,$(DEP_SPI_ALL_OBJ))
DEP_SPI_DIRS := $(sort $(dir $(DEP_SPI_OBJ)))
ARDUINO_DEP_SPI_CXX_FLAGS_P := $(DEP_CORE_CXX_FLAGS_P) $(DEP_SPI_CFLAGS)
$(DEP_SPI): $(DEP_CORE) $(DEP_SPI_BUILD_DIR) $(DEP_SPI_OBJ)
$(AR) rcs $(DEP_SPI) $(DEP_SPI_OBJ)
$(DEP_SPI_BUILD_DIR)/%.o: $(DEP_SPI_SRC_DIR)/%.cpp
$(CXX) $(ARDUINO_DEP_SPI_CXX_FLAGS_P) $< -o $@
$(DEP_SPI_BUILD_DIR):
$(MKDIR_P) $(DEP_SPI_DIRS)
dep_SPI: $(DEP_SPI)
dep_SPI_clean:
$(RM) $(DEP_SPI_OBJ)
$(RM) $(DEP_SPI)

View File

@ -1,42 +0,0 @@
DEP_Servo_BUILD_DIR := $(FBARDUINO_FIRMWARE_LIB_BUILD_DIR)/Servo
DEP_Servo := $(DEP_Servo_BUILD_DIR)/Servo.a
DEP_Servo_SRC_DIR := $(ARDUINO_INSTALL_DIR)/libraries/Servo/src
DEP_Servo_CFLAGS := \
-I$(DEP_Servo_SRC_DIR)
DEP_Servo_CFLAGS := -I$(DEP_Servo_SRC_DIR)
DEP_Servo_LDFLAGS := $(DEP_Servo_BUILD_DIR)/Servo.a -L$(DEP_Servo_BUILD_DIR) -lm
DEP_Servo_ASM_SRC := $(call rwildcard, $(DEP_Servo_SRC_DIR), *.S)
DEP_Servo_ASM_OBJ := $(DEP_Servo_ASM_SRC:.S=.o)
DEP_Servo_C_SRC := $(call rwildcard, $(DEP_Servo_SRC_DIR), *.c)
DEP_Servo_C_OBJ := $(DEP_Servo_C_SRC:.c=.o)
DEP_Servo_CXX_SRC := $(call rwildcard, $(DEP_Servo_SRC_DIR), *.cpp)
DEP_Servo_CXX_OBJ := $(DEP_Servo_CXX_SRC:.cpp=.o)
DEP_Servo_ALL_OBJ := $(DEP_Servo_ASM_OBJ) $(DEP_Servo_C_SRC) $(DEP_Servo_CXX_OBJ)
DEP_Servo_SRC := $(DEP_SERVO_ASM_SRC) $(DEP_SERVO_C_SRC) $(CXX_SRC)
DEP_Servo_OBJ := $(patsubst $(DEP_Servo_SRC_DIR)/%,$(DEP_Servo_BUILD_DIR)/%,$(DEP_Servo_ALL_OBJ))
DEP_Servo_DIRS := $(sort $(dir $(DEP_Servo_OBJ)))
ARDUINO_DEP_Servo_CXX_FLAGS_P := $(DEP_CORE_CXX_FLAGS_P) $(DEP_Servo_CFLAGS)
$(DEP_Servo): $(DEP_CORE) $(DEP_Servo_BUILD_DIR) $(DEP_Servo_OBJ)
$(AR) rcs $(DEP_Servo) $(DEP_Servo_OBJ)
$(DEP_Servo_BUILD_DIR)/%.o: $(DEP_Servo_SRC_DIR)/%.cpp
$(CXX) $(ARDUINO_DEP_Servo_CXX_FLAGS_P) $< -o $@
$(DEP_Servo_BUILD_DIR):
$(MKDIR_P) $(DEP_Servo_DIRS)
dep_Servo: $(DEP_Servo)
dep_Servo_clean:
$(RM) $(DEP_Servo_OBJ)
$(RM) $(DEP_Servo)

View File

@ -1,100 +0,0 @@
DEP_CORE_BUILD_DIR := $(BUILD_DIR)/core
DEP_CORE := $(DEP_CORE_BUILD_DIR)/core.a
DEP_CORE_CFLAGS := \
-I$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino \
-I$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/variants/mega \
DEP_CORE_LDFLAGS := \
$(DEP_CORE_BUILD_DIR)/core.a -L$(DEP_CORE_BUILD_DIR) -lm
DEP_CORE_ASM_SRC := $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/wiring_pulse.S
DEP_CORE_C_SRC := \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/WInterrupts.c \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/hooks.c \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/wiring.c \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/wiring_analog.c \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/wiring_digital.c \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/wiring_pulse.c \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/wiring_shift.c
DEP_CORE_CXX_SRC := \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/CDC.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/HardwareSerial1.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/HardwareSerial2.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/HardwareSerial3.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/IPAddress.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/PluggableUSB.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/Print.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/Stream.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/Tone.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/USBCore.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/WMath.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/WString.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/abi.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/main.cpp \
$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/new.cpp
DEP_CORE_OBJ := \
$(DEP_CORE_BUILD_DIR)/wiring_pulse.S.o \
$(DEP_CORE_BUILD_DIR)/WInterrupts.c.o \
$(DEP_CORE_BUILD_DIR)/hooks.c.o \
$(DEP_CORE_BUILD_DIR)/wiring.c.o \
$(DEP_CORE_BUILD_DIR)/wiring_analog.c.o \
$(DEP_CORE_BUILD_DIR)/wiring_digital.c.o \
$(DEP_CORE_BUILD_DIR)/wiring_pulse.c.o \
$(DEP_CORE_BUILD_DIR)/wiring_shift.c.o \
$(DEP_CORE_BUILD_DIR)/CDC.cpp.o \
$(DEP_CORE_BUILD_DIR)/HardwareSerial.cpp.o \
$(DEP_CORE_BUILD_DIR)/HardwareSerial0.cpp.o \
$(DEP_CORE_BUILD_DIR)/HardwareSerial1.cpp.o \
$(DEP_CORE_BUILD_DIR)/HardwareSerial2.cpp.o \
$(DEP_CORE_BUILD_DIR)/HardwareSerial3.cpp.o \
$(DEP_CORE_BUILD_DIR)/IPAddress.cpp.o \
$(DEP_CORE_BUILD_DIR)/PluggableUSB.cpp.o \
$(DEP_CORE_BUILD_DIR)/Print.cpp.o \
$(DEP_CORE_BUILD_DIR)/Stream.cpp.o \
$(DEP_CORE_BUILD_DIR)/Tone.cpp.o \
$(DEP_CORE_BUILD_DIR)/USBCore.cpp.o \
$(DEP_CORE_BUILD_DIR)/WMath.cpp.o \
$(DEP_CORE_BUILD_DIR)/WString.cpp.o \
$(DEP_CORE_BUILD_DIR)/abi.cpp.o \
$(DEP_CORE_BUILD_DIR)/main.cpp.o \
$(DEP_CORE_BUILD_DIR)/new.cpp.o
DEP_CORE_D := $(DEP_CORE_OBJ:.cpp=.d)
DEP_CORE_CFLAGS_P := -c -g -Os -w -std=gnu11 -ffunction-sections \
-fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 \
-DF_CPU=16000000L -DARDUINO=10600 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR \
$(DEP_CORE_CFLAGS)
DEP_CORE_CXX_FLAGS_P := -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections \
-fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega2560 \
-DF_CPU=16000000L -DARDUINO=10600 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR \
$(DEP_CORE_CFLAGS)
$(DEP_CORE): $(DEP_CORE_BUILD_DIR) $(DEP_CORE_OBJ)
$(AR) rcs $(DEP_CORE) $(DEP_CORE_OBJ)
$(DEP_CORE_BUILD_DIR)/%.S.o: $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/%.S
$(CC) -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10600 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AV \
-I$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino -I$(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/variants/mega \
$< -o $@
$(DEP_CORE_BUILD_DIR)/%.c.o: $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/%.c
$(CC) $(DEP_CORE_CFLAGS_P) $< -o $@
$(DEP_CORE_BUILD_DIR)/%.cpp.o: $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino/%.cpp
$(CXX) $(DEP_CORE_CXX_FLAGS_P) $< -o $@
$(DEP_CORE_BUILD_DIR):
$(MKDIR_P) $(DEP_CORE_BUILD_DIR)
dep_core_clean:
$(RM) $(DEP_CORE_OBJ)
$(RM) $(DEP_CORE_D)
$(RM) $(DEP_CORE)

View File

@ -1,25 +0,0 @@
TARGET_farmduino_k14_BUILD_DIR := $(BUILD_DIR)/farmduino_k14
TARGET_farmduino_k14_HEX := $(BIN_DIR)/farmduino_k14.hex
TARGET_farmduino_k14_OBJ := $(patsubst $(FBARDUINO_FIRMWARE_SRC_DIR)/%,$(TARGET_farmduino_k14_BUILD_DIR)/%,$(CXX_OBJ))
$(TARGET_farmduino_k14_HEX): $(TARGET_farmduino_k14_BUILD_DIR) $(TARGET_farmduino_k14_BUILD_DIR)/farmduino_k14.eep $(TARGET_farmduino_k14_BUILD_DIR)/farmduino_k14.elf
$(OBJ_COPY) -O ihex -R .eeprom $(TARGET_farmduino_k14_BUILD_DIR)/farmduino_k14.elf $@
$(TARGET_farmduino_k14_BUILD_DIR)/farmduino_k14.eep: $(TARGET_farmduino_k14_BUILD_DIR)/farmduino_k14.elf
$(OBJ_COPY) -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $< $@
$(TARGET_farmduino_k14_BUILD_DIR)/farmduino_k14.elf: $(TARGET_farmduino_k14_OBJ)
$(CC) -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o $@ $(TARGET_farmduino_k14_OBJ) $(DEPS_OBJ) $(DEP_CORE_LDFLAGS)
$(TARGET_farmduino_k14_BUILD_DIR)/%.o: $(FBARDUINO_FIRMWARE_SRC_DIR)/%.cpp
$(CXX) $(CXX_FLAGS) -DFARMBOT_BOARD_ID=2 $(DEPS_CFLAGS) $< -o $@
$(TARGET_farmduino_k14_BUILD_DIR):
$(MKDIR_P) $(TARGET_farmduino_k14_BUILD_DIR)
target_farmduino_k14: $(TARGET_farmduino_k14_HEX)
target_farmduino_k14_clean:
$(RM) -r $(TARGET_farmduino_k14_BUILD_DIR)
$(RM) $(TARGET_farmduino_k14_HEX)

View File

@ -1,25 +0,0 @@
TARGET_farmduino_v10_BUILD_DIR := $(BUILD_DIR)/farmduino_v10
TARGET_farmduino_v10_HEX := $(BIN_DIR)/farmduino.hex
TARGET_farmduino_v10_OBJ := $(patsubst $(FBARDUINO_FIRMWARE_SRC_DIR)/%,$(TARGET_farmduino_v10_BUILD_DIR)/%,$(CXX_OBJ))
$(TARGET_farmduino_v10_HEX): $(TARGET_farmduino_v10_BUILD_DIR) $(TARGET_farmduino_v10_BUILD_DIR)/farmduino_v10.eep $(TARGET_farmduino_v10_BUILD_DIR)/farmduino_v10.elf
$(OBJ_COPY) -O ihex -R .eeprom $(TARGET_farmduino_v10_BUILD_DIR)/farmduino_v10.elf $@
$(TARGET_farmduino_v10_BUILD_DIR)/farmduino_v10.eep: $(TARGET_farmduino_v10_BUILD_DIR)/farmduino_v10.elf
$(OBJ_COPY) -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $< $@
$(TARGET_farmduino_v10_BUILD_DIR)/farmduino_v10.elf: $(TARGET_farmduino_v10_OBJ)
$(CC) -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o $@ $(TARGET_farmduino_v10_OBJ) $(DEPS_OBJ) $(DEP_CORE_LDFLAGS)
$(TARGET_farmduino_v10_BUILD_DIR)/%.o: $(FBARDUINO_FIRMWARE_SRC_DIR)/%.cpp
$(CXX) $(CXX_FLAGS) -DFARMBOT_BOARD_ID=1 $(DEPS_CFLAGS) $< -o $@
$(TARGET_farmduino_v10_BUILD_DIR):
$(MKDIR_P) $(TARGET_farmduino_v10_BUILD_DIR)
target_farmduino_v10: $(TARGET_farmduino_v10_HEX)
target_farmduino_v10_clean:
$(RM) -r $(TARGET_farmduino_v10_OBJ)
$(RM) $(TARGET_farmduino_v10_HEX)

View File

@ -1,25 +0,0 @@
TARGET_ramps_v14_BUILD_DIR := $(BUILD_DIR)/ramps_v14
TARGET_ramps_v14_HEX := $(BIN_DIR)/arduino_firmware.hex
TARGET_ramps_v14_OBJ := $(patsubst $(FBARDUINO_FIRMWARE_SRC_DIR)/%,$(TARGET_ramps_v14_BUILD_DIR)/%,$(CXX_OBJ))
$(TARGET_ramps_v14_HEX): $(TARGET_ramps_v14_BUILD_DIR) $(TARGET_ramps_v14_BUILD_DIR)/arduino_firmware.eep $(TARGET_ramps_v14_BUILD_DIR)/arduino_firmware.elf
$(OBJ_COPY) -O ihex -R .eeprom $(TARGET_ramps_v14_BUILD_DIR)/arduino_firmware.elf $@
$(TARGET_ramps_v14_BUILD_DIR)/arduino_firmware.eep: $(TARGET_ramps_v14_BUILD_DIR)/arduino_firmware.elf
$(OBJ_COPY) -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $< $@
$(TARGET_ramps_v14_BUILD_DIR)/arduino_firmware.elf: $(TARGET_ramps_v14_OBJ)
$(CC) -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o $@ $(TARGET_ramps_v14_OBJ) $(DEPS_OBJ) $(DEP_CORE_LDFLAGS)
$(TARGET_ramps_v14_BUILD_DIR)/%.o: $(FBARDUINO_FIRMWARE_SRC_DIR)/%.cpp
$(CXX) $(CXX_FLAGS) -DFARMBOT_BOARD_ID=0 $(DEPS_CFLAGS) $< -o $@
$(TARGET_ramps_v14_BUILD_DIR):
$(MKDIR_P) $(TARGET_ramps_v14_BUILD_DIR)
target_ramps_v14: $(TARGET_ramps_v14_HEX)
target_ramps_v14_clean:
$(RM) -r $(TARGET_ramps_v14_OBJ)
$(RM) $(TARGET_ramps_v14_HEX)

View File

@ -1,45 +0,0 @@
# Someone will thank me later for this.
# Find and replace DEP_NAME with the name of your dependency.
DEP_DEP_NAME_BUILD_DIR := $(FBARDUINO_FIRMWARE_LIB_BUILD_DIR)/DEP_NAME
DEP_DEP_NAME := $(DEP_DEP_NAME_BUILD_DIR)/DEP_NAME.a
DEP_DEP_NAME_SRC_DIR := $(ARDUINO_INSTALL_DIR)/libraries/DEP_NAME/src
DEP_DEP_NAME_CFLAGS := \
-I$(DEP_DEP_NAME_SRC_DIR)
DEP_DEP_NAME_CFLAGS := -I$(DEP_DEP_NAME_SRC_DIR)
DEP_DEP_NAME_LDFLAGS := $(DEP_DEP_NAME_BUILD_DIR)/DEP_NAME.a -L$(DEP_DEP_NAME_BUILD_DIR) -lm
DEP_DEP_NAME_ASM_SRC := $(call rwildcard, $(DEP_DEP_NAME_SRC_DIR), *.S)
DEP_DEP_NAME_ASM_OBJ := $(DEP_DEP_NAME_ASM_SRC:.S=.o)
DEP_DEP_NAME_C_SRC := $(call rwildcard, $(DEP_DEP_NAME_SRC_DIR), *.c)
DEP_DEP_NAME_C_OBJ := $(DEP_DEP_NAME_C_SRC:.c=.o)
DEP_DEP_NAME_CXX_SRC := $(call rwildcard, $(DEP_DEP_NAME_SRC_DIR), *.cpp)
DEP_DEP_NAME_CXX_OBJ := $(DEP_DEP_NAME_CXX_SRC:.cpp=.o)
DEP_DEP_NAME_ALL_OBJ := $(DEP_DEP_NAME_ASM_OBJ) $(DEP_DEP_NAME_C_SRC) $(DEP_DEP_NAME_CXX_OBJ)
DEP_DEP_NAME_SRC := $(DEP_SERVO_ASM_SRC) $(DEP_SERVO_C_SRC) $(CXX_SRC)
DEP_DEP_NAME_OBJ := $(patsubst $(DEP_DEP_NAME_SRC_DIR)/%,$(DEP_DEP_NAME_BUILD_DIR)/%,$(DEP_DEP_NAME_ALL_OBJ))
DEP_DEP_NAME_DIRS := $(sort $(dir $(DEP_DEP_NAME_OBJ)))
ARDUINO_DEP_DEP_NAME_CXX_FLAGS_P := $(DEP_CORE_CXX_FLAGS_P) $(DEP_DEP_NAME_CFLAGS)
$(DEP_DEP_NAME): $(DEP_CORE) $(DEP_DEP_NAME_BUILD_DIR) $(DEP_DEP_NAME_OBJ)
$(AR) rcs $(DEP_DEP_NAME) $(DEP_DEP_NAME_OBJ)
$(DEP_DEP_NAME_BUILD_DIR)/%.o: $(DEP_DEP_NAME_SRC_DIR)/%.cpp
$(CXX) $(ARDUINO_DEP_DEP_NAME_CXX_FLAGS_P) $< -o $@
$(DEP_DEP_NAME_BUILD_DIR):
$(MKDIR_P) $(DEP_DEP_NAME_DIRS)
dep_DEP_NAME: $(DEP_DEP_NAME)
dep_DEP_NAME_clean:
$(RM) $(DEP_DEP_NAME_OBJ)
$(RM) $(DEP_DEP_NAME)

16
platformio.ini 100644
View File

@ -0,0 +1,16 @@
;PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:megaatmega1280]
platform = atmelavr
board = megaatmega1280
framework = arduino
lib_deps =
Servo

View File

@ -31,7 +31,7 @@ int G28Handler::execute(Command *command)
stepsPerMm[0] = ParameterList::getInstance()->getValue(MOVEMENT_STEP_PER_MM_X);
stepsPerMm[1] = ParameterList::getInstance()->getValue(MOVEMENT_STEP_PER_MM_Y);
long sourcePoint[2] = {0.0, 0.0};
double sourcePoint[2] = {0.0, 0.0};
sourcePoint[0] = CurrentState::getInstance()->getX();
sourcePoint[1] = CurrentState::getInstance()->getY();

View File

@ -996,7 +996,7 @@ int Movement::calibrateAxis(int axis)
float *encoderStepDecay;
bool *encoderEnabled;
int *axisStatus;
long *axisStepsPerMm;
double *axisStepsPerMm;
// Prepare for movement

View File

@ -126,7 +126,7 @@ private:
bool endStInv2[3] = { false, false, false };
bool endStEnbl[3] = { false, false, false };
long timeOut[3] = { 0, 0, 0 };
long stepsPerMm[3] = { 1.0, 1.0, 1.0 };
double stepsPerMm[3] = { 1.0, 1.0, 1.0 };
float motorConsMissedSteps[3] = { 0, 0, 0 };
int motorConsMissedStepsPrev[3] = { 0, 0, 0 };