4 * Copyright (C) 2013-06-21 K.Ohta <whatisthis.sowhat ai gmail.com>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2,
10 * or (at your option) any later version.
11 * This library / program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this library; see the file COPYING. If not, write to the
18 * Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
21 * As a special exception, if you link this(includeed from sdcc) library
22 * with other files, some of which are compiled with SDCC,
23 * to produce an executable, this library does not by itself cause
24 * the resulting executable to be covered by the GNU General Public License.
25 * This exception does not however invalidate any other reasons why
26 * the executable file might be covered by the GNU General Public License.
31 #include "commondef.h"
33 const char *userfreq_helpstr[16] = {
35 const char *userfreq_helpstr[10] = {
39 "4: Call direct", "6: Set",
44 "A: Exit", "D: Reset",
45 "E: Backlight", "F: (Exit) Help",
48 const char *updown_helpstr[16] = {
49 "5: Menu", "0: Narrow/Broad",
50 "1: Slow Down", "3: Slow Up",
52 "7: Fast Down", "9: Fast Up",
53 "2: Band Down", "8: Band Up",
54 "A: AM/FM", "B: User freq",
55 "C Scan", "D: Stereo mode",
56 "E: Backlight", "F: (Exit) Help",
59 const char *setup_helpstr[14] = {
60 "0: Power OFF", "6: UI Update ",
61 "3: BL Level", "E: BL time",
62 "A: Load", "D: Reset default",
63 "C: Save status", " ",
64 "7: FM CNR", "8: AM CNR"
65 "9: FM STEREO", "4: FM BW",
66 "5: Cancel", "f: (Exit) Help",
69 const char *mainmenu_helpstr[16] = {
70 "0: Setup", "1: Band",
72 "4: Call user", "6: Set user",
73 "7: Power Off", "8: Volume",
74 "9: Reload", "A: AM/FM",
75 "B: Cancel","C: Set user",
76 "D: Input user","E: FM PITCH",
77 " ", "F: (Exit) Help",
80 const char *numeric_helpstr[8] = {
81 "On numeric", " input",
82 "0-9: Numeric", "F: Enter",
83 "A: Delete", "B: Reset value",
84 "D: Left", "E: Right",
88 const char *version_helpstr[8] = {
89 "Open I2C Radio", "V1.00",
90 "(C) 2013", "Kyuma Ohta",
91 "Licensed under", "GPLv2+LE",
92 "Press any key", " to continue.",
95 static unsigned char help_header(void)
97 return printhelp_2lines("Help", "F=exit any=continue");
100 static unsigned char help_version(void)
104 for(i = 0; i < 8; i += 2){
105 c = printhelp_2lines(version_helpstr[i], version_helpstr[i + 1]);
106 if(c == charcode_f) return c;
108 return help_header();
111 void setup_help(void)
116 if(help_header() == charcode_f) return;
118 c = printhelp_2lines(setup_helpstr[l], setup_helpstr[l + 1]);
119 if(c == charcode_f) return;
123 if(c == charcode_f) return;
124 if(help_version() == charcode_f) return;
131 unsigned char printhelp_2lines(const char *l1, const char *l2)
139 return pollkey_single();
142 unsigned char numeric_help(void)
148 c = printhelp_2lines(numeric_helpstr[l], numeric_helpstr[l + 1]);
149 if(c == charcode_f) return charcode_f;
155 void mainmenu_help(void)
161 if(help_header() == charcode_f) return;
163 c = printhelp_2lines(mainmenu_helpstr[l], mainmenu_helpstr[l + 1]);
164 if(c == charcode_f) return;
168 if(c == charcode_f) return;
169 if(help_version() == charcode_f) return;
175 void updown_help(void)
181 if(help_header() == charcode_f) return;
183 c = printhelp_2lines(updown_helpstr[l], updown_helpstr[l + 1]);
184 if(c == charcode_f) return;
188 if(c == charcode_f) return;
189 if(help_version() == charcode_f) return;
196 void userfreq_help(void)
202 if(help_header() == charcode_f) return;
204 c = printhelp_2lines(userfreq_helpstr[l], userfreq_helpstr[l + 1]);
205 if(c == charcode_f) return;
209 if(c == charcode_f) return;
210 if(help_version() == charcode_f) return;