new build system, does not use arduino ide
This commit is contained in:
		
							parent
							
								
									95032c0d98
								
							
						
					
					
						commit
						23d27d7e2d
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
/bin
 | 
			
		||||
/protobuf
 | 
			
		||||
							
								
								
									
										82
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,82 @@
 | 
			
		||||
ARDUINO_DIR?="external/ArduinoCore-avr"
 | 
			
		||||
NANOPB_DIR?="external/nanopb"
 | 
			
		||||
 | 
			
		||||
CC=avr-gcc
 | 
			
		||||
CXX=avr-g++
 | 
			
		||||
OBJCOPY=avr-objcopy
 | 
			
		||||
OBJDUMP=avr-objdump
 | 
			
		||||
BINSIZE=avr-size
 | 
			
		||||
OUT=./bin/
 | 
			
		||||
NAME=collar
 | 
			
		||||
 | 
			
		||||
CFLAGS?=-Datmega328p\
 | 
			
		||||
				-Dmega328p\
 | 
			
		||||
				-mmcu=atmega328p\
 | 
			
		||||
				-Wl,--gc-sections\
 | 
			
		||||
				-DF_CPU=16000000L\
 | 
			
		||||
				-DARDUINO=200\
 | 
			
		||||
				-DARDUINO_AVR_NANO\
 | 
			
		||||
				-DARDUINO_ARCH_AVR\
 | 
			
		||||
				-Os\
 | 
			
		||||
				-ffunction-sections\
 | 
			
		||||
				-fdata-sections\
 | 
			
		||||
				-MMD\
 | 
			
		||||
				-flto\
 | 
			
		||||
				-fno-fat-lto-objects\
 | 
			
		||||
		  	-fuse-linker-plugin
 | 
			
		||||
 | 
			
		||||
INC_DIRS?=-I./$(ARDUINO_DIR)/libraries/SPI/src\
 | 
			
		||||
					-I./$(ARDUINO_DIR)/cores/arduino\
 | 
			
		||||
					-I./$(ARDUINO_DIR)/variants/eightanaloginputs\
 | 
			
		||||
					-I./libraries/arduino-LoRa/src\
 | 
			
		||||
					-I./libraries/TinyGPSPlus/src\
 | 
			
		||||
					-I./$(NANOPB_DIR)\
 | 
			
		||||
					-I./protobuf\
 | 
			
		||||
					-I./$(ARDUINO_DIR)/libraries/SoftwareSerial/src/
 | 
			
		||||
 | 
			
		||||
SRC_FILES?=./$(ARDUINO_DIR)/cores/arduino/main.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/wiring_digital.c\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/wiring_analog.c\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/WInterrupts.c\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/hooks.c\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/wiring.c\
 | 
			
		||||
           ./$(ARDUINO_DIR)/cores/arduino/HardwareSerial.cpp\
 | 
			
		||||
           ./$(ARDUINO_DIR)/cores/arduino/HardwareSerial0.cpp\
 | 
			
		||||
           ./$(ARDUINO_DIR)/cores/arduino/HardwareSerial1.cpp\
 | 
			
		||||
           ./$(ARDUINO_DIR)/cores/arduino/HardwareSerial2.cpp\
 | 
			
		||||
           ./$(ARDUINO_DIR)/cores/arduino/HardwareSerial3.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/libraries/SPI/src/SPI.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/WString.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/Print.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/Stream.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/new.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/cores/arduino/abi.cpp\
 | 
			
		||||
					 ./$(ARDUINO_DIR)/libraries/SoftwareSerial/src/SoftwareSerial.cpp\
 | 
			
		||||
					 ./libraries/arduino-LoRa/src/LoRa.cpp\
 | 
			
		||||
					 ./libraries/TinyGPSPlus/src/TinyGPS++.cpp\
 | 
			
		||||
					 ./$(NANOPB_DIR)/pb_encode.c\
 | 
			
		||||
					 ./$(NANOPB_DIR)/pb_decode.c\
 | 
			
		||||
					 ./$(NANOPB_DIR)/pb_common.c\
 | 
			
		||||
					 ./gateway/message.pb.c
 | 
			
		||||
 | 
			
		||||
build: $(OUT)$(NAME).hex
 | 
			
		||||
 | 
			
		||||
$(OUT)$(NAME).hex: $(OUT)$(NAME).elf
 | 
			
		||||
	$(OBJCOPY) -R .eeprom -O ihex $(OUT)$(NAME).elf $(OUT)$(NAME).hex
 | 
			
		||||
$(OUT)eep.hex: $(OUT)$(NAME).elf
 | 
			
		||||
	$(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $(OUT)$(NAME).elf $(OUT)eep.hex
 | 
			
		||||
$(OUT)$(NAME).elf: protobuf bin
 | 
			
		||||
	$(CC) $(CFLAGS) -o $(OUT)$(NAME).elf collar.cpp $(INC_DIRS) $(SRC_FILES) 
 | 
			
		||||
 | 
			
		||||
protobuf:
 | 
			
		||||
	mkdir -p protobuf/gateway
 | 
			
		||||
	python external/nanopb/generator/nanopb_generator.py gateway/message.proto -D protobuf
 | 
			
		||||
 | 
			
		||||
bin: 
 | 
			
		||||
	mkdir bin
 | 
			
		||||
 | 
			
		||||
flash:
 | 
			
		||||
	avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:$(OUT)$(NAME).hex:i
 | 
			
		||||
clean:
 | 
			
		||||
	rm -r protobuf
 | 
			
		||||
	rm -r bin
 | 
			
		||||
@ -7,7 +7,7 @@
 | 
			
		||||
#include "pb.h"
 | 
			
		||||
#include "pb_encode.h"
 | 
			
		||||
 | 
			
		||||
#include "message.pb.h"
 | 
			
		||||
#include "gateway/message.pb.h"
 | 
			
		||||
 | 
			
		||||
unsigned long previousMillis = 0;
 | 
			
		||||
const long interval = 5000;
 | 
			
		||||
							
								
								
									
										2
									
								
								gateway
									
									
									
									
									
								
							
							
								
								
								
								
								
								
							
						
						
									
										2
									
								
								gateway
									
									
									
									
									
								
							@ -1 +1 @@
 | 
			
		||||
Subproject commit 19985b04c221441bfe461d694023d1cb76147c56
 | 
			
		||||
Subproject commit 927f3dc6c614fc20ff2300b1d34139deceaea063
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user