FireBirdLib - Topfield TMS PVR TAP Programming Library
VFD_SetIcon.c
Go to the documentation of this file.
1#include <string.h>
2#include "FBLib_tmsvfd.h"
3
4bool VFD_SetIcon(tVFDIcon VFDIcon, bool On)
5{
7
8 byte GridIndex = 0, OrBit = 0;
9 byte *grid = (byte*)FIS_vGrid();
10
11 if(!VFDUsedByTAP || !grid)
12 {
13 TRACEEXIT();
14 return FALSE;
15 }
16
17 switch(VFDIcon)
18 {
19 case VFD_AC3 : GridIndex = 27; OrBit = 0; break;
20 case VFD_AM : GridIndex = 39; OrBit = 7; break;
21 case VFD_Attn : GridIndex = 11; OrBit = 4; break;
22 case VFD_CDCenter : GridIndex = 25; OrBit = 1; break;
23 case VFD_Clock : GridIndex = 39; OrBit = 6; break;
24 case VFD_Colon : GridIndex = 37; OrBit = 7; break;
25 case VFD_Dolby : GridIndex = 11; OrBit = 3; break;
26 case VFD_Dollar : GridIndex = 11; OrBit = 5; break;
27 case VFD_FFwd : GridIndex = 10; OrBit = 2; break;
28 case VFD_HDD : GridIndex = 29; OrBit = 4; break;
29 case VFD_JumpStart : GridIndex = 10; OrBit = 5; break;
30 case VFD_JumpEnd : GridIndex = 10; OrBit = 3; break;
31 case VFD_MP3 : GridIndex = 28; OrBit = 7; break;
32 case VFD_Mute : GridIndex = 10; OrBit = 0; break;
33 case VFD_Network : GridIndex = 11; OrBit = 2; break;
34 case VFD_Pause : GridIndex = 10; OrBit = 1; break;
35 case VFD_Play : GridIndex = 10; OrBit = 4; break;
36 case VFD_PM : GridIndex = 38; OrBit = 0; break;
37 case VFD_Power : GridIndex = 33; OrBit = 5; break;
38 case VFD_Radio : GridIndex = 27; OrBit = 3; break;
39 case VFD_REC : GridIndex = 9; OrBit = 1; break;
40 case VFD_Slot1 : GridIndex = 9; OrBit = 0; break;
41 case VFD_Slot2 : GridIndex = 10; OrBit = 7; break;
42 case VFD_RepeatLeft : GridIndex = 11; OrBit = 7; break;
43 case VFD_RepeatRight: GridIndex = 11; OrBit = 6; break;
44 case VFD_Rwd : GridIndex = 10; OrBit = 6; break;
45 case VFD_Satellite : GridIndex = 27; OrBit = 4; break;
46 case VFD_TimeShift : GridIndex = 27; OrBit = 1; break;
47 case VFD_TV : GridIndex = 27; OrBit = 2; break;
48 case VFD_HDDFull : GridIndex = 28; OrBit = 6; break;
49 }
50
51 if(On)
52 grid[GridIndex] = grid[GridIndex] | (1 << OrBit);
53 else
54 grid[GridIndex] = grid[GridIndex] & ~(1 << OrBit);
55
56 TRACEEXIT();
57 return TRUE;
58}
byte * grid
Definition: VFD_GetControl.c:4
bool VFDUsedByTAP
Definition: VFD_GetControl.c:3
dword FIS_vGrid(void)
Definition: FIS_vgrid.c:3
bool VFD_SetIcon(tVFDIcon VFDIcon, bool On)
Definition: VFD_SetIcon.c:4
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
tVFDIcon
Definition: libFireBird.h:3010
@ VFD_Satellite
Definition: libFireBird.h:3038
@ VFD_Dollar
Definition: libFireBird.h:3018
@ VFD_Power
Definition: libFireBird.h:3030
@ VFD_Mute
Definition: libFireBird.h:3025
@ VFD_Colon
Definition: libFireBird.h:3016
@ VFD_HDD
Definition: libFireBird.h:3020
@ VFD_HDDFull
Definition: libFireBird.h:3021
@ VFD_RepeatRight
Definition: libFireBird.h:3036
@ VFD_REC
Definition: libFireBird.h:3032
@ VFD_Clock
Definition: libFireBird.h:3015
@ VFD_MP3
Definition: libFireBird.h:3024
@ VFD_Network
Definition: libFireBird.h:3026
@ VFD_TV
Definition: libFireBird.h:3040
@ VFD_Attn
Definition: libFireBird.h:3013
@ VFD_CDCenter
Definition: libFireBird.h:3014
@ VFD_Slot1
Definition: libFireBird.h:3033
@ VFD_Radio
Definition: libFireBird.h:3031
@ VFD_AC3
Definition: libFireBird.h:3011
@ VFD_Slot2
Definition: libFireBird.h:3034
@ VFD_JumpStart
Definition: libFireBird.h:3022
@ VFD_Dolby
Definition: libFireBird.h:3017
@ VFD_Pause
Definition: libFireBird.h:3027
@ VFD_PM
Definition: libFireBird.h:3029
@ VFD_AM
Definition: libFireBird.h:3012
@ VFD_Play
Definition: libFireBird.h:3028
@ VFD_FFwd
Definition: libFireBird.h:3019
@ VFD_JumpEnd
Definition: libFireBird.h:3023
@ VFD_RepeatLeft
Definition: libFireBird.h:3035
@ VFD_TimeShift
Definition: libFireBird.h:3039
@ VFD_Rwd
Definition: libFireBird.h:3037