1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Linux och cw?

Discussion in 'Program för amatörradio' started by sm0lru, Mar 26, 2011.

  1. sm0lru

    sm0lru Well-Known Member

    Hej
    Jag tänkte att jag skulle kunna koppla ihop en nyckel till en com-port på RX och gjord på en linux burk. Det går nog om jag rotar runt i lite kod.
    Men mitt problem är att hitta någon enkelt program som tuta i högtalarna.
    Allt jag hittar funkar inte. Någon som har något bra tips på enkelt program i Linux?
    Tänkte använda pc som tongenerator. :)
    73 de SM0LRU/Kenta
     
  2. SA7AUY

    SA7AUY Well-Known Member

    Kanske det finns något HÄR eller HÄR som är användbart.
     
  3. SM0RVV

    SM0RVV Well-Known Member

    Nu gissar jag utifrån den info du ger Kenta.
    Det låter som du vill ha direktkontakt mellan serieporten och ditt program samt programmet och högtalaren (pip i högtalaren).

    Som väl är fungerar moderna operativsystem inte på det sättet. Istället har man lagt operativsystemet som (minst) ett skikt mellan hårdvaran och ditt program.
    Alltså kommer du vara beroende av en hel del underliggande saker som alla tar sin tid att utföra.

    Fördelen du får är att ditt program kommer fungera oavsett vilken hårdvara du använder som ljudkort, det är operativsystemets uppgift att översätta din ton, till hur hårdvaran vill ha det.

    Nackdelen är att det blir en tröskel när du skriver ditt första program, eftersom du måste lära dig och använda de API'er som finns.

    I linux-fallet är det lite olyckligt att just ljudstödet är ganska splittrat. Så du får börja med att välja vilken metod du vill använda.

    ALSA är en äldre metod, väl spridd men är på nedgång.
    PulseAudio är en nyare metod, men med mer overhead. Används av bl a Ubuntu.
    Jack är en metod för bl a musiker, här (tror jag) att latency är låg.
    Det finns många fler.

    Så börja i den änden när du tänker skriva ditt program. Under respektive projekt finns säkerligen kodexempel på sinuston. Kanske t om färdiga programsnuttar.

    Ett halvt långskott är PERL och t ex den här modulen: Audio::Beep - search.cpan.org Jag gillar PERL, men hela CW-problemet låter med C-kod än PERL i mina öron. (Men jag kanske underskattar PERL i det här fallet?)

    Ett riktigt långskott skulle kunna vara att använda "beep" som är ett vanligt shellkommando. Själva beep'et går att styra ganska väl. Då får nog klura en del för att koppla det till serieporten utan större överhead är jag rädd. Men det är ju den enklaste metoden att pröva.

    73 SM0RVV
     
  4. sm0lru

    sm0lru Well-Known Member

    Jag testade Perl modulen och den funkar inte. Tystnad råder.
    Alla program vill att man har /dev/audio vilken jag inte har.
    Mina ljud filer ligger under /dev/snd och så här ser de ut

    drwxr-xr-x 2 root root 80 2011-03-25 17:55 by-path
    crw-rw----+ 1 root audio 116, 8 2011-03-25 17:55 controlC0
    crw-rw----+ 1 root audio 116, 17 2011-03-25 17:55 controlC1
    crw-rw----+ 1 root audio 116, 7 2011-03-25 17:55 hwC0D0
    crw-rw----+ 1 root audio 116, 16 2011-03-25 17:55 hwC1D0
    crw-rw----+ 1 root audio 116, 15 2011-03-25 17:55 hwC1D1
    crw-rw----+ 1 root audio 116, 14 2011-03-25 17:55 hwC1D2
    crw-rw----+ 1 root audio 116, 13 2011-03-25 17:55 hwC1D3
    crw-rw----+ 1 root audio 116, 6 2011-03-26 20:24 pcmC0D0c
    crw-rw----+ 1 root audio 116, 5 2011-03-27 18:44 pcmC0D0p
    crw-rw----+ 1 root audio 116, 4 2011-03-25 17:56 pcmC0D1p
    crw-rw----+ 1 root audio 116, 12 2011-03-25 17:56 pcmC1D3p
    crw-rw----+ 1 root audio 116, 11 2011-03-25 17:55 pcmC1D7p
    crw-rw----+ 1 root audio 116, 10 2011-03-25 17:55 pcmC1D8p
    crw-rw----+ 1 root audio 116, 9 2011-03-25 17:55 pcmC1D9p
    crw-rw----+ 1 root audio 116, 3 2011-03-25 17:55 seq
    crw-rw----+ 1 root audio 116, 2 2011-03-25 17:55 timer

    Så frågan är vilket device som är ljud ut?
    Knöligt eller hur?
    SM0LRU
     
  5. SM0RVV

    SM0RVV Well-Known Member

    Ja, Kenta, jag håller med.
    Jag är 100% linuxuser och väldigt pro-linux. Men ljudstödet är ett riktigt sorgebarn.
    Att nämna svartkost i samma mening som ljudstöd är inte orimligt. :)

    /dev/snd/* torde vara alsa devicen.
    Namnet är byggt på funktion+ljudkortsnummer+device
    controlC0 respe C1 är altså control-devicet för kort ett och två.
    pcm... samma sak, osv...

    Har du installerat alsa-utils och alsamixer?
    Börja där och se om de programmen hittar ditt kort. Det finns hur mycket som helst att läsa på Main Page - AlsaProject
    Dessvärre inte så lättgenomträngligt alltid.

    Ett helt OT tips om du vill bygga tontuta med en dator. Skaffa en Arduino, den är väldigt lätt att komma igång med och rolig att labba med. Inte speciellt dyr heller, allt är open source så du blir inte inlåst i en enda tillverkares snäva nät.
    Arduino - HomePage
    Det blir ju ingen PC, men det blir kanske ett roligt projekt iallafall. :)

    73 SM0RVV
     
  6. sm0lru

    sm0lru Well-Known Member

    Jag har installerat alsa-utils och alsamixer.
    Grejen är att lösa det hela i Linux .
    Mera tips tas gärna i mot
    73 de SM0LRU/Kenta
     
  7. SM0RVV

    SM0RVV Well-Known Member

    Jag tänkte alsa-sakerna bara som felsökning så att du kunde verifiera att ljudkortet ger ljud ifrån sig. Men det kanske du redan kollat på annat sätt. :) (jag tror det)

    Jag har nog inga mer tips. Nästa steg är att dyka ner i det ""enda rätta"(TM) programmeringsspråket, nämnligen C. ;)
    För att inte skapa en religiös debatt: Det finns andra språk också... :)

    Lycka till!
    73 SM0RVV
     
  8. SM0CTK

    SM0CTK Well-Known Member

    Drivrutiner

    sm0ctk stig
     
    Last edited: Mar 29, 2011
  9. SM0CTK

    SM0CTK Well-Known Member

Share This Page