Gå til innhold

shoop!

Medlemmer
  • Innlegg

    125
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av shoop!

  1. Da er tråden splittet ut :D

     

    Angående selve prosjektet ville jeg valgt C om du har mulighet. Programmering mot paralellporten er egentlig rimelig trivielt i C, og da har man også mulighet for low level access på en rimelig grei måte (Slike ting som dette er det alltid en fordel å gjøre på low level). Sist, men ikke minst, er det en fordel å skrive daemons i C i stedet for Perl eller Python for å spare ressurser.

     

    Selv skrev jeg en gang i tiden et C-program som var akkurat det motsatte av dette, altså en daemon som styrer eksterne enheter via paralellporten. Så det er mulig jeg kan komme med litt hjelp når du har konkrete spørsmål.

     

    Til sist et lite tips om planlegging. Om du har tenkt å kanskje utvide systemet etterhvert med et bra display, er det noe du bør tenke på nå, før du legger for mye arbeid i dette. Jeg kjøpte for en stund siden et Matrox Orbital 4x80 tegns LCD display i forbindelse med et lite prosjekt jeg jobbet på. Jeg oppdaget at denne hadde en haug digitale inputs og outputs, som styres via samme serielltilkobling som brukes for å putte tegn på displayet. Dette gjør tilkobling av brytere mm. til en lek. Så om du har vurdert å ha et LCD display på saken du bygger, er det kanskje en ide å undersøke det nærmere, før du lager din daemon.

    Takker for "splitten", cyclo :)

     

    Har aldri skrevet C, så det blir noe nytt for meg. Skriver dog PHP, uten at det kan sammenlignes.

     

    Har lyst til å utvide prosjektet til å bruke en VFD-skjerm til informasjon, så tipset om produsenten "Matrix Orbital" var absolutt ikke dumt. Du kunne ikke tenke deg til å fortelle litt om hvordan du bruker din skjerm? Og prøvde du noen gang å koble til brytere til disse digitale inngangene? Andre erfaringer angående de skjermene?

     

    Etter litt googling ser det ut som om det ikke er noe mer komplisert å programmere mot seriellporten enn parallellporten. Her er litt om programmering mot diverse porter (litt utdatert, muligens?), og her er wikipedia sin artikkel om RS232. TLDP har også masse informasjon, så dette kan bli veldig tungt å sette seg inn i..

     

    tingo: Vet ikke helt om det kommer til nytte nå, men tusen takk for linken :)

  2. Det var en god ide å skille ut dette fra tråden, da det kan bli litt komplekst og uinteressant for mange :p

     

    Binærfila pin kommer fra Parashell, og den er veldig enkelt laget:

    /*
    * pout  -- By: Brett Carroll
    * Read data from the Parallel Port
    */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <asm/io.h>
    
    int main(int argc, char **argv)
    {					
    int in_data;
    int PORT;
    
    if (argc!=2) 
      printf("USAGE: pin [PORT]\n ie., pin 0x378\n"), exit(1); 
    
    sscanf(argv[1],"%i",&PORT); // Get PORT value (ie. 0x378, 0x379, 0x37a)
    
    if (ioperm(PORT,1,1))
    	fprintf(stderr, "ERROR: Can't gain access to port %x\n", PORT), exit(1);
    
    in_data = inb(PORT);
    printf("%d\n",in_data);
    
    return(in_data);
    }

    (GPL V.2+)

     

    Kontrollskriptet skal jeg nok klare å lage selv, basert på alle de andre init-scriptene. Kjører Arch, så har BSD-stil på init-filene. Python har jeg dog aldri skrevet selv.

     

    Så det som må skrives er et python-skript som bruker pin til å sjekke portene, og bruker "software debouncing".

     

    Hva mener du egentlig med "Man bør også kreve at bryteren har vært aktiv feks 5 ganger etter hverandre, det minker sjansen for feil pga støy fra bryteren."? Bryterne er 100% mekaniske, så det vil vel ikke oppstå støy fra de? Og det vil jo også kreve at bryteren blir holdt inne X antall millisekunder, noe som kan gjøre at de ikke responderer om det blir et veldig raskt trykk.

     

    Takker så mye for at du tar deg tid til dette, NorthWave :)

     

    Her er forresten et bilde av en modell med likt utseende som min:

    post-166907-1230248619_thumb.jpg

  3. NorthWave: Sier mer enn gjerne ja til litt hjelp med å bygge opp dette. Skal beskrive prosjektet mitt under :)

     

    Prosjektet: Planlegger å bygge en musikkpc inn i en gammel CD-spiller. Denne har bl.a. knapper i fronten, og et VFD-display. I første omgang vil jeg gjerne koble syv av knappene til forskjellige funksjoner, der noen vil styre MPD.

    - på/av-bryter som går rett til hovedkortet.

    - reset-bryter som går rett til hovedkortet.

    - Eject En bryter til å åpne det optiske drevet, loddes rett til selve drevet.

    - Play kobles til parallellporten, som til slutt skal kjøre mpc play.

    - Pause skal kjøre mpc pause

    - Prev skal kjøre mpc prev

    - Next skal kjøre mpc next

     

    LPT-porten har 8 data-porter, så å kjøre 1:1 på verdier og funksjoner til knappene er ganske greit.

     

    Har funnet et program (pin) som kan lese fra LPT-porten (og returnerer 0-255).

     

    [shoop@asdf - 22:39:17 - ~/lpt/parashell/bin/Linux]> time sudo ./pin 0x379
    127
    
    real	0m0.003s
    user	0m0.000s
    sys	0m0.007s

     

    Den bruker tilnærmet ingen tid til å sjekke status på LPT, så om denne kjøres X antall ganger i sekundet vil jeg tro det fortsatt går greit. Er redd det vil bli et problem, for om ./pin 0x379 kjøres 30 ganger på et sekund, og knappen Next holdes inne i 1/10-del av et sekund, så vil MPD hoppe tre sanger frem. Hvordan løse dette?

     

    Setter veldig pris på alle som skriver noe i forhold til dette :)

  4. Ha en riktig god og produktiv jul, alle sammen :xmas:

     

    Heiheiheihei, ro ned, gutt. Produktiv jul? Du har fått i deg, egentlig?

     

    Kjenner pinnekjøttlukta begynne å spre seg her. Mm-M!

    Pinnekjøtt er virkelig tingen sin, det! Begynner å lukte godt her og.

     

    Jula er en fin tid til å pusle med egne prosjekter, ihvertfall for min del. :xmas:

  5. På hvilket grunnlag anbefaler dere de forskjellige hostene?

     

    Selv anbefaler jeg subsys.no. Har vært i kontakt med de et par ganger, og de har svart raskt, og serviceinnstillingen er absolutt på plass. Serverne er raske og oppdaterte, og nedetiden er minimal. Har også erfaring med domeneshop.no, web10.nu, one.com og dreamhost.com, der web10.nu (elendig service, og varierende hastighet på serverene) og one.com (samme grunnlag som web10.nu) kommer sist.

  6. Onkyo-kortet har vel ikke ADC (opptaksmulighet), noe Audiotrak-kortet har. Og så vet jeg at man kan bytte OPAMPer (operasjonsforsterkere), det vet jeg ikke om Onkyo-kortet kan. Begge kortene bruker Envy24HT til prosessering av lyd.

     

    Tror du vil bli fornøyd, samme hvilket av de to kortene du velger. Selv gikk jeg for Audiotrak-kortet, og angrer ikke. Har prøvd begge kortene, og lyden på begge er av veldig god kvalitet. Anlegget det er koblet opp mot har en nypris på godt over 60', så vurderingsgrunnlaget mitt skal vel være ganske greit. (Ikke det at pris har alt å si, men det gir jo visse indikasjoner..)

     

    Lykke til ihvertfall!

  7. Trenger ikke mange, men kvaliteten på de som skal trykkes burde være god, ja. Du har ikke noe estimat med hva "Jævlig dyrt" er, ved trykking av veldig små opplag. Ser for meg at 50-100 kort vil være mer enn nok en god stund :)

     

    Edit: Kan være vanskelig å få trykke så få kort, muligens

×
×
  • Opprett ny...