diff options
author | lonkaars <loek@pipeframe.xyz> | 2023-04-25 20:55:35 +0200 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2023-04-25 20:55:35 +0200 |
commit | a5ae433b7f12246adb709a57223a853bd2a948c1 (patch) | |
tree | 9d82a347d34a4b1b8c71a54886999f6beb016953 | |
parent | 3a5c0f9bc2f9049114228e472826e31423dc5263 (diff) |
WIP arduino + pololu libraries build system
-rw-r--r-- | .gitmodules | 24 | ||||
m--------- | zumo/lib/ArduinoCore-avr | 0 | ||||
m--------- | zumo/lib/fastgpio-arduino | 0 | ||||
m--------- | zumo/lib/pololu-buzzer-arduino | 0 | ||||
m--------- | zumo/lib/pololu-hd44780-arduino | 0 | ||||
m--------- | zumo/lib/pololu-menu-arduino | 0 | ||||
m--------- | zumo/lib/pololu-oled-arduino | 0 | ||||
m--------- | zumo/lib/pushbutton-arduino | 0 | ||||
m--------- | zumo/lib/usb-pause-arduino | 0 | ||||
m--------- | zumo/lib/zumo-32u4-arduino-library | 0 | ||||
-rw-r--r-- | zumo/main.c | 15 | ||||
-rw-r--r-- | zumo/main.cpp | 13 | ||||
-rw-r--r-- | zumo/makefile | 15 | ||||
-rw-r--r-- | zumo/zumo.mk | 61 |
14 files changed, 110 insertions, 18 deletions
diff --git a/.gitmodules b/.gitmodules index e29501f..a60d698 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,27 @@ [submodule "zumo/lib/zumo-32u4-arduino-library"] path = zumo/lib/zumo-32u4-arduino-library url = https://github.com/pololu/zumo-32u4-arduino-library +[submodule "zumo/lib/fastgpio-arduino"] + path = zumo/lib/fastgpio-arduino + url = https://github.com/pololu/fastgpio-arduino +[submodule "zumo/lib/pushbutton-arduino"] + path = zumo/lib/pushbutton-arduino + url = https://github.com/pololu/pushbutton-arduino +[submodule "zumo/lib/ArduinoCore-avr"] + path = zumo/lib/ArduinoCore-avr + url = https://github.com/arduino/ArduinoCore-avr +[submodule "zumo/lib/usb-pause-arduino"] + path = zumo/lib/usb-pause-arduino + url = https://github.com/pololu/usb-pause-arduino +[submodule "zumo/lib/pololu-buzzer-arduino"] + path = zumo/lib/pololu-buzzer-arduino + url = https://github.com/pololu/pololu-buzzer-arduino +[submodule "zumo/lib/pololu-hd44780-arduino"] + path = zumo/lib/pololu-hd44780-arduino + url = https://github.com/pololu/pololu-hd44780-arduino +[submodule "zumo/lib/pololu-menu-arduino"] + path = zumo/lib/pololu-menu-arduino + url = https://github.com/pololu/pololu-menu-arduino +[submodule "zumo/lib/pololu-oled-arduino"] + path = zumo/lib/pololu-oled-arduino + url = https://github.com/pololu/pololu-oled-arduino diff --git a/zumo/lib/ArduinoCore-avr b/zumo/lib/ArduinoCore-avr new file mode 160000 +Subproject 42fa4a1ea1b1b11d1cc0a60298e529d37f9d14b diff --git a/zumo/lib/fastgpio-arduino b/zumo/lib/fastgpio-arduino new file mode 160000 +Subproject 5853c593b07730e632127570279e7dea06de1af diff --git a/zumo/lib/pololu-buzzer-arduino b/zumo/lib/pololu-buzzer-arduino new file mode 160000 +Subproject 20ef7b734814a7c5e9f02f54a2cdd41729759d5 diff --git a/zumo/lib/pololu-hd44780-arduino b/zumo/lib/pololu-hd44780-arduino new file mode 160000 +Subproject 0a35789a58ca92ca6f69b63fbc269959b2d1858 diff --git a/zumo/lib/pololu-menu-arduino b/zumo/lib/pololu-menu-arduino new file mode 160000 +Subproject 8970b8db6e4e80b1c0e95172a87a35410bf593b diff --git a/zumo/lib/pololu-oled-arduino b/zumo/lib/pololu-oled-arduino new file mode 160000 +Subproject e6b83b6c181962ffb98f99a4a4c3fd7cbf7e670 diff --git a/zumo/lib/pushbutton-arduino b/zumo/lib/pushbutton-arduino new file mode 160000 +Subproject 442884e004859ff550d5c0cae70033d7d568fc2 diff --git a/zumo/lib/usb-pause-arduino b/zumo/lib/usb-pause-arduino new file mode 160000 +Subproject 3f76e486460bb351f9738c86595f22db2da34c5 diff --git a/zumo/lib/zumo-32u4-arduino-library b/zumo/lib/zumo-32u4-arduino-library new file mode 160000 +Subproject f4dfe054e23176ba445748b4b91f463701e7eb7 diff --git a/zumo/main.c b/zumo/main.c deleted file mode 100644 index ab66db4..0000000 --- a/zumo/main.c +++ /dev/null @@ -1,15 +0,0 @@ -#define F_CPU 16000000 - -#include <avr/io.h> -#include <util/delay.h> - -int main() { - DDRC |= (1 << DDC7); - while(1) { - PORTC |= (1 << PORTC7); - _delay_ms(500); - PORTC &= ~(1 << PORTC7); - _delay_ms(500); - } -} - diff --git a/zumo/main.cpp b/zumo/main.cpp new file mode 100644 index 0000000..23d13db --- /dev/null +++ b/zumo/main.cpp @@ -0,0 +1,13 @@ +#include <Zumo32U4.h> +#include <Arduino.h> +#include <Wire.h> + +void setup() { +} + +void loop() { + ledRed(1); + delay(1000); + ledRed(0); + delay(1000); +} diff --git a/zumo/makefile b/zumo/makefile index aac11f4..1a7ad36 100644 --- a/zumo/makefile +++ b/zumo/makefile @@ -1,10 +1,13 @@ PORT = /dev/ttyUSB0 +C++ = avr-g++ CC = avr-gcc LD = avr-ld RM = rm -f -MCU=atmega32u4 +MCU = atmega32u4 +TARGET = main +SRCS += main.cpp CFLAGS += -mcall-prologues CFLAGS += -mmcu=$(MCU) @@ -13,14 +16,20 @@ CFLAGS += -g CFLAGS += -Wl,-gc-sections CFLAGS += -Wl,-relax -TARGET = main -SRCS += main.c +include zumo.mk + OBJS := $(patsubst %.c,%.o, $(SRCS)) +OBJS := $(patsubst %.cpp,%.o, $(OBJS)) + +MAKEFLAGS += -j4 .PHONY: all clean flash all: $(TARGET).hex +%.o: %.cpp + $(C++) -c $(CFLAGS) $< -o $@ + %.o: %.c $(CC) -c $(CFLAGS) $< -o $@ diff --git a/zumo/zumo.mk b/zumo/zumo.mk new file mode 100644 index 0000000..9605cb7 --- /dev/null +++ b/zumo/zumo.mk @@ -0,0 +1,61 @@ +CFLAGS += -DF_CPU=16000000 +CFLAGS += -I./lib/zumo-32u4-arduino-library/src +CFLAGS += -I./lib/fastgpio-arduino +CFLAGS += -I./lib/pushbutton-arduino +CFLAGS += -I./lib/usb-pause-arduino +CFLAGS += -I./lib/pololu-buzzer-arduino/src +CFLAGS += -I./lib/pololu-hd44780-arduino +CFLAGS += -I./lib/pololu-menu-arduino/src +CFLAGS += -I./lib/pololu-oled-arduino/src +CFLAGS += -I./lib/ArduinoCore-avr/cores/arduino +CFLAGS += -I./lib/ArduinoCore-avr/libraries/HID/src +CFLAGS += -I./lib/ArduinoCore-avr/libraries/SoftwareSerial/src +CFLAGS += -I./lib/ArduinoCore-avr/libraries/SPI/src +CFLAGS += -I./lib/ArduinoCore-avr/libraries/EEPROM/src +CFLAGS += -I./lib/ArduinoCore-avr/libraries/Wire/src +CFLAGS += -I./lib/ArduinoCore-avr/variants/circuitplay32u4 + +LIBS += lib/ArduinoCore-avr/libraries/HID/src/HID.cpp \ + lib/ArduinoCore-avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp \ + lib/ArduinoCore-avr/libraries/SPI/src/SPI.cpp \ + lib/ArduinoCore-avr/libraries/Wire/src/Wire.cpp \ + lib/ArduinoCore-avr/cores/arduino/HardwareSerial1.cpp \ + lib/ArduinoCore-avr/cores/arduino/HardwareSerial0.cpp \ + lib/ArduinoCore-avr/cores/arduino/WString.cpp \ + lib/ArduinoCore-avr/cores/arduino/PluggableUSB.cpp \ + lib/ArduinoCore-avr/cores/arduino/WMath.cpp \ + lib/ArduinoCore-avr/cores/arduino/IPAddress.cpp \ + lib/ArduinoCore-avr/cores/arduino/abi.cpp \ + lib/ArduinoCore-avr/cores/arduino/HardwareSerial.cpp \ + lib/ArduinoCore-avr/cores/arduino/CDC.cpp \ + lib/ArduinoCore-avr/cores/arduino/new.cpp \ + lib/ArduinoCore-avr/cores/arduino/Stream.cpp \ + lib/ArduinoCore-avr/cores/arduino/HardwareSerial2.cpp \ + lib/ArduinoCore-avr/cores/arduino/Print.cpp \ + lib/ArduinoCore-avr/cores/arduino/main.cpp \ + lib/ArduinoCore-avr/cores/arduino/HardwareSerial3.cpp \ + lib/pololu-buzzer-arduino/src/PololuBuzzer.cpp \ + lib/pushbutton-arduino/Pushbutton.cpp \ + lib/zumo-32u4-arduino-library/src/QTRSensors.cpp \ + lib/zumo-32u4-arduino-library/src/Zumo32U4IRPulses.cpp \ + lib/zumo-32u4-arduino-library/src/Zumo32U4Encoders.cpp \ + lib/zumo-32u4-arduino-library/src/Zumo32U4IMU.cpp \ + lib/zumo-32u4-arduino-library/src/Zumo32U4Motors.cpp \ + lib/zumo-32u4-arduino-library/src/Zumo32U4ProximitySensors.cpp \ + lib/usb-pause-arduino/USBPause.cpp \ + lib/pololu-hd44780-arduino/PololuHD44780.cpp \ + lib/fastgpio-arduino/FastGPIO.cpp \ + lib/pololu-oled-arduino/src/font.cpp +# lib/ArduinoCore-avr/cores/arduino/Tone.cpp +# lib/ArduinoCore-avr/libraries/Wire/src/utility/twi.c + +LIBS += lib/ArduinoCore-avr/cores/arduino/WInterrupts.c \ + lib/ArduinoCore-avr/cores/arduino/hooks.c \ + lib/ArduinoCore-avr/cores/arduino/wiring_shift.c \ + lib/ArduinoCore-avr/cores/arduino/wiring_digital.c \ + lib/ArduinoCore-avr/cores/arduino/wiring_analog.c \ + lib/ArduinoCore-avr/cores/arduino/wiring_pulse.c \ + lib/ArduinoCore-avr/cores/arduino/wiring.c + +SRCS += $(LIBS) + |