From 4fa8c52157de3ba3e0d4ee2f86f3f3d2fa412196 Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Fri, 27 Oct 2023 09:50:27 +0200 Subject: [PATCH] buttons --- .gitignore | 2 ++ {src/blink => blink}/build.sh | 3 +-- {src/blink => blink}/main.c | 0 buttons/build.sh | 17 +++++++++++++++++ buttons/build/main.elf | Bin 0 -> 9460 bytes buttons/build/main.hex | 18 ++++++++++++++++++ buttons/main.c | 21 +++++++++++++++++++++ 7 files changed, 59 insertions(+), 2 deletions(-) rename {src/blink => blink}/build.sh (74%) rename {src/blink => blink}/main.c (100%) create mode 100755 buttons/build.sh create mode 100755 buttons/build/main.elf create mode 100644 buttons/build/main.hex create mode 100644 buttons/main.c 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 0000000000000000000000000000000000000000..a686ccc4264aa9cd0970a93a64767841c2ba310a GIT binary patch literal 9460 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 iF{u1LLQ|c!p1y{X2^M)-G4-I5q5|ujAihigvF6 literal 0 HcmV?d00001 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); + } + } +}