Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
int fd1 = wiringPiI2CSetup(0x48);
printf("%d!\n", fd1);
if (fd1 == -1) {
printf("MCP3221 not found!\n");
return EXIT_FAILURE;
}
int fd2 = wiringPiI2CSetup(0x68);
printf("%d!\n", fd2);
if (fd2 == -1) {
printf("MCP3424 not found!\n");
return EXIT_FAILURE;
}
První volání vrátí 4. (adc připojen)
Druhé volání vrátí 5. (adc odpojen). Je to nějaký busy stav.
Hledal jsem, jestli není nutné i2c nějak uvolnit (close,fclose...), ale nic
moc jsem nenašel.
Čekal bych, že v případě odpojení senzoru dostanu -1, ale možná jsem to jen
blbě pochopil?
"The return value is the standard Linux filehandle, or -1 if any error - in
which case, you can consult errno as usual."
Ještě doplnění.
Když přidám po vyčtení hodnot close(handle), tak pak v druhém případě (stejně jako v prvním) mi wiringPiI2CSetup vrací 4.
Takže otázka, mám dělat close()? Skoro v žádných příkladech to nedělají, ale tam věšinou pracují jen s jediným i2c zařízením a skript pak končí.
2) -1 mi vrací případné čtení/zápis, pokud zařízení není. Sice nechápu, proč se při open nevrací -1, ale neměl bych to tedy řešit ošetřením čtení/zápisu?
Jako pokud mi vrátí -1, pak vyhodit chybu device not found? Jak jsem pochopil z popisu I2C, tak tam nějaké potvrzování komunikace funguje...
Milan
Ak zapis skonci -1, vies urobit vypis akt. pripojenych a podla ozaj zistis, ze ci zariadenie je odpojene.A tohle by se dalo řešit jak? Když koukám, jak to řeší i2cdetect (https://kernel.googlesource.com/pub/scm/utils/i2c-tools/i2c-tools/+/i2c-tools-3.1/tools/i2cdetect.c), tak jestli to chápu správně, zkusí z toho zařízení/adresy přečíst popř. zapsat (podle nějakého intervalu adres) a když to failne, hodnotí zařízení jako odpojené. Z toho mi vychází, že mi stačí ošetřit mé první čtení/zápis a když se nezdaří, vyhodnotit to jako že zařízení je odpojené. Busy být nemůže, to mohou být jen zařízení, pro které je naloudován linuxový ovladač a v i2cdetect mají UU. Milan
Ak zapis skonci -1, vies urobit vypis akt. pripojenych a podla ozaj zistis, ze ci zariadenie je odpojene.Napr. pustis cez popen i2cdetect. Precitas vystup a pokial dane zariadenie nie je v tom vystupe znaci ze je odpojene. A mas naisto (inac je to neznama chyba a niekam zaloguje, aby si sa na to pozrel + prida ak este dmesg). A pri preklade (pri ./configure) pridat zavislost na program i2cdetect. Externy program - snaz sa o univerzalnost a jeden fork nezaberie az tak vela pamete/vykonu, ked to bude raz za cas. A v programe si pripadne poznacis, ze nema pripojene a raz za cas overy ci nebolo pridane. Alebo pripadne to mozes osetrit, ze ked ti rucne pripojis k tomu pocitacu, tak poslel program SIGUSR2, ktory v programe zmeni, ze nepouzivane bude pouzivane. Alebo pri prijaty signalu, preskenuje pripojene zariadenia. A pripada opat pouzivane zariadenia. Osetri open zariadenia, ale vzdy by si mal osetrit aj zapis/citanie, moze zlyhat. Ak budes mat aj aj overene, tak kod tvojho programu je pripraveny na aj aj chybu a jedno kt. chyba nastane. Je viac univerzalny. Kniznica overuje stavy, pitaj sa lower vyvojarov - kniznice, jadra, HW.
A co Multiplexer ? http://astromik.org/malymenu/menuraspi.htm
4! IN: 22.73 V 4! -1! Unable to write I2C device: Remote I/O error channel 1: 1102977.00 V -1! Unable to write I2C device: Remote I/O error channel 2: 1102977.00 V -1! Unable to write I2C device: Remote I/O error channel 3: 1102977.00 V -1! Unable to write I2C device: Remote I/O error channel 4: 1102977.00 V -1!
Tiskni
Sdílej: