All the previous but the PID

Dependencies:   mbed QEI PID DmTftLibraryEx

Revision:
26:bfca0c471a87
Parent:
25:5fd2d69e2927
Child:
27:654100855f5c
--- a/main.cpp	Thu Feb 10 13:19:59 2022 +0000
+++ b/main.cpp	Thu Feb 10 13:46:17 2022 +0000
@@ -14,6 +14,19 @@
 //#include "main.h"
 //#include "app_config.h"
 
+// LA:  Theory of Operation
+//      ===================
+//
+//  Il PWM funziona da sè in Interrupt
+//  Il QEI funziona da sè in Interrupt
+//  Se si creano dei Ticker (Che sono a loro volta interrupt(s)) è possibile che PWM e QEI perdano correlazione con l'HW.
+//
+//  PQM
+//
+//  Il rinfresco del Display e la gestione del motion vanno fatte il più frequentemente possibile ma fuori dal loop dei Ticker.
+//  Con qst versione (LA0005, che termina un FORK (il successivo è LA0010) quanto detto sopra è FUNZIONANTE.
+//  Questo messaggio è incluso nel "commitment"
+
 /*!
  * \brief Define IO for Unused Pin
  */
@@ -131,30 +144,16 @@
 //    PWM_SetOut.attach_us  (&PWM____tScan, 100);              //      Scansione base PWM @40us,   Duty Cycle 5ms, 0- 100%
 
     PWM_PB3.period_us(100);         // LA:  TimeBase is 100us
-    PWM_PB3.pulsewidth_us(50);      //      0.. 100us ->   0.. 100%
 
     while   (1) {
-//        int32_t i32_Pulses;
-//        i32_Pulses =    Stabilus322699.getPulses();
+        int32_t i32_Pulses;
+        i32_Pulses =    Stabilus322699.getPulses();
 
         PosizionatoreSW (in_PosizionatoreSW, out_PosizionatoreSW);
+        PWM_PB3.pulsewidth_us(((float)i32_Pulses/ (float)5000.0)* (float)100.0);      //      0.. 100us ->   0.. 100%
 
         // LA:  Wedge 4 LCDRefresh
-        StabilusMenu (out_PosizionatoreSW.ui32_PreviousStep_ms, out_PosizionatoreSW.ui32_ActualStepSampled_ms, out_PosizionatoreSW.ui32_PassedActual_ms, Stabilus322699.getPulses());
-//        StabilusMenu (0, 1, 2, i32_Pulses);
-//        StabilusMenu (0, 1, i32_Pulses);
-//        StabilusMenu (0, 0, 0); // i32_Pulses);
-//        StabilusMenu (); // i32_Pulses);
-//        StabilusMenu (1); // i32_Pulses);
-
-
-/*
-        PWM_PB3 =  PWM_PB3+ (float)0.01;
-//        wait_ms(10);
-        if  (PWM_PB3 >= (float)1.0)
-            PWM_PB3 = 0;
-*/
-
+        StabilusMenu (0, 0, out_PosizionatoreSW.ui32_PassedActual_ms, i32_Pulses);
     }
 }