parallelport ?

Dieses Forum ist für alle 144-Pixel-Projekte, die noch kein eigenes Forum haben, wie z.B. BlinkenLEDs, LittleLights, BlinkStröm...
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

danke, ich schau dass ich das teil ans laufen bekomm und schliess das blinkenleds an, ich hoff es funktioniert noch nach all den jahren. ein neues gehäuse is auch geplant. bin bestimmt in ner woche wieder hier und jammer dass es nicht geht :D
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

hm das teil hat keine festplatte und wenn ich von ner alten ide boote die ich gefunden hab dann kommt n fehler:
Ungültige Partitionstabelle

ich hab mir jetz ein ide-flash speicher mit 8 gb bestellt, damit is das teil dann weiterhin geräuschlos...
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: parallelport ?

Post by novatar »

aton wrote:hm das teil hat keine festplatte und wenn ich von ner alten ide boote die ich gefunden hab dann kommt n fehler:
Ungültige Partitionstabelle
da könntest du mit gparted o.ä. die festplatte mal grundformatieren und dann geht das wieder ;-) ist nur ein bissel fummel und spielerei ;-)

Aber mit CF ists dann auch cool(er) :)
in sachen leben bin ich autodidakt geblieben
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

so das teil läuft :) hab den 8 gb ide flash drin mit gentoo drauf und zusätzlich ne 160 gb 2,5'' hd mit mp3s. war nicht ganz einfach, weil das teil zuwenig stromanschlüsse hatte. hab nen andern pc daneben gestellt und angemacht, der hat das cdrom und zeitweise ne 2. platte mit strom versorgt :)

jetz bin ich grad am backups durchwühlen nach meinen alten blinkenleds bibliotheken.

ich poste fotos sobald es läuft
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

hm also wenn ich dem teil strom über usb geb, leuchtets und wenn ich mit dem finger über die parallelport pins streich, dann flackern auchn paar leds, aber wenn ich meine software anschmeiss, passiert gar nichts. die hat damals gut funktioniert. greift direkt auf base 888 zu...

so siehts im moment aus: (sorry kein plan wie man die bilder in bbcode kleiner darstellt edit: novatar hat die Bilder verkleinert und verlinkt )
Image

Image
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: parallelport ?

Post by stefan »

Damit ich Dir einen Tipp geben kann, müsstest Du etwas mehr verraten. Wie greift Du auf "base 888" zu? Per Inline-Assembly in einem Linux-Userland-Programm? Welche Architektur hat das Board in dem Router? ARM? x386? Hat der Parallelport darin auch Adresse 888?

Gruß,
Stefan
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: parallelport ?

Post by novatar »

stefan wrote:Welche Architektur hat das Board in dem Router?
Afaik müssten die VIA-Epias alle i386/x86 sein
in sachen leben bin ich autodidakt geblieben
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

Linux mitx 2.6.32-gentoo-r7 #9 SMP Sun Jun 20 23:35:32 CEST 2010 i686 VIA Samuel 2 CentaurHauls GNU/Linux
ich benutz ein userspace programm, ich glaub das hab ich sogar von dir, ccc camp 2003 oder so?

Code: Select all

base=888;

void printframe(void) 
{
    int data, data2;

    int x, y;
    
    for (y = 0; y < 8; y++)
    {
	for (x = 0; x < 18; x++)
	{
		if (frame[x][y] == 1)
//  			printf("1");
		;
		else
// 	      		printf("0");
		;
	}
//  	printf("\n");
    }

    /* alles ausser output_enable auf lo */
     outb(2 + 1, base + 2);

    /* jede zweite reihe reinschieben */
    for (y = 7; y >= 0; y--)
    {
        /* datenbits berechnen */
        data = 0;
        data2 = 1;

        if (frame[1][y]) data |= 1;
        if (frame[3][y]) data |= 2;
        if (frame[5][y]) data |= 4;
        if (frame[7][y]) data |= 8;
        if (frame[9][y]) data |= 16;
        if (frame[11][y]) data |= 32;
        if (frame[13][y]) data |= 64;
        if (frame[15][y]) data |= 128;
        if (frame[17][y]) data2 = 0;

        /*data2 = 0;
        data = 255;*/

        /* daten rausschieben */
        outb(data, base);
        outb(2 + data2, base + 2);

        /* clock kurz auf hi */
        outb(data2, base + 2);
        /* clock wieder auf lo */
        outb(2 + data2, base + 2);
    }

    /* den rest rausschieben */
    for (y = 7; y >= 0; y--)
    {
        /* datenbits berechnen */
        data = 0;
        data2 = 1;

        if (frame[0][y]) data |= 1;
        if (frame[2][y]) data |= 2;
        if (frame[4][y]) data |= 4;
        if (frame[6][y]) data |= 8;
        if (frame[8][y]) data |= 16;
        if (frame[10][y]) data |= 32;
        if (frame[12][y]) data |= 64;
        if (frame[14][y]) data |= 128;
        if (frame[16][y]) data2 = 0;

        /*data2 = 0;
        data = 255;*/

        /* daten rausschieben */
        outb(data, base);
        outb(2 + data2, base + 2);

        /* clock kurz auf hi */
        outb(data2, base + 2);
        /* clock wieder auf lo */
        outb(2 + data2, base + 2);
    }


    /* strobe hi */
    outb(2 + 4, base + 2);
    /* strobe lo */
    outb(2, base + 2);
}
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: parallelport ?

Post by stefan »

Ich könnte mir vorstellen, dass der Parallelport gar nicht die Adresse 888 hat. Poste doch mal die Ausgabe von "cat /proc/ioports" auf dem Router. Eventuell musst Du vorher noch das Modul "parport" laden, damit darin etwas auftaucht.

Hier auf meinem PC sieht das so aus:

Code: Select all

$ cat /proc/ioports
...
0378-037a : parport0
...
Gruß,
Stefan
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

mitx ~ # grep parport /proc/ioports
0378-037a : parport0

hab parport fest im kernel
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

mitx linux # grep PARPORT .config
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: parallelport ?

Post by stefan »

Hi aton,

das sieht ja eigentlich gut aus. Ich würde jetzt zwei Dinge testen:

1) Funktioniert die Ausgabe an den Parallelport

Mach einfach mal ein Programm, dass alle Bits auf 1 setzt, 1 s wartet, alle Bits auf 0 setzt, 1 s wartet und wieder von vorne anfängt. Dann miss mal mit einem Multimeter, ob das auch so herauskommt.

2) Parallelport zu schwach oder zu schnell

Versuch' mal zwischen dem setzen von Clock auf High und auf Low zu warten (usleep(1) für's erste) . Dann ist zwar das Programm erstmal viel zu langsam, aber wir werden etwas schaluer, wenn es dann prinzipiell gehen sollte.

Viele Grüße,
Stefan
aton
BlinkenAmateur
BlinkenAmateur
Posts: 16
Joined: Sun Mar 28, 2010 8:45 pm

Re: parallelport ?

Post by aton »

1) wie mess ich das am parallelport? ich hab nur so ein billig multimeter, nen widerstand könnt ich da messen aber zwischen welchen pins?

2) werd ich mal ausprobiern
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: parallelport ?

Post by stefan »

Messen am Parallelport ist einfach:
1) Multimeter auf Spannung einstellen.
2) Schwarzes Kabel an einen der Pins 18 bis 25
3) Rotes Kabel an einen der Pins 2 (entspricht 0x01) bis 9 (entspricht 0x80)
4) Die Datenbits das Basisports (z.B. 888+0) umschalten
5) Ablesen, ob bei 0 auch ungefähr 0V ankommt und bei 1 ungefähr 5V
Post Reply