[perl] regelmatig bestanden uitlezen+LCDd

Pagina: 1
Acties:
  • 26 views sinds 30-01-2008

  • VROEM!
  • Registratie: Februari 2000
  • Laatst online: 18-05-2025

VROEM!

broembroem!

Topicstarter
Ik heb een scriptje geklust in perl dat regelmatig een aantal bestandjes moet uitlezen die naar een LCD display moet sturen.
Op dit moment worden de bestandjes alleen bij het starten gelezen en gestuurd, en wat daarna gebeurt heb ik weinig hoogte van. Als de bestandjes wijzigen worden de updates in ieder geval niet naar de display gestuurd.
Op dit moment is de code als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/perl -w

use LCDd;


$HOST = "127.0.0.1";
$PORT = "13666";
    # Connect to the server...
    $lcd = LCDd->new(
        server  => $HOST,
        port  => $PORT,
        name => "fortune.pl" )
        || die "Cannot connect to LCDproc port\n";

    $screen = LCDd::Screen->new( $lcd, name=>"mp3" );

    $widget[0] = LCDd::Scroller->new( $screen );
    $widget[1] = LCDd::Scroller->new( $screen );
while (1)
{
    update_text();

    $lcd->Pump;
}
    exit;



sub update_text    {

    $categorie = `cat /root/categorie.txt` || die "\n$0: Fout in cat.\n\n";
        @lines = split(/\n/, $categorie);
        $categorie = join(" / ", @lines);

    $liedje = `cat /root/liedje.txt` || die "\n$0: Fout in song.\n\n";
        @lines = split(/\n/, $liedje);
        $liedje = join(" / ", @lines);


    #Zet categorienaam
        $widget[0]->set(
        left    => 1,
        top     => 1,
        right   => 12,
        bottom=> 1,
        dir     => "v",
        speed   => 1,
        text    => $categorie,
        );

    #Zet liedje
        $widget[1]->set(
        left    => 1,
        top     => 2,
        right   => 16,
        bottom=> 2,
        dir     => "v",
        speed   => 1,
        text    => $liedje,
        );
}

Hoe krijg ik dit zo ver dat de display geupdate wordt? Elke 0.5 seconden oid is genoeg.

ieeeepppppp :P


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Dicht voor overleg

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
En blijft dicht. Even een uitleg:

In NOS willen we geen "ik wil dit en dat, wie maakt het script", waar dit overigens niet onder valt, en geen "mijn script werkt niet, wie fixed het!" topic. Normaal zou ik deze naar Programming & Webscripting verplaatsen, alleen zal het daar ook niet open blijven.
Probeer eens uit te zoeken hoe je het moet doen, zonder direct hier te gaan vragen hoe doe ik het. Een beetje zelfinitatief hoort nou eenmaal op GoT, en helemaal hier in Non-Windows Operating Systems

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Dit topic is gesloten.