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
*
* Tohle se do CH32V003 prostě nevejde.
* 12.05.2024 předěláno na voltmetr. Algoritmus měření není
* moc dokonalý, ale funguje to. Pin ADC je PA2, tlačítko
* 12.05.2024 předěláno na voltmetr. Pin ADC je PA2, tlačítko
* na PA1 proti 3.3V. Teploměr na čipu stojí za prd, muselo
* 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() {
unsigned t;
if (fifo.Read (t)) {
if (passcnt) { passcnt -= 1u; } else {
if (passcnt) { passcnt -= 1u; } else { // trochu pozdrž
const unsigned delta = absdiff(t, old);
if (delta > 10 or buton) {
if (delta > 10 or buton) { // chci výstup
old = t;
player.say(old, 3);
player.say(sayed_texts.units);
passcnt = 10u;
player.say(old, 3); // tady se zaplní fronta
player.say(sayed_texts.units); // v postatě nevalidními daty
while (fifo.Read(t)); // takže zde ji vyprázdním
passcnt = 10u; // a nastavím zpoždění (uklidni data)
}
}
}