freebsd-ports/sysutils/wmbsdbatt/files/patch-zz-frequency
Soeren Straarup 7d5ce29fac Print current CPU frequency
PR:		ports/126391
Submitted by:	Ulrich Spoerlein <uspoerlein@gmail.com>
2008-08-11 06:44:18 +00:00

179 lines
8.3 KiB
Text
Raw Blame History

--- backlight_off.xpm Tue Dec 23 19:27:34 2003
+++ backlight_off.xpm Wed Jan 11 17:40:26 2006
@@ -56,15 +56,15 @@
"+@#%&&&%%%&&&&&&&%%%%%%%%&&&%%%%%%%%&&%&&&&%%&&%%&%%%&%&+$",
"+@#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%&+$",
"+@#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+$",
-"+@#%&&%%%&&&%%%&&&%%%&&&%%%&&&%%%&&&&%&%&&&%&%&&&%%%&&&&+$",
-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$",
-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$",
-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$",
-"+@#%&&%%%&&&%%%&&&%%%&&&%%%&&&%%%&&&&%&%&&&%&%&&&%%%&&&&+$",
-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$",
-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$",
-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$",
-"+@#%&&%%%&&&%%%&&&%%%&&&%%%&&&%%%&&&&%&%&&&%&%&&&%%%&&&&+$",
+"+@#%&%%%&&&%%%&&&%%%&&&%%%&&&&&&&%%%&&&%%%&&&%%%&&&%%%&&+$",
+"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$",
+"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$",
+"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$",
+"+@#%&%%%&&&%%%&&&%%%&&&%%%&&&&&&&%%%&&&%%%&&&%%%&&&%%%&&+$",
+"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$",
+"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$",
+"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$",
+"+@#%&%%%&&&%%%&&&%%%&&&%%%&&&&&&&%%%&&&%%%&&&%%%&&&%%%&&+$",
"+@#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&++$",
".+++++++++++++++++++++++++++++++++++++++++++++++++++++++$.",
"..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.."};
--- backlight_on.xpm Tue Dec 16 00:59:51 2003
+++ backlight_on.xpm Wed Jan 11 17:49:48 2006
@@ -39,7 +39,7 @@
".++++...............................++$$$+$$$+$$$+.+++.++@",
".++++.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$++$+.+$+@",
".++++.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$+++.+$++@",
-".++++$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$++.+$+++@",
+".++++.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$++.+$+++@",
".++++...............................++$$$+$$$+$$$+.+$+.++@",
".++++++++++++++++++++++++++++++++++++++++++++++++++$+++$+@",
".++++...............................++$$$+$$$+$$$+.+++.++@",
@@ -56,15 +56,15 @@
".++++++$$$+++++++$$$$$$$$+++$$$$$$$$++$++++$$++$$+$$$+$++@",
".+++++++++++++++++++++++++++++++++++++$$$$$$$$$$$$$$$$$++@",
".++++++++++++++++++++++++++++++++++++++++++++++++++++++++@",
-".+++++$$$+++$$$+++$$$+++$$$+++$$$++++$+$+++$+$+++$$$+++++@",
-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@",
-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@",
-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@",
-".+++++$$$+++$$$+++$$$+++$$$+++$$$++++$+$+++$+$+++$$$+++++@",
-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@",
-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@",
-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@",
-".+++++$$$+++$$$+++$$$+++$$$+++$$$++++$+$+++$+$+++$$$+++++@",
+".++++$$$+++$$$+++$$$+++$$$+++++++$$$+++$$$+++$$$+++$$$+++@",
+".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@",
+".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@",
+".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@",
+".++++$$$+++$$$+++$$$+++$$$+++++++$$$+++$$$+++$$$+++$$$+++@",
+".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@",
+".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@",
+".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@",
+".++++$$$+++$$$+++$$$+++$$$+++++++$$$+++$$$+++$$$+++$$$+++@",
".++++++++++++++++++++++++++++++++++++++++++++++++++++++++@",
" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ",
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ "};
--- parts.xpm Tue Dec 16 00:59:51 2003
+++ parts.xpm Wed Jan 11 17:45:26 2006
@@ -61,13 +61,13 @@
"+...+@...++...@@...+@...+@...++...+@...++...+@...++###+$###++###$$###+$###+$###++###+$###++###+$###++###",
".+++..@@@..+++..+++..@@@..+++..+++..@@@..+++..+++.#+++##$$$##+++##+++##$$$##+++##+++##$$$##+++##+++##+++",
".@@@..@@@..+++..+++..@@@.&+++..+++..+++..+++..+++.#$$$##$$$##+++##+++##$$$##+++##+++##+++##+++##+++##+++",
-"@.@.@+.+.++.@.++.@.@+...++...@+...@@...++...++...+$#$#$+#+#++#$#++#$#$+###++###$+###$$###++###++###++###",
-"@.@.@+.+.++.@.++.@.@+...++...@+...@@...++...++...+$#$#$+#+#++#$#++#$#$+###++###$+###$$###++###++###++###",
-"@.@.@+.+.++.@.++.@.@+...++...@+...@@...++...++...+$#$#$+#+#++#$#++#$#$+###++###$+###$$###++###++###++###",
-".+.+..@.@..+.+..@.@..+++&&+++..+++..@@@..+++..+++.#+#+##$#$##+#+##$#$##+++&&+++##+++##$$$&#+++##+++&&$$$",
-"+.+.++.+.+@.@.@+.@.@@...+@...++...+@...++...+@...++#+#++#+#+$#$#$+#$#$$###+$###++###+$###++###+$###++###",
-"+.+.++.+.+@.@.@+.@.@@...+@...++...+@...++...+@...++#+#++#+#+$#$#$+#$#$$###+$###++###+$###++###+$###++###",
-"+.+.++.+.+@.@.@+.@.@@...+@...++...+@...++...+@...++#+#++#+#+$#$#$+#$#$$###+$###++###+$###++###+$###++###",
+"@.@.@+.+.++...++...@+...++...@+...@@...++...++...+$#$#$+#+#++###++###$+###++###$+###$$###++###++###++###",
+"@.@.@+.+.++...++...@+...++...@+...@@...++...++...+$#$#$+#+#++###++###$+###++###$+###$$###++###++###++###",
+"@.@.@+.+.++...++...@+...++...@+...@@...++...++...+$#$#$+#+#++###++###$+###++###$+###$$###++###++###++###",
+".+.+..@.@..+++..@.@..+++&&+++..+++..@@@..+++..+++.#+#+##$#$##+++##$#$##+++&&+++##+++##$$$&#+++##+++&&$$$",
+"+.+.++.+.+@...@+...@@...+@...++...+@...++...+@...++#+#++#+#+$###$+###$$###+$###++###+$###++###+$###++###",
+"+.+.++.+.+@...@+...@@...+@...++...+@...++...+@...++#+#++#+#+$###$+###$$###+$###++###+$###++###+$###++###",
+"+.+.++.+.+@...@+...@@...+@...++...+@...++...+@...++#+#++#+#+$###$+###$$###+$###++###+$###++###+$###++###",
".@@@..+++..@@@..+++..@@@&&+++..+++..@@@&.+++..+++##$$$##+++##$$$##+++##$$$&&+++##+++##$$$&#+++##+++##+++",
"+++++++++++++++++++++++++++++++....+++....+++++++++++++++++..##+++####+++++++++++++++++#################",
"++++++++++++++++++++++++++++++++.+++..+..++.+++++..++.+++.+..+++##+##++#+++++##++#+++#+#################",
--- wmbsdbatt.c Tue Dec 23 19:27:34 2003
+++ wmbsdbatt.c Wed Jan 11 18:00:47 2006
@@ -67,6 +67,7 @@
int battery_time;
int temperature;
int low;
+ int freq;
#if 0
int capacity;
int rate;
@@ -79,6 +80,7 @@
static char *sysctl_battery_time = "hw.acpi.battery.time";
static char *sysctl_temperature = "hw.acpi.thermal.tz0.temperature";
static char *sysctl_acline = "hw.acpi.acline";
+static char *sysctl_frequency = "dev.cpu.0.freq";
typedef enum { LIGHTOFF, LIGHTON } light;
@@ -106,6 +108,7 @@
void draw_batt(void);
void draw_low(void);
void draw_temp(void);
+void draw_freq(void);
void draw_statusdigit(void);
void draw_pcgraph(void);
void blink_batt(void);
@@ -238,7 +241,6 @@
}
if (show) {
/* show */
- draw_all();
if (charging) {
blink_pos--;
}
@@ -284,6 +286,10 @@
addr -= 273;
acpi_info.temperature = addr;
+ if (sysctlbyname(sysctl_frequency, &addr, &len, NULL, 0) == -1)
+ err(1, "sysctlbyname(\"%s\")", sysctl_frequency);
+ acpi_info.freq = addr;
+
if (sysctlbyname(sysctl_acline, &addr, &len, NULL, 0) == -1)
err(1, "sysctlbyname(\"%s\")", sysctl_acline);
acpi_info.acline = addr;
@@ -372,6 +378,7 @@
draw_temp();
#endif
draw_temp();
+ draw_freq();
if (acpi_info.battery_status == CHARGING)
blink_batt();
@@ -471,13 +478,35 @@
temp = 0;
dockapp_copyarea(parts, pixmap, (temp / 10) * 5 + light_offset, 40, 5,
- 9, 23, 46);
+ 9, 32, 46);
dockapp_copyarea(parts, pixmap, (temp % 10) * 5 + light_offset, 40, 5,
- 9, 29, 46);
+ 9, 38, 46);
/* '<27>C'. */
- dockapp_copyarea(parts, pixmap, 10 + light_offset, 49, 5, 9, 36, 46);
- dockapp_copyarea(parts, pixmap, 15 + light_offset, 49, 5, 9, 42, 46);
+ dockapp_copyarea(parts, pixmap, 10 + light_offset, 49, 5, 9, 44, 46);
+ dockapp_copyarea(parts, pixmap, 15 + light_offset, 49, 5, 9, 50, 46);
+
+}
+
+void
+draw_freq(void)
+{
+ int light_offset=0;
+ int freq = acpi_info.freq;
+
+ if (backlight == LIGHTON)
+ light_offset = 50;
+
+ if (freq < 0)
+ freq = 0;
+ else if (freq > 9999)
+ freq = 9999;
+ if (freq >= 1000)
+ dockapp_copyarea(parts, pixmap, ((freq / 1000) % 10) * 5 + light_offset, 40, 5, 9, 4, 46);
+ if (freq >= 100)
+ dockapp_copyarea(parts, pixmap, ((freq / 100) % 10) * 5 + light_offset, 40, 5, 9, 10, 46);
+ dockapp_copyarea(parts, pixmap, ((freq / 10) % 10) * 5 + light_offset, 40, 5, 9, 16, 46);
+ dockapp_copyarea(parts, pixmap, (freq % 10) * 5 + light_offset, 40, 5, 9, 22, 46);
}