From f65841ce311967a812404e6c06e30e013058e91c Mon Sep 17 00:00:00 2001
From: Rutherther <rutherther@ditigal.xyz>
Date: Fri, 29 Nov 2024 12:20:13 +0100
Subject: [PATCH] feat(arm03): pin_write uses sets/reset instead f writing to
 ODR

---
 arm03/src/pin.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arm03/src/pin.c b/arm03/src/pin.c
index 88d724f..a99fcd1 100644
--- a/arm03/src/pin.c
+++ b/arm03/src/pin.c
@@ -22,7 +22,11 @@ uint8_t pin_read(pin_t *pin) {
 }
 
 uint8_t pin_write(pin_t *pin, uint8_t val) {
-  reg_write_bits_pos(&pin->gpio->ODR, val, pin->pin, 1);
+  if (val) {
+    pin_set(pin);
+  } else {
+    pin_reset(pin);
+  }
 }
 void pin_toggle(pin_t *pin) {
   reg_toggle_bits_pos(&pin->gpio->ODR, pin->pin, 1);
-- 
2.48.1