Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).
Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).
V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.
O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).
Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.
Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
assert(min_teplota < max_teplota);
while (true) {
teplota = getTeplota();
if (teplota <= min_teplota) {
setRele(true);
} else if (teplota >= max_teplota) {
setRele(false);
}
}
Četl jsi špatně otázku... Kdyby to bylo tak primitivní, tak to zvládnu sám....Vzhledem k řazení příspěvků v diskusi není úplně jisté, jestli reaguješ na to, co psal AraxoN, nebo na moji odpověď. Jirka
Mimochodem, myslím, že to, co radil AraxoN, s doplněním počátečního sepnutí, dává smysl, pokud by to běželo na nějakém jednoduchém řídícím čipu, který nedělá nic jiného. Problém by mohly být případné výjimečné situace.Četl jsi špatně otázku... Kdyby to bylo tak primitivní, tak to zvládnu sám....Vzhledem k řazení příspěvků v diskusi není úplně jisté, jestli reaguješ na to, co psal AraxoN, nebo na moji odpověď. Jirka
if aktualni_teplota <= minimalni_teplota || ( rele == 1 && aktualni_teplota < maximalni_teplota) {
rele = 1;
} else {
rele = 0;
}
if (kotel(teplota) < maxtep) zapnout(ohřev);
do {
if (kotel(teplota) > maxtep) vypnout(ohřev);
if (kotel(teplota) < mintep) zapnout(ohřev);
} while(topit());
vypnout(ohřev);
Přidat tam hlídání hladiny a tlaku je triviální.
#include <stdio.h>
#include <stdbool.h>
bool regulace_kotle(float aktualni_teplota, float minimalni_teplota, float maximalni_teplota) {
/*
Funkce pro regulaci kotle.
Argumenty:
aktualni_teplota: Aktuální teplota.
minimalni_teplota: Minimální požadovaná teplota.
maximalni_teplota: Maximální požadovaná teplota.
Vrací:
Stav relé kotle (true/false).
*/
if (aktualni_teplota < minimalni_teplota) {
// Teplota je nízká, zapneme relé.
return true;
} else if (aktualni_teplota >= maximalni_teplota) {
// Teplota je vysoká, vypneme relé.
return false;
} else {
// Teplota je v požadovaném rozmezí, relé zůstane beze změny.
return false; // Předpokládám, že chcete prozatím relé vypnout
}
}
int main() {
float aktualni_teplota = 22.5;
float minimalni_teplota = 20;
float maximalni_teplota = 25;
bool stav_rele = regulace_kotle(aktualni_teplota, minimalni_teplota, maximalni_teplota);
printf("Aktualni teplota: %.1f°C\n", aktualni_teplota);
printf("Minimalni teplota: %.1f°C\n", minimalni_teplota);
printf("Maximalni teplota: %.1f°C\n", maximalni_teplota);
printf("Stav rele: %s\n", stav_rele ? "zapnuto" : "vypnuto");
return 0;
}
if (aktualni_teplota >= maximalni_teplota) {
// Teplota je vysoká, vypneme relé.
return false;
} else {
// Teplota je v požadovaném rozmezí, relé zůstane beze změny.
return false; // Předpokládám, že chcete prozatím relé vypnout
}
jde nahradit za
return false;
#include <stdio.h>
int main() {
int minimalni_teplota = 2050;
int maximalni_teplota = 2400;
int aktualni_teplota;
int rele_stav = 0; // 0 pro vypnuto, 1 pro zapnuto
while (1) { // Nekonečná smyčka
printf("Rele stav: %d\n", rele_stav); // Výpis stavu relé
printf("Teplota v 0.01°C: ");
scanf("%d", &aktualni_teplota);
if (aktualni_teplota < minimalni_teplota) {
rele_stav = 1; // Sepnout relé
} else if (aktualni_teplota >= maximalni_teplota) {
rele_stav = 0; // Rozepnout relé
}
}
return 0;
}
Tento kód vypisuje stav relé a čeká na uživatelský vstup teploty v jednotkách setin stupňů Celsia. Pokud je teplota nižší než minimální teplota, relé se spustí; pokud je teplota rovna nebo vyšší než maximální teplota, relé se vypne.
if (aktualni_teplota < maximalni_teplota) rele_stav = 1; // Sepnout reléNic jednoduššího mě nenapadá. A) Začínat se zapnutým relé
int rele_stav = 1; není úplně čisté řešení. Po spuštění, při (aktualni_teplota >= maximalni_teplota) by relé bylo zapnuto jen na okamžik, v rámci jednoho cyklu - v případě pomalého taktu procesoru, rychlého relé a velkého spínaného výkonu by to teoreticky mohlo způsobit potíže. Šlo by to ošetřit, ale to by bylo zbytečně krkolomné.
B) Testovaní prvního běhu v nekonečném cyklu je nepraktické, zbytečně by se opakovalo a kód by byl složitější.
Tiskni
Sdílej: