From c03cdb8657b94a5f379adedda5812eca49aec3a9 Mon Sep 17 00:00:00 2001
From: "jamesimmanuel.magsino@stud.h-da.de" <James Immanuel Magsino>
Date: Tue, 3 Dec 2024 12:46:33 +0100
Subject: [PATCH] hmm

---
 src/main.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/main.c b/src/main.c
index 6f332b2..82dada6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -154,7 +154,7 @@ void init_pwm()
     gpio_set_function(28, GPIO_FUNC_PWM);
 
     volatile uint slice_num = pwm_gpio_to_slice_num(28);
-    pwm_set_clkdiv(slice_num, 133);
+    pwm_set_clkdiv(slice_num, 125);
     pwm_set_wrap(slice_num, 0xFFFF);
     pwm_set_chan_level(slice_num, PWM_CHAN_A, 10);
     pwm_set_enabled(slice_num, true);
@@ -162,10 +162,18 @@ void init_pwm()
 void pwm_echo_init()
 {
     volatile uint slice_num = pwm_gpio_to_slice_num(27);
-
-    pwm_set_clkdiv(slice_num, 1);
+    /*
+    // Count once for every 100 cycles the PWM B input is high
+    25 pwm_config cfg = pwm_get_default_config();
+    26 pwm_config_set_clkdiv_mode(&cfg, PWM_DIV_B_HIGH);
+    27 pwm_config_set_clkdiv(&cfg, 100);
+    28 pwm_init(slice_num, &cfg, false);
+    29 gpio_set_function(gpio, GPIO_FUNC_PWM);
+    */
+    // count once for every 42 cycles the PWM B input is high
+    pwm_set_clkdiv(slice_num, 42);
     pwm_set_wrap(slice_num, 0xFFFF);
-    pwm_set_clkdiv_mode(slice_num, PWM_DIV_FREE_RUNNING);
+    pwm_set_clkdiv_mode(slice_num, PWM_DIV_B_HIGH);
     pwm_set_enabled(slice_num, true);
 }
 int a = 0;
@@ -199,10 +207,11 @@ int main()
     init_pwm();
     pwm_echo_init();
 
-    gpio_set_irq_enabled_with_callback(27, GPIO_IRQ_LEVEL_LOW, true, &callback);
+    gpio_set_irq_enabled_with_callback(27, GPIO_IRQ_LEVEL_HIGH, true, &callback);
 
     while (1)
-        ;
+    {
+    }
     /*
     timer_hw->dbgpause = 0;
     gpio_init(27);
-- 
GitLab