source: titan/titan/standby.h @ 14620

Last change on this file since 14620 was 14620, checked in by nit, 10 years ago

[titan] remove todo comment

File size: 2.1 KB
Line 
1#ifndef STANDBY_H
2#define STANDBY_H
3
4void screenstandby()
5{
6        int rcret = 0, voltoff = 1;
7        struct skin* standbyscreen = getscreen("standby");
8        struct stimerthread *epgscan = NULL;
9        char* loctime = NULL, *tmpstr = NULL;
10        time_t lastrun = 0;
11        struct dvbdev* dvbnode = dvbdev;
12
13        rcret = servicestop(status.aktservice, 1, 0);
14        if(rcret == 1)
15        {
16                status.standby = 0;
17                return;
18        }
19
20        //check if all tuner unlocked, if yes set all volt off
21        if(getconfigint("standbytuneroff", NULL) == 1)
22        {
23                while(dvbnode != NULL)
24                {
25                        if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == QPSK && dvbnode->felock > 0)
26                                voltoff = 0;
27                        dvbnode = dvbnode->next;
28                }
29                if(voltoff == 1)
30                {
31                        dvbnode = dvbdev;
32                        while(dvbnode != NULL)
33                        {
34                                if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == QPSK && dvbnode->felock == 0)
35                                        fesetvoltage(dvbnode, SEC_VOLTAGE_OFF, 15);
36                                dvbnode = dvbnode->next;
37                        }
38                }
39        }
40        else
41                voltoff = 0;
42       
43        subtitlepause(1);
44//      clearfb(skinfb);
45//      blitfb(0);
46        setfbtransparent(0);
47        setvfdbrightness(getconfigint("vfdstandbybrightness", NULL));
48        setoverclockfreq(0);
49
50        status.protecttime = 0;
51        status.rcowner = standbyscreen;
52       
53        system("vdstandby -a");
54        while(1)
55        {
56                rcret = waitrc(standbyscreen, 10000, 0);
57
58                if(rcret == getrcconfigint("rcpower", NULL)) break;
59
60                //check for epg update
61                loctime = gettime(NULL, "%H:%M");
62                if(lastrun + 300 < time(NULL) && ostrcmp(loctime, getconfig("epg_refreshtime", NULL)) == 0)
63                {
64                        //start epg scanlist
65                        lastrun = time(NULL);
66                        epgscan = addtimer(&epgscanlistthread, START, 1000, 1, NULL, NULL, NULL);
67                }
68                free(loctime); loctime = 0;
69        }
70        system("vdstandby -d");
71
72        if(gettimer(epgscan) != NULL)
73                epgscan->aktion = STOP;
74
75        setoverclockfreq(1);
76        setosdtransparent(getskinconfigint("osdtransparent", NULL));
77        setvfdbrightness(getconfigint("vfdbrightness", NULL));
78
79        tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
80        if(voltoff == 1)
81                servicestart(status.lastservice->channel, tmpstr, NULL, 4);
82        else
83                servicestart(status.lastservice->channel, tmpstr, NULL, 0);
84        free(tmpstr); tmpstr = NULL;
85
86        subtitlepause(0);
87        status.standby = 0;
88        status.startmode = 2;
89        sleep(1);
90        status.rcowner = NULL;
91}
92
93#endif
Note: See TracBrowser for help on using the repository browser.