blob: bd81e11fbf7f88201dbb3c66ab4cbf7586e9abb9 [file] [log] [blame]
Mats Lidell89d22852002-08-21 10:37:34 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 Mats Lidell <matsl@contactor.se>
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
Björn Stenberg8b695042004-09-16 14:36:08 +000019#include "config.h"
Mats Lidell89d22852002-08-21 10:37:34 +000020#ifdef HAVE_LCD_CHARCELLS
21
22#include "sim_icons.h"
23
24#include <lcd.h>
25#include <kernel.h>
26#include <sprintf.h>
27#include <string.h>
28#include <debug.h>
29
Kjell Ericsona901c3a2002-10-21 20:46:10 +000030extern void lcd_print_icon(int x, int icon_line, bool enable, char **icon);
31
Mats Lidell0d79fa12002-10-31 17:34:07 +000032static char* icon_battery_bit[]=
33{
Jens Arnold3e496e32006-02-20 00:31:10 +000034 "-----",
35 " ",
36 "*****",
37 "*****",
38 "*****",
39 "*****",
40 "*****",
41 "*****",
42 " ",
43 "-----",
Mats Lidell0d79fa12002-10-31 17:34:07 +000044 NULL
45};
46
Kjell Ericsonfe10eb32002-10-21 20:17:47 +000047static char* icon_battery[]=
Mats Lidell0d79fa12002-10-31 17:34:07 +000048{
Jens Arnold3e496e32006-02-20 00:31:10 +000049 "********************* ",
50 "* * ",
51 "* * ",
52 "* ***",
53 "* * *",
54 "* * *",
55 "* ***",
56 "* * ",
57 "* * ",
58 "********************* ",
Mats Lidell0d79fa12002-10-31 17:34:07 +000059 NULL
60};
Mats Lidell89d22852002-08-21 10:37:34 +000061
Kjell Ericsonfe10eb32002-10-21 20:17:47 +000062static char* icon_volume[]=
Mats Lidell0d79fa12002-10-31 17:34:07 +000063{
Jens Arnold3e496e32006-02-20 00:31:10 +000064 " ",
65 " ",
66 " ",
67 " ",
68 "* * * ",
69 "* * * ",
70 " * * *** * ",
71 " * * * * * ",
72 " * * * * ",
73 " * *** * ",
Mats Lidell0d79fa12002-10-31 17:34:07 +000074 NULL
75};
Mats Lidell89d22852002-08-21 10:37:34 +000076
Mats Lidell0d79fa12002-10-31 17:34:07 +000077static char* icon_volume_1[]=
78{
79 " ",
80 " ",
81 " ",
82 " ",
Jens Arnold3e496e32006-02-20 00:31:10 +000083 "**",
84 "**",
85 "**",
Mats Lidell0d79fa12002-10-31 17:34:07 +000086 "**",
87 "**",
88 "**",
89 NULL
90};
91
92static char* icon_volume_2[]=
93{
94 " ",
95 " ",
96 " ",
Jens Arnold3e496e32006-02-20 00:31:10 +000097 "**",
Mats Lidell0d79fa12002-10-31 17:34:07 +000098 "**",
99 "**",
100 "**",
101 "**",
102 "**",
103 "**",
104 NULL
105};
106
107static char* icon_volume_3[]=
108{
109 " ",
110 " ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000111 "**",
112 "**",
113 "**",
114 "**",
115 "**",
116 "**",
117 "**",
118 "**",
119 NULL
120};
121
122static char* icon_volume_4[]=
123{
124 " ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000125 "**",
126 "**",
127 "**",
128 "**",
129 "**",
130 "**",
131 "**",
132 "**",
133 "**",
134 NULL
135};
136
137static char* icon_volume_5[]=
138{
Mats Lidell0d79fa12002-10-31 17:34:07 +0000139 "**",
140 "**",
141 "**",
142 "**",
143 "**",
144 "**",
145 "**",
146 "**",
147 "**",
148 "**",
149 NULL
150};
151
152static char* icon_pause[]=
153{
Jens Arnold3e496e32006-02-20 00:31:10 +0000154 " **** **** ",
155 " **** **** ",
156 " **** **** ",
157 " **** **** ",
158 " **** **** ",
159 " **** **** ",
160 " **** **** ",
161 " **** **** ",
162 " **** **** ",
163 " **** **** ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000164 NULL
165};
166
167static char* icon_play[]=
168{
Jens Arnold3e496e32006-02-20 00:31:10 +0000169 "** ",
170 "***** ",
171 "******* ",
172 "********* ",
173 "*********** ",
174 "********* ",
175 "******* ",
176 "***** ",
177 "** ",
178 " ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000179 NULL
180};
181
182static char* icon_record[]=
183{
Jens Arnold3e496e32006-02-20 00:31:10 +0000184 " *** ",
185 " ***** ",
186 " ******* ",
187 " ********* ",
188 " ********* ",
189 " ********* ",
190 " ******* ",
191 " ***** ",
192 " *** ",
193 " ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000194 NULL
195};
196
197static char* icon_usb[]=
198{
Jens Arnold3e496e32006-02-20 00:31:10 +0000199 " ********* ",
200 " ** ** ",
201 " * ",
202 " ** * ** ",
203 "***********************",
204 " ** * ** ",
205 " * ",
206 " ** ** ",
207 " ******** ",
208 " ** ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000209 NULL
210};
211
212static char* icon_audio[]=
213{
Jens Arnold3e496e32006-02-20 00:31:10 +0000214 " *************************** ",
215 " ** ** ",
216 "* ** * * **** * *** *",
217 "* * * * * * * * * * *",
218 "* * * * * * * * * * *",
219 "* ****** * * * * * * * *",
220 "* * * * * * * * * * *",
221 "* * * *** **** * *** *",
222 " ** ** ",
223 " *************************** ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000224 NULL
225};
226
227static char* icon_param[]=
228{
Jens Arnold3e496e32006-02-20 00:31:10 +0000229 " ********************************* ",
230 " ** ** ",
231 "* **** ** **** ** ** ** *",
232 "* * * * * * * * * ** ** *",
233 "* * * * * * * * * * * * * *",
234 "* **** ****** **** ****** * * * * *",
235 "* * * * * * * * * * * *",
236 "* * * * * * * * * * * *",
237 " ** ** ",
238 " ********************************* ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000239 NULL
240};
241
242static char* icon_repeat[]=
243{
Jens Arnold3e496e32006-02-20 00:31:10 +0000244 " ",
245 " *************",
246 " * ",
247 " * ",
248 "* ",
249 "* ",
250 "* ** ",
251 " * **** ",
252 " * ****** ",
253 " *************",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000254 NULL
255};
256
257static char* icon_repeat2[]=
258{
Jens Arnold3e496e32006-02-20 00:31:10 +0000259 " ",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000260 " *",
261 " **",
262 "***",
263 " *",
264 " *",
265 " *",
266 " *",
267 " *",
268 " *",
Mats Lidell0d79fa12002-10-31 17:34:07 +0000269 NULL
270};
271
Mats Lidell89d22852002-08-21 10:37:34 +0000272
273struct icon_info
274{
Kjell Ericsonfe10eb32002-10-21 20:17:47 +0000275 char** bitmap;
Mats Lidell89d22852002-08-21 10:37:34 +0000276 int xpos;
Kjell Ericsonfe10eb32002-10-21 20:17:47 +0000277 int row;
Mats Lidell89d22852002-08-21 10:37:34 +0000278};
279
Jens Arnold3e496e32006-02-20 00:31:10 +0000280#define ICON_VOLUME_POS 102
281#define ICON_VOLUME_SIZE 14
Mats Lidell0d79fa12002-10-31 17:34:07 +0000282#define ICON_VOLUME_X_SIZE 2
283
284static struct icon_info icons [] =
Mats Lidell89d22852002-08-21 10:37:34 +0000285{
Jens Arnold3e496e32006-02-20 00:31:10 +0000286
Kjell Ericsonfe10eb32002-10-21 20:17:47 +0000287 {icon_battery, 0, 0},
Jens Arnold3e496e32006-02-20 00:31:10 +0000288 {icon_battery_bit, 2, 0},
289 {icon_battery_bit, 8, 0},
290 {icon_battery_bit, 14, 0},
Kjell Ericsonfe10eb32002-10-21 20:17:47 +0000291 {icon_usb, 0, 1},
Jens Arnold3e496e32006-02-20 00:31:10 +0000292 {icon_play, 36, 0},
293 {icon_record, 48, 0},
294 {icon_pause, 60, 0},
295 {icon_audio, 37, 1},
296 {icon_repeat, 74, 0},
297 {icon_repeat2, 94, 0},
Mats Lidell0d79fa12002-10-31 17:34:07 +0000298 {icon_volume, ICON_VOLUME_POS, 0},
299 {icon_volume_1, ICON_VOLUME_POS+ICON_VOLUME_SIZE, 0},
300 {icon_volume_2, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(1*ICON_VOLUME_X_SIZE)+1, 0},
301 {icon_volume_3, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(2*ICON_VOLUME_X_SIZE)+2, 0},
302 {icon_volume_4, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(3*ICON_VOLUME_X_SIZE)+3, 0},
303 {icon_volume_5, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(4*ICON_VOLUME_X_SIZE)+4, 0},
Jens Arnold3e496e32006-02-20 00:31:10 +0000304 {icon_param, 90, 1}
Mats Lidell89d22852002-08-21 10:37:34 +0000305};
306
307void
Björn Stenberg86f9a842002-09-23 11:17:52 +0000308lcd_icon(int icon, bool enable)
Mats Lidell89d22852002-08-21 10:37:34 +0000309{
Kjell Ericsonfe10eb32002-10-21 20:17:47 +0000310 lcd_print_icon(icons[icon].xpos, icons[icon].row, enable,
311 icons[icon].bitmap);
Mats Lidell89d22852002-08-21 10:37:34 +0000312}
313
314#endif /* HAVE_LCD_CHARCELLS */
Mats Lidell0d79fa12002-10-31 17:34:07 +0000315
316