correction voltmetr

This commit is contained in:
Kizarm 2024-05-12 21:33:45 +02:00
parent b1d64e1ab3
commit a273d734ff

View file

@ -11,8 +11,7 @@
* https://github.com/Kizarm/TTSCP_Client/tree/main/kecal/stm * https://github.com/Kizarm/TTSCP_Client/tree/main/kecal/stm
* *
* Tohle se do CH32V003 prostě nevejde. * Tohle se do CH32V003 prostě nevejde.
* 12.05.2024 předěláno na voltmetr. Algoritmus měření není * 12.05.2024 předěláno na voltmetr. Pin ADC je PA2, tlačítko
* moc dokonalý, ale funguje to. Pin ADC je PA2, tlačítko
* na PA1 proti 3.3V. Teploměr na čipu stojí za prd, muselo * na PA1 proti 3.3V. Teploměr na čipu stojí za prd, muselo
* by se to individuálně kalibrovat (nehledě na oteplení čipu). * by se to individuálně kalibrovat (nehledě na oteplení čipu).
*/ */
@ -65,13 +64,14 @@ unsigned int Meassure::Send(uint16_t * const ptr, const unsigned int len) {
void Meassure::out() { void Meassure::out() {
unsigned t; unsigned t;
if (fifo.Read (t)) { if (fifo.Read (t)) {
if (passcnt) { passcnt -= 1u; } else { if (passcnt) { passcnt -= 1u; } else { // trochu pozdrž
const unsigned delta = absdiff(t, old); const unsigned delta = absdiff(t, old);
if (delta > 10 or buton) { if (delta > 10 or buton) { // chci výstup
old = t; old = t;
player.say(old, 3); player.say(old, 3); // tady se zaplní fronta
player.say(sayed_texts.units); player.say(sayed_texts.units); // v postatě nevalidními daty
passcnt = 10u; while (fifo.Read(t)); // takže zde ji vyprázdním
passcnt = 10u; // a nastavím zpoždění (uklidni data)
} }
} }
} }