abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 750 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Game port

    23.4.2004 12:08 Samael
    Game port
    Přečteno: 735×
    Nevite nekdo jak rozchodit game port? Mam SuSE 8.2 a zvukovku SB128 (ta funguje). Mam na game portu pripojene zarizeni (mereni teploty (pod M$ fuunguje)). Nevim jak rozchodit jen game port abych pak mohl programove pristoupit k tomuto portu. Kdyz pripojim joystick na tento port tak ho sice system najde ale nefunguje (nakonec pri startu systemu hlasi chyby ze neni pripojen joystick). Podle navodu ktery je dodavan na rozchozeni game portu jsem dosel do stale stetjneho mista. Jak rozchodit jen tento game port?

    Odpovědi

    26.4.2004 10:48 Samael
    Rozbalit Rozbalit vše Re: Game port
    Koukam ze mam na dotaz plno odpovedi. To fakt nikdo nevi jak rozchodit jen game port bez pripojeneho zarizeni???
    26.4.2004 11:47 Dušan Hokův | skóre: 43 | blog: Fedora a další...
    Rozbalit Rozbalit vše Re: Game port
    kdyz jsem kdysi hral torcs s joystickem, musel jsem zavest prislusny modul pro gameport k me sblive. Doporucuju projit /lib/modules/cislojadra/ a najit prislusny modul a pote modprobe nazevmodulu
    28.4.2004 12:57 Samael
    Rozbalit Rozbalit vše Re: Game port
    No to jo.Ale ja kdyz zavedu ten modul tak to stejne nejede. Postupuji podle navodu joystick.txt. Ale nedokazu z toho portu nacist rozumna data.Lepe receno zadna data:-)
    26.4.2004 13:14 viva
    Rozbalit Rozbalit vše Re: Game port
    Kdysi jsem resila neco podobneho v Delphi na Win98 - proste jsem cetla port 201h assemblerem. Tady je neco pro inspiraci:

    http://www.epanorama.net/documents/joystick/pc_joystick.html
    28.4.2004 10:56 Samael
    Rozbalit Rozbalit vše Re: Game port
    No me to funguje pod W98 tim ctenim portu. Ale kdyz zkusim cist port v Linuxu tak to nejde.
    29.4.2004 08:23 Ladislav Sückr | skóre: 21
    Rozbalit Rozbalit vše Re: Game port
    a co logy - nic? jaká máš přístupová prváva?
    Myslet špatně je lepší než nemyslet vůbec.
    29.4.2004 10:25 Samael
    Rozbalit Rozbalit vše Re: Game port
    Logy mlci.Tvari se jako by vse bylo v poradku.Jinak to ctu jako root.Pristup jako user to odmita.
    29.4.2004 08:13 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    Nevím jak u SB.

    Měl jsem jinou kartu a tam to fungovalo OK prostě musel jsem zavést moduly pro gameport pro moji zvukovku a potom jsem si z nich četl. (měl jsem tam přijímač DCF)
    #include < stdio.h >
    #include < stdlib.h >
    
    #define JOISTICK "/dev/js0"
    
    unsigned char buffer[33];
    
    void cti_joi(void)
    {
    FILE *joi;
    
    if ((joi=fopen(JOISTICK,"rb"))==NULL)
    {
     fprintf(stderr,"Nelze otevrit soubor "JOISTICK" \n\n");
     _exit(1);
    }
    
    fread(buffer,32,1,joi);
    
    fclose(joi);
    return;
    }
    
    int main(void)
    {
    
    printf("\n\n Program pro testovani joystiku-tlacitek v1.0 (c) 2000 Soban Petr S&S\n\n");
    
    cti_joi();
    printf("Tlacitka  %X %X %X %X ", buffer[4],buffer[12],buffer[20],buffer[28]);
    
    return 0;
    }
    
    Je možné že pokud používáte pouze vstupy tlačítek tak musíte na vstupy kde jsou potenciometry připojit odpory tak jako by tam ty potenciometry byly.

    Dále u jednoho game portu jsem nemohl přečíst vstupy ať jsem dělal co chtěl (z mého zařízení) kdešto normální tlačítka tam fungovala, asi ten výstup toho tranzistoru nestačil, musel by se asi upravit vystupní obvod toho zařízení.
    29.4.2004 10:28 Samael
    Rozbalit Rozbalit vše Re: Game port
    To je dobrej napad.To mne nenapadlo.Simulovat mu cele zarizeni.Treba je to tak divne udelano ze tam musim nasimulovat tema odporama cele zarizeni.To zkusim.Diky moc.:-)
    29.4.2004 15:18 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    Taky je možné že je to trochu jinak zapojené a není tam +5V a zem přímo ale přes nějakej odpor co to externí zařízení neutáhne a další různé nechutnosti.

    Kdešto obyčejnému tlačítku to nevadí.

    Prostě co tam přesně připojujete a jak ? Nějakej plánek jak je to zapojené do toho gameportu ?
    3.5.2004 12:13 Samael
    Rozbalit Rozbalit vše Re: Game port
    Planek by bylo zbytecne na to kreslit:-)Cele to obsahuje jednu soucastku a to NTC termistor 100k. Ten je zapojen mezi zem a potenciometrovej vstup. Tam pak vyuzivam vnitrni kapacitu kde v programu cekam na nabiti do 2/3 nabijeciho napeti. Pak se vnitrni komparator preklopi a ja to vyhodnotim a vypocitam odpor. Kapacitu znam. Je to pro moji potrebu dostatecne presne. Jinak je zajimave ze to pod W98 chodi v pohode a pod Linuxem ne. Takze spatnym zapojenim to nebude i kdyz jsem to zkousel predelat. Ja mam problem v tom ze kdyz dam vypis cat (nebo jak se to pise) toho /dev/js0 tak mi napise ze je to neplatne zarizeni atd a plno dalsich kecu. Zkratka potrebuji jen vedet jak zpravne nastavit game port. Ne joystick. Zkratka nejak nahrat spravny modul pro game port a udelat spravne simlinky. Podle navodu to proste nerozchodim. Diky moc.
    3.5.2004 13:07 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    No nahrat správné moduly pro gameport, nic více není třeba.

    Jak číst gameport máte popsané v mém prográmku (čte vstupy od tlačítek) v žádném případě to nejde číst příkazem cat /dev/js0. :-)

    Jinak možná že by to chtělo ještě odpor mezi termistor a +5V.

    Jinak cist joistick můžete i takhle vypíše jednotlivé potenciometry. (Tímto programem jsem se inspiroval při čtení joisticku)
    /*
     * jstest.c  Version 1.2
     *
     * Copyright (c) 1996-1999 Vojtech Pavlik
     *
     * Sponsored by SuSE
     */
    
    /*
     * This program can be used to test all the features of the Linux
     * joystick API, including non-blocking and select() access, as
     * well as version 0.x compatibility mode. It is also intended to
     * serve as an example implementation for those who wish to learn
     * how to write their own joystick using applications.
     */
    
    /*
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
     *
     * Should you need to contact me, the author, you can do so either by
     * e-mail - mail your message to < vojtech@suse.cz >, or by paper mail:
     * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
     */
    
    #include < sys/ioctl.h >
    #include < sys/time.h >
    #include < sys/types.h >
    #include < stdlib.h >
    #include < fcntl.h >
    #include < unistd.h >
    #include < stdio.h >
    #include < errno.h >
    #include < string.h >
    
    #include < linux/joystick.h >
    
    #define NAME_LENGTH 128
    
    int main (int argc, char **argv)
    {
    	int fd;
    	unsigned char axes = 2;
    	unsigned char buttons = 2;
    	int version = 0x000800;
    	char name[NAME_LENGTH] = "Unknown";
    
    	if (argc < 2 || argc > 3 || !strcmp("--help", argv[1])) {
    		puts("");
    		puts("Usage: jstest [< mode >] < device >");
    		puts("");
    		puts("Modes:");
    		puts("  --normal           One-line mode showing immediate status");
    		puts("  --old              Same as --normal, using 0.x interface");
    		puts("  --event            Prints events as they come in");
    		puts("  --nonblock         Same as --event, in nonblocking mode");
    		puts("  --select           Same as --event, using select() call");
    		puts("");
    		exit(1);
    	}
    	if ((fd = open(argv[argc - 1], O_RDONLY)) < 0) {
    		perror("jstest");
    		exit(1);
    	}
    
    	ioctl(fd, JSIOCGVERSION, &version);
    	ioctl(fd, JSIOCGAXES, &axes);
    	ioctl(fd, JSIOCGBUTTONS, &buttons);
    	ioctl(fd, JSIOCGNAME(NAME_LENGTH), name);
    
    	printf("Joystick (%s) has %d axes and %d buttons. Driver version is %d.%d.%d.\n",
    		name, axes, buttons, version >> 16, (version >> 8) & 0xff, version & 0xff);
    	printf("Testing ... (interrupt to exit)\n");
    
    /*
     * Old (0.x) interface.
     */
    
    	if ((argc == 2 && version < 0x010000) || !strcmp("--old", argv[1])) {
    
    		struct JS_DATA_TYPE js;
    
    		while (1) {
    
    			if (read(fd, &js, JS_RETURN) != JS_RETURN) {
    				perror("\njstest: error reading");
    				exit(1);
    			}
    
    			printf("Axes: X:%3d Y:%3d Buttons: A:%s B:%s\r",
    				js.x, js.y, (js.buttons & 1) ? "on " : "off", (js.buttons & 2) ? "on " : "off");
    
    			fflush(stdout);
    
    			usleep(10000);
    		}
    	}
    
    /*
     * Event interface, single line readout.
     */
    
    	if (argc == 2 || !strcmp("--normal", argv[1])) {
    
    		int *axis;
    		int *button;
    		int i;
    		struct js_event js;
    
    		axis = calloc(axes, sizeof(int));
    		button = calloc(buttons, sizeof(char));
    
    		while (1) {
    			if (read(fd, &js, sizeof(struct js_event)) != sizeof(struct js_event)) {
    				perror("\njstest: error reading");
    				exit (1);
    			}
    
    			switch(js.type & ~JS_EVENT_INIT) {
    			case JS_EVENT_BUTTON:
    				button[js.number] = js.value;
    				break;
    			case JS_EVENT_AXIS:
    				axis[js.number] = js.value;
    				break;
    			}
    
    			printf("\r");
    
    			if (axes) {
    				printf("Axes: ");
    				for (i = 0; i < axes; i++)
    					printf("%2d:%6d ", i, axis[i]);
    			}
    
    			if (buttons) {
    				printf("Buttons: ");
    				for (i = 0; i < buttons; i++)
    					printf("%2d:%s ", i, button[i] ? "on " : "off");
    			}
    
    			fflush(stdout);
    		}
    	}
    
    
    /*
     * Event interface, events being printed.
     */
    
    	if (!strcmp("--event", argv[1])) {
    
    		struct js_event js;
    
    		while (1) {
    			if (read(fd, &js, sizeof(struct js_event)) != sizeof(struct js_event)) {
    				perror("\njstest: error reading");
    				exit (1);
    			}
    
    			printf("Event: type %d, time %d, number %d, value %d\n",
    				js.type, js.time, js.number, js.value);
    
    		}
    	}
    
    /*
     * Reading in nonblocking mode.
     */
    
    	if (!strcmp("--nonblock", argv[1])) {
    
    		struct js_event js;
    
    		fcntl(fd, F_SETFL, O_NONBLOCK);
    
    		while (1) {
    
    			while (read(fd, &js, sizeof(struct js_event)) == sizeof(struct js_event))  {
    				printf("Event: type %d, time %d, number %d, value %d\n",
    					js.type, js.time, js.number, js.value);
    			}
    
    			if (errno != EAGAIN) {
    				perror("\njstest: error reading");
    				exit (1);
    			}
    
    			usleep(10000);
    		}
    	}
    
    /*
     * Using select() on joystick fd.
     */
    
    	if (!strcmp("--select", argv[1])) {
    
    		struct js_event js;
    		struct timeval tv;
    		fd_set set;
    
    		tv.tv_sec = 1;
    		tv.tv_usec = 0;
    
    		while (1) {
    
    			FD_ZERO(&set);
    			FD_SET(fd, &set);
    
    			if (select(fd+1, &set, NULL, NULL, &tv)) {
    
    				if (read(fd, &js, sizeof(struct js_event)) != sizeof(struct js_event)) {
    					perror("\njstest: error reading");
    					exit (1);
    				}
    
    				printf("Event: type %d, time %d, number %d, value %d\n",
    					js.type, js.time, js.number, js.value);
    
    			}
    
    		}
    	}
    
    	printf("jstest: unknown mode: %s\n", argv[1]);
    	return -1;
    }
    
    3.5.2004 14:04 Samael
    Rozbalit Rozbalit vše Re: Game port
    Diky vyzkousim to. To vypada zajimave. Ale jak spravne nahrat jen ty moduly pro game port? Jak zjistim ze jsou nahrane spravne? A proc davat mezi termistor a +5V jeste predradnej odpor? Pochopil bych to jako ochranu proti zkratu ale na funkcnosti to urcite nic nezmeni.
    3.5.2004 16:45 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    Ten odpor je tam pro to že některé gameporty bez toho odporu nefungují, nebo spatně. Ovšem pokud vám to funguje tak by to mělo být OK.

    A gameport musíte číst jako by tam ten joistick byl a samozřejmě použijete z načtených dat pouze tu hodnotu kde máte připojen ten termistor.

    Jinak ten program je z nějakého balíčku který měl v názvu joistick takže můžete pohledat. (Vlastně vypisuje hodnoty z gameportu.)

    A jak zjistit jaké moduly třeba připojit? Z dokumentace k tvé zvukovce.

    Dále zaleží zda se používá /dev/js0 nebo /dev/input/js0 :-)
    3.5.2004 17:32 blaza
    Rozbalit Rozbalit vše Re: Game port
    kdysi jsem se trapil s rozchozenim joysticku na zvukovce sb pci64, mozna to bude podobne. Rozchodil jsem to az pote, co jsem do /etc/modules.conf dopsal pro zvukovku toto: options snd-ens1370 joystick=1 micbias=1 Pouzivam ovladace Alsa (suse urcite taky) a ten modul by mohl byt stejny. Snad Vam to pomuze.
    3.5.2004 19:14 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    Jinak ted jsem se dival jaké moduly mám zavedené já

    gameport, analog, joydev, ns558 :-) integrovaná zvukovka na MB .
    4.5.2004 10:29 Samael | skóre: 3
    Rozbalit Rozbalit vše Re: Game port
    No tam bude asi problem.Ja kdyz dam modprobe ns558 tak mi to hlasi: /lib/modules/2.4.20-4GB/kernel/drivers/char/joystick/ns558.o: init_module: No such device. Hint: insmod errors can be coused by incorrect module parameters, including invalid IO or ORQ parameters. Pak dalsi veci ze nahravani tohoto modulu selhalo. Pri vypisu dmesg mam na konci: request_module[char-major-13]:fork failed errno 1. To je tam napsane trikrat. Takove vypisy jsem tam predtim nemel. Prosim o radu jak nahrat ten spravnej modul a spravne.
    4.5.2004 10:58 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    No musis mět ten gameport povolenej na te zvukovce, plus nahrat ten spravny modul k te svoji zvukovce ns558 je isa ovladač pro gameport (i když ta moje zvukovka je na MB a isa slot nemá tak se gameport chová asi jako kdyby na isa byl) takže pro tebe tam bude jiný modul podle zvukovky. (případně na té zvukovce musíš ten gameport nějak zapnout) Taky zaleží jaké jádro máš moje 2.6.5. Prostě prohlédní dokumentaci u svého jádra + podporu své zvukovky.
    4.5.2004 11:11 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Game port
    Jinak pokud používáš alsu a jadro 2.6.5 tak viz dokumentace

    /usr/src/linux/Documentation/sound/alsa/Joystick.txt
    The following PCI drivers support the joystick natively.
    
        Driver      Module Option   Available Values
        ---------------------------------------------------------------------------
        als4000     joystick_port   0 = disable (default), 1 = auto-detect,
                                    manual: any address (e.g. 0x200)
        au88x0      N/A             N/A
        azf3328     joystick        0 = disable, 1 = enable, -1 = auto (default)
        ens1370     joystick        0 = disable (default), 1 = enable
        ens1371     joystick_port   0 = disable (default), 1 = auto-detect,
                                    manual: 0x200, 0x208, 0x210, 0x218
        cmipci      joystick_port   0 = disable (default), 1 = auto-detect,
                                    manual: any address (e.g. 0x200)
        cs4281      N/A             N/A
        cs46xx      N/A             N/A
        es1938      N/A             N/A
        es1968      joystick        0 = disable (default), 1 = enable
        intel8x0(*1)joystick        0 = disable (default), 1 = enable
        sonicvibes  N/A             N/A
        trident     N/A             N/A
        via82xx(*2) joystick        0 = disable (default), 1 = enable
        ymfpci      joystick_port   0 = disable (default), 1 = auto-detect,
                                    manual: 0x201, 0x202, 0x204, 0x205(*3)
        ---------------------------------------------------------------------------
    
        *1)  not all chips support joystick
        *2)  VIA686A/B only
        *3)  With YMF744/754 chips, the port address can be chosen arbitrarily
    
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.