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.
Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.
Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.
Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.
Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."
V Německu slavnostně uvedli do provozu (en) nejrychlejší počítač v Evropě. Superpočítač Jupiter se nachází ve výzkumném ústavu v Jülichu na západě země, podle německého kancléře Friedricha Merze otevírá nové možnosti pro trénování modelů umělé inteligence (AI) i pro vědecké simulace. Superpočítač Jupiter je nejrychlejší v Evropě a čtvrtý nejrychlejší na světě (TOP500). „Chceme, aby se z Německa stal národ umělé inteligence,“ uvedl na
… více »V Berlíně probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2025. Při té příležitosti byla oznámena alfa verze nové linuxové distribuce KDE Linux.
Byl vydán Debian 13.1, tj. první opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.12, tj. dvanáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Evropská komise potrestala Google ze skupiny Alphabet pokutou 2,95 miliardy eur (71,9 miliardy Kč) za porušení antimonopolní legislativy. Podle EK, která mimo jiné plní funkci antimonopolního orgánu EU, se Google dopustil protisoutěžních praktik ve svém reklamním byznysu. Google v reakci uvedl, že rozhodnutí považuje za chybné a hodlá se proti němu odvolat. EK ve věci rozhodovala na základě stížnosti Evropské rady vydavatelů. Podle
… více »Dear princess Luna....
Bude to znít podivně, ale mám několik nápadů na externí zařízení připojitelná k PC pro vyhodnocování dat. Problémem je, že netuším jak číst data.
Nejdříve popíšu můj názor na věc:
- Paralelní port - Velmi oblíbený port pro tisk či ovládání CNC fréz (i naše záložní školní která je právě v rekonstrukci ho používá), bohužel v dnešní době díky omezenosti výrobců desek již vyhynulý.
- Sériový port - Dříve používaný pro připojení modemů, ale doteď je hojně používán pro programování automatů PLC, existují funkční převodníky z USB bez větších latencí.
- Gameport - Dávno vyhynulý a přesto neskutečně zajímavý (jestli se nepletu, tak dokázal zpracovávat i analogové vstupy - třeba aktuální polohu frézy).
Bohužel žádný z těchto portů na dnešních strojích již nenajdete, sériový port se (na stolních strojích) drží tesáky drápy, ale mám pocit, že věčně tu nevydrží.
Mým hlavním cílem u mých projektů je zajistit, aby funkce nebyla omezená "technologicky" v takovém smyslu, že moje zařízení půjde připojit JEN na množinu N počítačů. Ovládací software může přepsat a rozšířit kdokoli, ale dodatečně připájet konektory nedokáže na desku bez cest ani Chuch Norris.
Při poslouchání muziky mi po chvíli došlo, že hudbu nezačneme snad nikdy nenávidět....a vzpomněl jsem si na kdysi populární ZX Spectrum. Zvuková karta tu byla, je a ještě dlouho bude.
Nějakou dobu jsem hledal sinusový generátor pro GNU/Linux, ale nic co by pořádně fungovalo jsem (ano, píše se rok 2012!) nenašel. Speaker-test obsažený v ALSA dokáže sice generovat sinus, ale ať nastavím hodnoty jakkoli, nikdy netrvá takovou dobu, kterou si nastavím, vždy jen něco pod dvě vteřiny. Nakonec jsem si v Audacity vytvořil vzorky sinusových signálů o různých frekvencích. Frekvencí je celkem 11, ovšem výstup je sedmibitový, pro mě dostačující (4 vzorky spouštějí najednou dva sousední výstupy). Při vzorkování 96K mají soubory velikost v jednotkách KB a proto se není čeho obávat.
Externí zařízení připojené k PC by mělo pomocí frekvenčních filtrů a komparátorů spínat jeden (dva) ze svých výstupů.
Tímto se dostávám k jádru pudla.
Snad každý opravdu přesný a funkční přístroj vyžaduje zpětnou vazbu. Co to je? To je něco, bez čeho se žít dá, ale život se hodně znesnadňuje. V mém případě by externí zařízení k PC stálo možná více jak dvojnásobek svojí ceny při NEpoužití zpětné vazby.
Po první kapitole o portech je asi jasné, kterým "portem" chci zrealizovat zpětnou vazbu, teda dostávat data do Debianu.
Mikrofoní a Line vstupy obsahuje snad každá zvuková karta. V mém případě potřebuji jen počítat impulzy. Nešla by k tomu využít právě zvuková karta? Nemá někdo tip na program, který dokáže číst úroveň signálu na vstupu zvukové karty a vypisovat třeba tečku při překročení nastavené hodnoty? Tímto by se zajistila zpětná vazba u mého prvního projektu, který je na toto docela choulostivý. Původní plány byly kompletně bez zpětné vazby a i taková zařízení jsou funkční. Ovšem v mém případě bych v zájmu úspor zpětnou vazbu ocenil, neboť narozdíl od školní CNC frézy řízené přes paralelní port je leccos jinak.
Dalším vstupem (vhodným pro jiný projekt) je sériový port, připojený případně přes USB převodník. Chápu že na sériový port musím posílat data určitou rychlostí, číst je bych měl taky dokázat, ovšem jak je oddělit? Když mám sériový port nastavený jako osmibitový bez parity a budu chtít 2x po sobě poslat 8 bitů, jak to mám udělat? Poslat prvních 8 bitů, počkat dalších (minimálně) 8 bitů a poté posílat další? A může sériový port na jednom ze svých pinů poslat impulz typu "Tlač sem další data, jsem ready"?
Toť pro mě nepřekonatelný problém. Je to tak nebo není?
Pokud mi někdo vysvětlí jak je to vlastně s tím sériovým portem a jestli jdou počítat impulzy přes zvukovou kartu, budu tomu tvorovi velmi zavázán
Leckteré pasáže mohou vypadat jak vytržené z kontextu, od pondělí jsem pořádně nespal (je pátek) a právě se to chystám dohnat. Předem díky všem
Tiskni
Sdílej:
Andruino beru taky jako možnost, ale hledám nejlevnější alternativu a vlastní cestu (neprobádanou + chci se naučit jak to funguje).
Navíc co se týče "programování", tak jen Bash, s Cčkem neumim a nikdy jsem nepochopil jak funguje (ano, jsem barbar).
xoscope
Díky moc, to vypadá přesně jako to, co jsem celou dobu hledal. Ještě něco co by dokázalo číst signál na vstupu a počítat impulzy a bylo by to perfektní
Právě 25-kolíková zástrčka mě docela děsí, protože teď je všude jen ta 9-kolíková
Tak ale na USB můžu připojit rovnou andruino, radši bych něco primitivního, co umí klidně i jen posílat data jedním směrem, ale zato to skoro nic nestojí
Nezapomínám, právě mi jde jen o ty impulzy. Teda, takže přes zvukovku už i posílat sériově data? No, ne že by mě to nenapadlo, ale že na to opravdu existuje i nějaká knihovna.....wow
jen nezapomeňte, že jsou tam kondenzátory a projdou jen impulzy - žádné delší úrovně v 0 nebo 1Menšestr nebo podobná modulace. Tohle nevím v jakém je stavu.
lspci
takto:
00:06.0 Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01) Subsystem: LSI Logic / Symbios Logic 2P0S (2 port parallel adaptor) Flags: medium devsel, IRQ 17 I/O ports at d800 [size=8] I/O ports at d400 [size=8] I/O ports at d000 [size=8] I/O ports at c800 [size=8] I/O ports at c400 [size=8] I/O ports at c000 [size=16] Kernel driver in use: parport_pc Kernel modules: parport_pcAdresy, co potřebujeme, jsou ta první a ta třetí v pořadí, v případě pochybností je to neejedoduší to zkusit přímo na hardwaru, nebo nechat jádro natáhnout ovladač a kouknout se, co vypíše:
parport1: PC-style at 0xd800 (0xd400), irq 17, using FIFO [PCSPP,TRISTATE,COMPAT,ECP] parport2: PC-style at 0xd000 (0xc800), irq 17, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]Ty druhé jsou pro EPP/ECP a pro používaní paralelního portu jako GPIO nejsou potřeba. Pokud se nechcete trápit s USB obludkami, je tohle asi nejjednoduší řešení.
Děkuji moc, vypadá to jako moc zajímavá možnost
0x11
a 0x13
), kde XOFF znamená, zjednodušeně řečeno, "Teď nic neposílej, mám plno" a XON "Můžeš zas posílat". Tento protokol používají většinou pomalá zařízení, obzvlášť když komunikují v textovém protokolu. K připojení stačí jen tři vodiče, RX, TX a zem.
Pak je několik variant řízení toku pomocí signálú na řízení modemu, většinou pomocí RTS+CTS (občas i DTR+DSR). Když je zařízení na druhém konci může přijímat, nastaví RTS (Ready To Send), které je připojené k vstupu CTS (Clear To Send) a naopak. Z pohledu aplikace se o to není třeba nijak, stačí to jen zapnout a ovladač udělá zbytek.
Na připojení je třeba pět vodičů, i když teoreticky jde použít k řízení i další signály*. Hlavní výhoda je možnost použít vyšší rychlosti (než, řekněme, 9 600 baudů) a bezproblémové přenášení binárních dat. A často používaný převodník úrovní TTL<->RS232 MAX232 má právě čtyři vstupy/výstupy, takže na TX+RX+RTS+CTS to přesně stačí.
Nevýhoda je, že různá zařízení to řeší různým způsobem, i když ve většině případu by mělo stačit jen proházet dráty. Tedy alespoň teoreticky ...
*Například jsem viděl popis GPS přijímače, kde jeden signál indikoval 2D/3D fix (tj. získání polohy) a druhý posílal sekundové pulzy.
/* Generovani sinusovky */ /* Autor: Vaclav Svirga */ /* (tedy az na nastaveni zvukovky, to uz nevim z jakeho tutorialu sem vykrad) */ /* DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. */ #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/ioctl.h> #include <stdlib.h> #include <stdio.h> #include <linux/soundcard.h> #include <math.h> //Uzivatelske konstanty #define D_AMP 128 //defaultni amplituda (0 - 128, vyssi amplitudy se orezou) #define D_FREQ 440 //defaultni frekvence (Hz) #define D_TIME -1 //defaultni delka hrani (v sekundach) //klidne to muze byt desetinne cislo, ale nejmensi casovy usek je //delka jedne periody sinu * (N + 10), kde N je pocet period //aby se to presne vlezlo do poctu vzorku (aby sinusovka navazovala) //Pro NEKONECNO jde zadat -1 //Nejake interni konstanty, nemenit az na vzorkovaci frekvenci #define RATE 48000 // the sampling rate #define SIZE 8 // sample size: 8 or 16 bits - jen pro nastaveni zvukovky */ #define CHANNELS 1 // 1 = mono 2 = stereo - jen pro nastaveni zvukovky #define LENGTH 20 //max delka bufferu v sekundach unsigned char buf[LENGTH*RATE*SIZE*CHANNELS/8]; //jednosekundovy buffer //Pomocna funkce pro vytvoreni sinu s patricnou amplitudou ve stupnich //x je uhel, a je |amplituda|, nula sinusovky je ve 128 //Pri amplitude 128 se pro kladnou cast dela amplituda 127, aby se vysledek vesel na 8 bitu // tedy je sinus nesymetricky //Pri vyssich amplitudach se sinus orezava na 8 bitu int sinus(int x, int a) { if (a==0) return 0; x %= 360; int ret = sin((M_PI * 2.0 * x) / 360.0) * ((x<= 180 && a == 128) ? 127 : a) + 128; if(ret > 255) ret = 255; if(ret < 0) ret = 0; return ret; } int main(int argc, char *argv[]) { //Nejaka magie pro otevreni zvukovky int fd; /* sound device file descriptor */ int arg; /* argument for ioctl calls */ int status; /* return status of system calls */ /* open sound device */ fd = open("/dev/dsp", O_RDWR); if (fd < 0) { perror("open of /dev/dsp failed"); exit(1); } /* set sampling parameters */ arg = SIZE; /* sample size */ status = ioctl(fd, SOUND_PCM_WRITE_BITS, &arg); if (status == -1) perror("SOUND_PCM_WRITE_BITS ioctl failed"); if (arg != SIZE) perror("unable to set sample size"); arg = CHANNELS; /* mono or stereo */ status = ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &arg); if (status == -1) perror("SOUND_PCM_WRITE_CHANNELS ioctl failed"); if (arg != CHANNELS) perror("unable to set number of channels"); arg = RATE; /* sampling rate */ status = ioctl(fd, SOUND_PCM_WRITE_RATE, &arg); if (status == -1) perror("SOUND_PCM_WRITE_WRITE ioctl failed"); //nacteni parametru int f = D_FREQ, amp = D_AMP, i; float time = D_TIME; if (argc > 1) f = atoi(argv[1]); if (argc > 2) amp = atoi(argv[2]); if (argc > 3) time = atof(argv[3]); printf("Hrani sinusovky na /dev/dsp\n" "Pokud vam to nehraje, nebo chcete softwarovy mixer, zkuste to pustit s aoss ./program\n\n" "Frekvence je: %6i Hz \t(mozne zadat jako 1. arg)\n" "Amplituda je: %6i \t(mozne zadat jako 2. arg, idealne 0 - 128, vyssi amp se orezou, 128 je 127 pro kladnou cast)\n" "Delka hrani je: %3.3f s\t(mozne zadat jako 3. arg (i des. cislo), -1 je nekonecno)\n", f, amp, time); if(f <= 0 || amp < 0) exit(1); //Spocitame kolik amplitud sinusovky se nam PRESNE vleze do vzorkovaci frekvence + 10 //Je to nutne proto, aby sinusovky hezky navazovaly na sebe a buffer nebyl prilis kratky //Pokud by se to nesplnilo, nemuselo by to hrat pekne ;] int count_amp = 10; while ((RATE * count_amp) % (f) != 0) count_amp++; //Spocitame delku vsech amplitud ve vzorcich int size_amps = (RATE * count_amp) / (f); int s; //vygenerujeme buffer se vzorky sinu for (i = 0; i < size_amps + 1; i++) { s = sinus((360.0 * count_amp * i) / size_amps, amp); buf[i] = s > 255 ? 255 : s; } //zahrajeme sinusovku :) float remain = (RATE * time) / size_amps - (int) ((RATE * time) / size_amps); //budeme prehravat buffer tak dlouho, aby jsme hrali pozadovany cas for(i = 0; time < 0 ? 1 : i < (int) ((RATE * time) / size_amps); i++) { status = write(fd, buf, size_amps); } //A nakonec prehrajeme zbytek do pozadovaneho casu, nalezite osekly status = write(fd, buf, size_amps * remain); }Přeložíš to takhle: gcc -lm -o program program.c a pustis treba takhle: ./program (bude hrat porad komorni a pri amplitude 128) nebo ./program 200 10 0.5 (pul sekundy 200 Hz pri amplitude 10) nebo ./program 200 10 -1 (nekonecne dlouho 200 Hz pri amplitude 10). Zbytek informaci je v komentarich a napovede co to vypise pri spusteni...
//vygenerujeme buffer se vzorky sinu for (i = 0; i < size_amps; i++) { buf[i] = sinus((360.0 * count_amp * i) / size_amps, amp); }Ale funguje to stejne
Teda, díky moc za vlákno příspěvků, určitě se to bude hodit I když spíš koukám po sox, i tak - bude se mi to hodit minimálně v případě, kdybych se učil programovat v C
Pochopeno správně Snažím se použít naprosto nejjednodušší principy, jestli se k tomu jednou dokopu, tak to pojede jednovláknově a pokudmožno chci aby všechno šlo zrealizovat v Bashi. A proč to dělám? Protože můžu
A protože neumim s C
Děkuji, obecně analog bych pořád cpal kamkoli to jde, asi je to můj osud
Děkuju moc za hromadu linků, rychle jsem na to kouknul a zaujalo mě to Hlavně programování Andruina přes zvukovku
Jestli někdy programovat mikročipy, tak chci jít rozhodně do AVR
IMG099.jpgŽádnej průběh nevidím, ale máte hezkej vchod do baráku
Žádnej průběh nevidím, ale máte hezkej vchod do barákuNo jo. Debilní lesklé obrazovky. To nahoře je waveform, ten Gauss je okno a to pod tím je spektrogram. Čím víc vpravo, tím vyšší frekvence a osa směrem dolů je čas. Původně to byly skoro schodky, proto tolik čar za sebou i ve vyšších frekvencích (jsou to harmonické).
Jinak pozor, mám za to, že jsem si spekrálním analyzérem ze zvukovky odpálil zvukovku.Musíš kontrolovat kolik ti tam leze energie. Dobré jsou takové ty trafa co se dají šroubovákem přizpůsobit.
To nahoře je waveform, ten Gauss je okno a to pod tím je spektrogram. Čím víc vpravo, tím vyšší frekvence a osa směrem dolů je čas. Původně to byly skoro schodky, proto tolik čar za sebou i ve vyšších frekvencích (jsou to harmonické).Stačí napsat Baudline to mluví samo za sebe
No já jsem jen sondoval přijímač FSK 868MHz s napětím 5V maxNa to už bude potřeba nějaká elektronika, že? Já to zkoušel jen na jednoduchý R-C filtr.
Mám cca 2 roky, má COM, LPT přes bracket (za stovku) a GamePort leda kdybych se postavil na hlavu, stáhnul všechnu dokumentaci k desce, připájel konektor a napsal si ovladač.