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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 3
dnes 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 4
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 9
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 24
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 4
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 771 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Game port

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