Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.
Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.
Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.
Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.
Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.
Apple představil (YouTube) telefony iPhone 17 Pro a iPhone 17 Pro Max, iPhone 17 a iPhone Air, sluchátka AirPods Pro 3 a hodinky Watch Series 11, Watch SE 3 a Watch Ultra 3.
Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.
Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.
Dobrý den,
Sanžím se (pomocí Pythonu) zprovoznit komunikaci s jistým HW zařízením, pomocí seriového portu. Jsem ve stavu, kdy dokáži na port zapisovat a HW bezproblému příjímá, ale potřeboval bych také, ale by program v Pythonu dokázal reagovat, když dostane od HW nějakou informaci.
Ke komunikaci používám pySerial. Mám takové malé GUI, kterým posílám informace HW a ten je přijímá, ale chtěl bych pro testovací účely, aby je HW poslal zpět. Ze strany HW to mám ošetřeno, ale nevím jak zachytávat zprávy v Pythonu, protože informace může přijít kdykoliv a jí na ni potřebuji reagovat.
Hledal jsem dlouho, ale našel jsem pouze nějaké řešení pomocí vícevláknové aplikace, což však neumím implementovat. Nenapadá prosím někoho nějaké jiné řešení jak odchytávat vstup? Popřípadě jak tedy využít více vláken a kde se o tom dozvědět nějaké informace?
Děkuji za každou odpověď...
A nebyl byste (popřípadě kdokoliv jiný) tak laskav a naznačil, jak by ta komunikace probíhala? Nedovedu si moc představit to probouzení. Kdybych měl hlavní proces s GUI a vytvořil vlákno, které by třeba čekalo na nějaký impuls na seriovém portu. Jak dát vědět tomu druhému, že se něco stalo a on na to má reagovat? Nebo si to špatně představuji?
Děkuji
GUI je v Tkinteru, nicméně se mi podařilo na webu najít nějakou ukázku terminálu ve wxPythonu a díky ní jsem to pochopil a zdárně implementoval. Jediné, co mě ještě trápí, jsou problémy s bufferem, respektive s posíláním zpráv z hardwaru (konkrétně jde o kit Arduino Decimilia). Zprávy jsou občas náhodně zalomeny na další řádek. Například pošlu-li číslo 123, tak ho přijmu jednou jako 123, jednou jako 12\n3 nebo 1\n23. Netuším čím to může být, ale zřejmě není problém na straně GUI.
Tak kdyby někdo řešil podobný problém:
Chyba byla ve špatné implementaci. Data jsem četl ve smyčce
while 1:
n = serial.read(1)
if n:
n = n + serial.read(n)
print n
a problém byl pravděpodobně způsoben tím, že jsem reagoval na stav bufferu dřív, než v něm byla všechna data. Tzn smyčka začínala a když se prováděl řádek n = serial.read(1), tak v bufferu byla uložena jen část řetězce.
Teď by mě ještě zajímalo jak vše zesynchronizovat. Napadlo mě použití nějakého odělovače (např.: dvojtečka, tečka, čárka nebo nějaký jiný málo používaný ASCII znak) a potom, když bude něco v bufferu, tak se bude číst, dokud nenarazím na daný znak. Napadá někoho lepší řešení?
No záleží na tom, jestli z toho HW chodí ASCII text, nebo nějaký binární svinstvo. Já jsem řešil podobný problém s bufferem na data, která jsem odesílal z jednočipu a coby ukončovací/oddělovací znak jsem používal 0x00.
Moc tomu tvému problému nerozumím. Možná by pomohlo sem hodit ukázku dat, která do toho portu tečou. Možná by taky nebylo od věci použít readline(), místo read(1) a pak to spojovat.
Pokud tomu ale rozumím správně, že ještě nemáš hotový protokol, kterým se bude komunikovat, pak bych doporučil jako oddělovač zpráv zvolit \n a pomocí toho readline() z toho portu číst po celých řádcích. Potom budeš moci třeba pomocí regulárních výrazů parsovat hodnoty v každé zprávě.
Tiskni
Sdílej: