abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 12:11 | IT novinky

Web gHacks upozorňuje na draft nové specifikace rozhraní pro rozšíření webového prohlížeče Google Chrome. Pozoruhodný je plán odstranit část API webRequest pro blokování – což by omezilo doplňky jako uBlock Origin určený pro blokování obsahu včetně reklam. Nadále by byl použitelný doplněk Adblock Plus, který provozuje whitelist reklam mj. právě Google.

Fluttershy, yay! | Komentářů: 3
dnes 00:33 | Zajímavý projekt

Byl spuštěn Humble Caffeine Bundle. V balíčku počítačových her jsou také hry běžící na Linuxu: GoNNER BLüEBERRY EDiTION, This War of Mine, Ken Follett's The Pillars of the Earth, Tyranny a Shadow Tactics: Blades of the Shogun.

Ladislav Hagara | Komentářů: 1
dnes 00:11 | Nová verze

Po roce vývoje od vydání verze 3.0 a více než 6 000 změnách byla vydána nová stabilní verze 4.0 softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem, Wine (Wikipedie). Z novinek lze zdůraznit například podporu Vulkanu nebo Direct3D 12. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 4
včera 20:44 | Nová verze

Byla vydána verze 11.7 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností i s náhledy v příspěvku na blogu.

Ladislav Hagara | Komentářů: 1
včera 17:22 | Bezpečnostní upozornění

V balíčkovacím systému APT používaném v Debianu a z něj vycházejících linuxových distribucích byla nalezena bezpečnostní chyba CVE-2019-3462. Útočník může vzdáleně spustit libovolný příkaz pod právy roota.

Ladislav Hagara | Komentářů: 6
včera 17:00 | Nová verze

Canonical oznámil vydání Ubuntu Core 18. Nová verze Ubuntu Core vychází z Ubuntu 18.04 LTS a podporována bude 10 let. Jedná se o placenou podporu. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

Ladislav Hagara | Komentářů: 0
včera 15:31 | Nová verze

Vyšlo Pharo 7.0 (otevřená implementace Smalltalku). Nyní je kompletně bootstrapováno ze zdrojových kódů spravovaných Gitem, má nové nástroje na procházení a editaci kódu a přináší mnoho dalších změn a oprav. Popis novinek v češtině.

Pavel Křivánek | Komentářů: 0
včera 02:22 | Nová verze

Byla vydána verze 4.5 linuxové distribuce Parrot (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii.

Ladislav Hagara | Komentářů: 2
21.1. 17:22 | Pozvánky

V sobotu 23. února se uskuteční 6. ročník WordCampu – největší konferenci o WordPressu v ČR. Ke konferenci probíhá i soutěž typu CTF (Capture The Flag) o volné vstupenky, kde si lze zkusit zneužít běžné bezpečnostní chyby.

smíťa | Komentářů: 0
21.1. 17:11 | Pozvánky

Letošní ročník konference Prague PostgreSQL Developer Day se bude konat 13. a 14. února v prostorách FIT ČVUT. Program konference najdete na stránkách konference, stejně jako registrační formulář.

TomasVondra | Komentářů: 0
Používáte USB Type-C?
 (20%)
 (16%)
 (11%)
 (12%)
 (38%)
 (4%)
 (43%)
Celkem 474 hlasů
 Komentářů: 0
Rozcestník

Dotaz: Game port

23.4.2004 12:08 Samael
Game port
Přečteno: 669×
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: 79 | 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: 79 | 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: 79 | 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: 79 | 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: 79 | 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: 79 | 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: 79 | 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.