From b07b0a01690e241db15f4e7c037df5cc00a873c9 Mon Sep 17 00:00:00 2001 From: dadij <126593917+dadij@users.noreply.github.com> Date: Thu, 3 Sep 2026 18:40:08 +0000 Subject: [PATCH] =?UTF-8?q?Main=20fall=20er=20fyrsta=20version=20sem=20vir?= =?UTF-8?q?kar,=20klasi=20fyrir=20ofan=20er=20p=C3=BAslun=20=C3=BAr=20?= =?UTF-8?q?=C3=BEv=C3=AD=20sem=20mun=20koma=20til=20me=C3=B0=20a=C3=B0=20e?= =?UTF-8?q?ndurskrifa=20main=20fall=20=C3=BAtfr=C3=A1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 main.cpp diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..54faf56 --- /dev/null +++ b/main.cpp @@ -0,0 +1,50 @@ +#include +#include +#include + +#include "digital_in.h" +#include "digital_out.h" + + +int main() { + uint8_t cycle{0}; + int8_t counter{0}; + double ratio; + + bool last_lo = false; + + Digital_in encoderA{4}; + Digital_in encoderB{5}; + Digital_out led{5}; + + encoderA.init(); + encoderB.init(); + led.init(); + + Serial.begin(9600); + + while (true) { + _delay_us(100); + led.set_lo(); + + bool curr_hi = encoderA.is_hi(); + + if (last_lo && curr_hi) { + counter += encoderB.is_lo() ? -1 : 1; + led.set_hi(); + } + ++cycle; + + if (cycle == 255) { + ratio = counter / (0.0255 * 700); + counter = 0; + cycle = 0; + Serial.println(ratio); + } + + last_lo = !curr_hi; + } + + + return 0; +}