Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
|
662bec1d45 | |
|
69da6b677b | |
|
6caa685a1d | |
|
8bfdefe7e3 | |
|
143e0ac8ce | |
|
8acd591e99 |
|
@ -1,7 +1,6 @@
|
||||||
# Backups/Generated Artifacts
|
# Backups/Generated Artifacts
|
||||||
_build
|
|
||||||
*.FCStd1
|
*.FCStd1
|
||||||
version.h
|
|
||||||
|
|
||||||
# Binaries
|
# Binaries
|
||||||
*.stl
|
*.stl
|
||||||
|
*.pdf
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,104 +0,0 @@
|
||||||
# A makefile for building the motor controller code.
|
|
||||||
# Uses arduino-cli, adapted from Steven Hale and others arduino make file practices
|
|
||||||
#
|
|
||||||
# 2021
|
|
||||||
|
|
||||||
PROJ := motor_controller
|
|
||||||
|
|
||||||
# What board to build for and its core
|
|
||||||
CORE ?= arduino:avr
|
|
||||||
FQBN ?= arduino:avr:nano
|
|
||||||
|
|
||||||
# Tools, their links and versions
|
|
||||||
ARDUINO_CLI_VERSION :=
|
|
||||||
ARDUINO_CLI_URL := https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh
|
|
||||||
ARDUINO_LINT_VERSION :=
|
|
||||||
ARDUINO_LINT_URL := https://raw.githubusercontent.com/arduino/arduino-lint/main/etc/install.sh
|
|
||||||
|
|
||||||
# The version and time we're compiling from
|
|
||||||
GIT_VERSION := "$(shell git describe --abbrev=4 --dirty --always --tags)"
|
|
||||||
COMPILED_DATE := "$(shell date)"
|
|
||||||
|
|
||||||
# Treat all warnings as errors.
|
|
||||||
BUILDPROP := compiler.warning_flags.all='-Wall -Wextra -Werror'
|
|
||||||
|
|
||||||
# Locations
|
|
||||||
ROOT := $(PWD)
|
|
||||||
BINDIR := $(ROOT)/_build/bin
|
|
||||||
BUILDDIR := $(ROOT)/_build
|
|
||||||
|
|
||||||
# What port to build on
|
|
||||||
ifndef SERIAL_DEV
|
|
||||||
ifneq (,$(wildcard /dev/ttyUSB0))
|
|
||||||
SERIAL_DEV = /dev/ttyUSB0
|
|
||||||
else ifneq (,$(wildcard /dev/ttyACM0))
|
|
||||||
SERIAL_DEV = /dev/ttyACM0
|
|
||||||
else
|
|
||||||
SERIAL_DEV = unknown
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all help build upload version release requirements
|
|
||||||
|
|
||||||
# Do everything
|
|
||||||
all: tools requirements version build
|
|
||||||
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo
|
|
||||||
@echo "Targets:"
|
|
||||||
@echo " lint De-lint the software."
|
|
||||||
@echo " build Build the software."
|
|
||||||
@echo " upload Upload the software."
|
|
||||||
@echo " requirements Fetch all requirements."
|
|
||||||
@echo
|
|
||||||
|
|
||||||
|
|
||||||
# Set VERBOSE=1 to not run in --silent
|
|
||||||
|
|
||||||
ifndef VERBOSE
|
|
||||||
.SILENT:
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Only build the code
|
|
||||||
build: version $(PROJ).ino
|
|
||||||
$(BINDIR)/arduino-cli core install $(CORE)
|
|
||||||
$(BINDIR)/arduino-cli compile -b $(FQBN) $(PROJ)
|
|
||||||
|
|
||||||
# Only upload the software
|
|
||||||
upload: version build $(PROJ).ino
|
|
||||||
$(BINDIR)/arduino-cli upload -b $(FQBN) $(PROJ) -p $(SERIAL_DEV)
|
|
||||||
|
|
||||||
# Only update the version
|
|
||||||
version:
|
|
||||||
echo "#define VERSION \"$(GIT_VERSION)\"" > version.h
|
|
||||||
echo "#define COMPILED_ON \"$(COMPILED_DATE)\"" >> version.h
|
|
||||||
|
|
||||||
# Generate an artifact
|
|
||||||
release: build $(PROJ).ino
|
|
||||||
$(BINDIR)/arduino-cli compile -b $(FQBN) $(PROJ) --output-dir $(BUILDDIR)
|
|
||||||
|
|
||||||
# Only fetch the requirements
|
|
||||||
requirements:
|
|
||||||
@if [ -e requirements.txt ]; \
|
|
||||||
then while read -r i ; do echo ; \
|
|
||||||
echo "---> Installing " '"'$$i'"' ; \
|
|
||||||
$(BINDIR)/arduino-cli lib install $$i ; \
|
|
||||||
done < requirements.txt ; \
|
|
||||||
else echo "---> MISSING requirements.txt file"; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Monitor the serial (debug) output.
|
|
||||||
# Requires minicom
|
|
||||||
monitor: upload
|
|
||||||
minicom -c on -D $(SERIAL_DEV) -b 115200
|
|
||||||
|
|
||||||
lint:
|
|
||||||
$(BINDIR)/arduino-lint --compliance strict
|
|
||||||
|
|
||||||
# Fetches all the tools required
|
|
||||||
tools:
|
|
||||||
mkdir -p $(BINDIR)
|
|
||||||
curl -fsSL $(ARDUINO_CLI_URL) | BINDIR=$(BINDIR) sh -s $(ARDUINO_CLI_VERSION)
|
|
||||||
curl -fsSL $(ARDUINO_LINT_URL) | BINDIR=$(BINDIR) sh -s $(ARDUINO_LINT_VERSION)
|
|
|
@ -1,13 +0,0 @@
|
||||||
# Motor Controller
|
|
||||||
|
|
||||||
## Notes on custom libs
|
|
||||||
|
|
||||||
micro ros is not in the lib repo i guess? so you gotta enable unsafe libs and install from git
|
|
||||||
|
|
||||||
change `enable_unsafe_install: true` in your `arduino-cli.yaml`
|
|
||||||
|
|
||||||
use this to init this file
|
|
||||||
|
|
||||||
```
|
|
||||||
./_build/bin/arduino-cli config init
|
|
||||||
```
|
|
|
@ -1,8 +0,0 @@
|
||||||
void setup() {
|
|
||||||
Serial.begin(115200);
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
Serial.println(millis());
|
|
||||||
delay(1000);
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
--git-url https://github.com/micro-ROS/micro_ros_arduino.git
|
|
Loading…
Reference in New Issue