summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2010-10-13 20:43:18 +0000
committerFrank Gevaerts <frank@gevaerts.be>2010-10-13 20:43:18 +0000
commit771646a576eb5c92fed32e3b8af565bc50c68812 (patch)
tree95f52632bb695699550b7be8e01d445a351eca5f
parentd793a971d8d0a0510c8e6da026ee3212ae4bf9ad (diff)
downloadrockbox-771646a576eb5c92fed32e3b8af565bc50c68812.tar.gz
rockbox-771646a576eb5c92fed32e3b8af565bc50c68812.tar.bz2
rockbox-771646a576eb5c92fed32e3b8af565bc50c68812.zip
Resistor calculator: Add lots of static, and slightly reorganise the code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28271 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/resistor.c128
1 files changed, 52 insertions, 76 deletions
diff --git a/apps/plugins/resistor.c b/apps/plugins/resistor.c
index 2cd4a2cb70..8bccbefcc8 100644
--- a/apps/plugins/resistor.c
+++ b/apps/plugins/resistor.c
@@ -86,8 +86,8 @@ enum color {
RES_INVALID = -1,
};
-int common_values[] = { 0, 1, 10, 15, 22, 27, 33, 39, 47, 51, 68, 82 };
-int power_ratings[] = { 125, 250, 500, 1000, 2000, 3000, 5000, 10000, 50000 };
+static int common_values[] = { 0, 1, 10, 15, 22, 27, 33, 39, 47, 51, 68, 82 };
+static int power_ratings[] = { 125, 250, 500, 1000, 2000, 3000, 5000, 10000, 50000 };
/* All in mW */
#ifndef LCD_RGBPACK
@@ -95,7 +95,7 @@ int power_ratings[] = { 125, 250, 500, 1000, 2000, 3000, 5000, 10000, 50000 };
#define LCD_RGBPACK(x,y,z) 0
#endif
-struct band_data
+static struct band_data
{
enum color color;
char *name;
@@ -121,69 +121,42 @@ struct band_data
{ RES_NONE, "[None]", -1 ,-1, -1, 0, 20 }
};
-char *unit_abbrev;
-char tolerance_str [14];
-char power_rating_str [10];
-int r_to_c_first_band;
-int r_to_c_second_band;
-int r_to_c_third_band;
+static char *unit_abbrev;
-char str [4][7];
+static struct viewport screen_vp;
+static struct viewport bitmap_vp;
+static struct viewport text_vp;
+static struct screen *display;
-struct viewport screen_vp;
-struct viewport bitmap_vp;
-struct viewport text_vp;
-struct screen *display;
+static int lineno;
-int lineno;
-
-void get_power_rating_str(int in_rating)
+static char *get_power_rating_str(int in_rating)
{
-switch(in_rating) {
- case 125:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "1/8 Watt");
- break;
- case 250:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "1/4 Watt");
- break;
- case 500:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "1/2 Watt");
- break;
- case 1000:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "1 Watt");
- break;
- case 2000:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "2 Watt");
- break;
- case 3000:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "3 Watt");
- break;
- case 5000:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "5 Watt");
- break;
- case 10000:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "10 Watt");
- break;
- case 500000:
- rb->snprintf(power_rating_str, sizeof(power_rating_str), "50 Watt");
- break;
+ switch(in_rating) {
+ case 125:
+ return "1/8 Watt";
+ case 250:
+ return "1/4 Watt";
+ case 500:
+ return "1/2 Watt";
+ case 1000:
+ return "1 Watt";
+ case 2000:
+ return "2 Watt";
+ case 3000:
+ return "3 Watt";
+ case 5000:
+ return "5 Watt";
+ case 10000:
+ return "10 Watt";
+ case 500000:
+ return "50 Watt";
+ default:
+ return "Unknown";
}
}
-int get_power_ten(int in_val)
-{
- int power = 0;
- if(in_val <= 9 && in_val >= 0) { power = 0; }
- else if(in_val <= 99 && in_val >= 10) {power = 1;}
- else if(in_val <= 999 && in_val >= 100) {power = 2;}
- else if(in_val <= 9999 && in_val >= 1000) {power = 3;}
- else if(in_val <= 99999 && in_val >= 10000) {power = 4;}
- else if(in_val <= 999999 && in_val >= 100000) {power = 5;}
- else if(in_val <= 9999999 && in_val >= 1000000) {power = 6;}
- return power;
-}
-
-int powi(int num, int exp)
+static int powi(int num, int exp)
{
int i, product = 1;
for (i = 0; i < exp; i++) {
@@ -192,7 +165,7 @@ int powi(int num, int exp)
return product;
}
-enum color get_band_rtoc(int in_val)
+static enum color get_band_rtoc(int in_val)
{
int return_color = 0;
switch(in_val) {
@@ -230,14 +203,16 @@ enum color get_band_rtoc(int in_val)
return return_color;
}
-void get_tolerance_str(enum color color)
+static char *get_tolerance_str(enum color color)
{
+ static char tolerance_str [14];
rb->snprintf(tolerance_str, sizeof(tolerance_str), "%d%% tolerance",
band_data[color].tolerance);
+ return tolerance_str;
}
#ifndef USE_TEXT_ONLY
-void draw_resistor(enum color firstband_color,
+static void draw_resistor(enum color firstband_color,
enum color secondband_color,
enum color thirdband_color,
enum color fourthband_color)
@@ -290,7 +265,7 @@ void draw_resistor(enum color firstband_color,
}
#endif
-void draw_resistor_text(enum color firstband_color,
+static void draw_resistor_text(enum color firstband_color,
enum color secondband_color,
enum color thirdband_color,
enum color fourthband_color)
@@ -307,7 +282,7 @@ void draw_resistor_text(enum color firstband_color,
}
-int calculate_resistance(enum color first_band,
+static int calculate_resistance(enum color first_band,
enum color second_band,
enum color third_band)
{
@@ -325,7 +300,7 @@ int calculate_resistance(enum color first_band,
return total_resistance_centiunits;
}
-enum color do_first_band_menu(void)
+static enum color do_first_band_menu(void)
{
int band_selection = 0;
enum color band_color_selection = 0;
@@ -373,7 +348,7 @@ enum color do_first_band_menu(void)
return band_color_selection;
}
-enum color do_second_band_menu(void)
+static enum color do_second_band_menu(void)
{
int band_selection = 0;
enum color band_color_selection = 0;
@@ -421,7 +396,7 @@ enum color do_second_band_menu(void)
return band_color_selection;
}
-enum color do_third_band_menu(void)
+static enum color do_third_band_menu(void)
{
int band_selection = 0;
enum color band_color_selection = 0;
@@ -466,7 +441,7 @@ enum color do_third_band_menu(void)
return band_color_selection;
}
-enum color do_fourth_band_menu(void)
+static enum color do_fourth_band_menu(void)
{
int band_selection = 0;
enum color band_color_selection = 0;
@@ -498,7 +473,7 @@ enum color do_fourth_band_menu(void)
return band_color_selection;
}
-void display_helpfile(void)
+static void display_helpfile(void)
{
rb->lcd_clear_display();
/* some information obtained from wikipedia */
@@ -591,7 +566,7 @@ void display_helpfile(void)
return;
}
-void led_resistance_calc(void)
+static void led_resistance_calc(void)
{
backlight_force_on();
int voltage_menu_selection, button_press, j, k, l, foreward_current = 0;
@@ -770,7 +745,8 @@ void led_resistance_calc(void)
"Rounded/displayed: [%d %s]", rounded_resistance,
band_data[multiplier].unit);
rb->snprintf(power_rating_out_str, sizeof(power_rating_out_str),
- "Recommended: %s or greater", power_rating_str);
+ "Recommended: %s or greater",
+ get_power_rating_str(rounded_power_rating));
display->set_viewport(&text_vp);
rb->lcd_puts_scroll(resistance_val_x, lineno++, true_current_out_str);
@@ -796,7 +772,7 @@ void led_resistance_calc(void)
}
-void resistance_to_color(void)
+static void resistance_to_color(void)
{
backlight_force_on();
int menu_selection;
@@ -921,7 +897,7 @@ void resistance_to_color(void)
rb->lcd_clear_display();
}
-void color_to_resistance(void)
+static void color_to_resistance(void)
{
backlight_force_on();
bool quit = false;
@@ -955,7 +931,6 @@ void color_to_resistance(void)
total_resistance_centiunits = calculate_resistance(first_band,
second_band,
third_band);
- get_tolerance_str(fourth_band);
rb->lcd_clear_display();
lineno = INITIAL_TEXT_Y;
@@ -982,8 +957,9 @@ void color_to_resistance(void)
}
display->set_viewport(&text_vp);
rb->lcd_puts_scroll(total_resistance_str_x, lineno++,
- total_resistance_str);
- rb->lcd_puts_scroll(tolerance_str_x, lineno++, tolerance_str);
+ total_resistance_str);
+ rb->lcd_puts_scroll(tolerance_str_x, lineno++,
+ get_tolerance_str(fourth_band));
rb->lcd_update();
button_input = rb->button_get(true);