diff --git a/.gitignore b/.gitignore index 51b1099..a9520ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ src/blink/build +blink/build +blink/build diff --git a/src/blink/build.sh b/blink/build.sh similarity index 74% rename from src/blink/build.sh rename to blink/build.sh index 98cbc3a..144d343 100755 --- a/src/blink/build.sh +++ b/blink/build.sh @@ -5,8 +5,7 @@ BUILD=./build mkdir -p $BUILD avr-gcc -mmcu=atmega328p -DF_CPU=16000000L \ -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR \ - -I/home/plex/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino \ - -I/home/plex/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/eightanaloginputs \ + -I/usr/avr/include \ main.c -o $BUILD/main.elf avr-objcopy -O ihex -R .eeprom $BUILD/main.elf $BUILD/main.hex diff --git a/src/blink/main.c b/blink/main.c similarity index 100% rename from src/blink/main.c rename to blink/main.c diff --git a/buttons/build.sh b/buttons/build.sh new file mode 100755 index 0000000..144d343 --- /dev/null +++ b/buttons/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -e +TDIR=$(mktemp -d) +BUILD=./build +mkdir -p $BUILD +avr-gcc -mmcu=atmega328p -DF_CPU=16000000L \ + -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR \ + -I/usr/avr/include \ + main.c -o $BUILD/main.elf +avr-objcopy -O ihex -R .eeprom $BUILD/main.elf $BUILD/main.hex + +avr-size -A $BUILD/main.elf +avrdude \ + "-C/home/plex/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf" -v -V \ + -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D \ + -Uflash:w:$BUILD/main.hex:i + diff --git a/buttons/build/main.elf b/buttons/build/main.elf new file mode 100755 index 0000000..a686ccc Binary files /dev/null and b/buttons/build/main.elf differ diff --git a/buttons/build/main.hex b/buttons/build/main.hex new file mode 100644 index 0000000..bd124f1 --- /dev/null +++ b/buttons/build/main.hex @@ -0,0 +1,18 @@ +:100000000C9434000C943E000C943E000C943E0082 +:100010000C943E000C943E000C943E000C943E0068 +:100020000C943E000C943E000C943E000C943E0058 +:100030000C943E000C943E000C943E000C943E0048 +:100040000C943E000C943E000C943E000C943E0038 +:100050000C943E000C943E000C943E000C943E0028 +:100060000C943E000C943E0011241FBECFEFD8E04C +:10007000DEBFCDBF0E9440000C9481000C940000B4 +:10008000CF93DF93CDB7DEB784E290E02FEFFC0192 +:1000900020838AE290E0FC0110828BE290E0FC0178 +:1000A00020818BE290E02C60FC01208385E290E0CF +:1000B000FC01108289E290E0FC018081882F90E0B1 +:1000C00084709927009749F485E290E0FC01208133 +:1000D00085E290E02062FC01208389E290E0FC014F +:1000E0008081882F90E088709927009719F785E222 +:1000F00090E0FC01208185E290E02F7DFC012083CF +:06010000D9CFF894FFCFF7 +:00000001FF diff --git a/buttons/main.c b/buttons/main.c new file mode 100644 index 0000000..859f996 --- /dev/null +++ b/buttons/main.c @@ -0,0 +1,21 @@ +#define F_CPU 16000000UL +#define __AVR_ATmega328P__ +#include + +int main(void) { + DDRB = 0xff; + DDRD = 0; + + PORTD |= (1 << PORTD2) | (1 << PORTD3); + + PORTB = 0; + + while (1) { + if (!(PIND & (1 << PIND2))) { + PORTB |= (1 << PORTB5); + } + if (!(PIND & (1 << PIND3))) { + PORTB &= ~(1 << PORTB5); + } + } +}