ACPI programming under FreeBSD?

2002-10-01 Thread Craig Rodrigues

Hi,

I am interested in retrieving power statistics type of information from a 
system running FreeBSD.  I am interested in information such as:
power consumed, temperature, percentage of battery available, etc.

Is it possible to do this with ACPI, and if so, are there any
examples of how to gather this information at the user-level?

How stable is ACPI support in -STABLE and -CURRENT for this
kind of work?

Thanks.
-- 
Craig Rodrigues
http://www.gis.net/~craigr
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: ACPI programming under FreeBSD?

2002-10-01 Thread Mitsuru IWASAKI

Hi,

> I am interested in retrieving power statistics type of information from a 
> system running FreeBSD.  I am interested in information such as:
> power consumed, temperature, percentage of battery available, etc.
> 
> Is it possible to do this with ACPI, and if so, are there any
> examples of how to gather this information at the user-level?

Yes, you can get them via sysctl, like
% sysctl hw.acpi
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S4
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S4
hw.acpi.suspend_state: S4
hw.acpi.sleep_delay: 0
hw.acpi.s4bios: 1
hw.acpi.verbose: 0
hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 8
hw.acpi.cpu.performance_speed: 8
hw.acpi.cpu.economy_speed: 8
hw.acpi.thermal.min_runtime: 300
hw.acpi.thermal.polling_rate: 30
hw.acpi.thermal.tz0.temperature: 3262
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: -1
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 3652
hw.acpi.thermal.tz0._ACx: 3372 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.acline: 0
hw.acpi.battery.life: 99
hw.acpi.battery.time: 357
hw.acpi.battery.state: 1
hw.acpi.battery.units: 1
hw.acpi.battery.info_expire: 30

I think my fivamon (Monitor for ACPI and Crusoe Longrun info.) will be
an example of application development.  It's diff against wmmon Dock.

http://people.freebsd.org/~iwasaki/acpi/fivamon-20011124.diff
http://people.freebsd.org/~iwasaki/acpi/fivamon-1.gif
http://people.freebsd.org/~iwasaki/acpi/fivamon-2.gif
http://people.freebsd.org/~iwasaki/acpi/fivamon-3.gif

> How stable is ACPI support in -STABLE and -CURRENT for this
> kind of work?

Currently ACPI support is available in only -CURRENT.
But John Baldwin ([EMAIL PROTECTED]) has patches for -STABLE.
The stability is depending on what machine you have, I think.
If you have the same machine with ACPI developer, the machine
is supported very well :-)

Thanks

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: ACPI programming under FreeBSD?

2002-10-02 Thread Mark Santcroos

Hi,

I have a very simple program that does exactly this using sysctl's.
Find it attached.

ACPI developers, there is alot more information available in the kernel about 
ACPI that we don't export to userland yet.
Do you think we should do that using more sysctl's or should we implement
some ioctl's on /dev/acpi to retrieve the information?

Mark

On Tue, Oct 01, 2002 at 04:23:00PM -0400, Craig Rodrigues wrote:
> Hi,
> 
> I am interested in retrieving power statistics type of information from a 
> system running FreeBSD.  I am interested in information such as:
> power consumed, temperature, percentage of battery available, etc.
> 
> Is it possible to do this with ACPI, and if so, are there any
> examples of how to gather this information at the user-level?
> 
> How stable is ACPI support in -STABLE and -CURRENT for this
> kind of work?
> 
> Thanks.
> -- 
> Craig Rodrigues
> http://www.gis.net/~craigr
> [EMAIL PROTECTED]
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message

-- 
Mark SantcroosRIPE Network Coordination Centre
http://www.ripe.net/home/mark/New Projects Group/TTM


#define KELVIN_TO_CELSIUS(t)((t-2732+5)/10)

#include 

int main()
{
int ret;
int intbuf;
size_t len;

ret=sysctlbyname("hw.acpi.thermal.tz0.temperature",&intbuf,&len,NULL,0);
if(ret==0)
printf("tz0 temperarture: %d C\n",KELVIN_TO_CELSIUS(intbuf));

ret=sysctlbyname("hw.acpi.thermal.tz0._CRT",&intbuf,&len,NULL,0);
if(ret==0)
printf("tz0 crit temperarture: %d C\n",KELVIN_TO_CELSIUS(intbuf));


ret=sysctlbyname("hw.acpi.acline",&intbuf,&len,NULL,0);
if(ret==0)
printf("AC Line status: %s\n",intbuf?"online":"offline");

ret=sysctlbyname("hw.acpi.battery.units",&intbuf,&len,NULL,0);
if(ret==0)
printf("Number of battery units: %d\n",intbuf);

ret=sysctlbyname("hw.acpi.battery.state",&intbuf,&len,NULL,0);
if(ret==0)
printf("Battery state: %d\n",intbuf);

ret=sysctlbyname("hw.acpi.battery.life",&intbuf,&len,NULL,0);
if(ret==0)
printf("Remaining battery life: %d%%\n",intbuf);

ret=sysctlbyname("hw.acpi.battery.time",&intbuf,&len,NULL,0);
if(ret==0)
printf("Remaining battery time: %d:%d\n",intbuf/60,intbuf%60);

printf("crit: %d\n",KELVIN_TO_CELSIUS(3732));

return(0);

}



Re: ACPI programming under FreeBSD?

2002-10-02 Thread Oliver Fromme

Mark Santcroos <[EMAIL PROTECTED]> wrote:
 > ACPI developers, there is alot more information available in the kernel about 
 > ACPI that we don't export to userland yet.
 > Do you think we should do that using more sysctl's or should we implement
 > some ioctl's on /dev/acpi to retrieve the information?

I'm not an ACPI developer, but I really like the sysctl
interface, because it enables you to retrieve information
from within scripts easily.  For ioctls you would have to
write a separate tool to be able to access it.

Just my 0.02 Euro.

Regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

"All that we see or seem is just a dream within a dream" (E. A. Poe)

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: ACPI programming under FreeBSD?

2002-10-02 Thread Socketd

>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<

On 10/2/02, 12:34:49 PM, Oliver Fromme <[EMAIL PROTECTED]> wrote regarding 
Re: ACPI programming under FreeBSD?:

> Mark Santcroos <[EMAIL PROTECTED]> wrote:
>  > ACPI developers, there is alot more information available in the kernel 
about
>  > ACPI that we don't export to userland yet.
>  > Do you think we should do that using more sysctl's or should we 
implement
>  > some ioctl's on /dev/acpi to retrieve the information?

> I'm not an ACPI developer, but I really like the sysctl
> interface, because it enables you to retrieve information
> from within scripts easily.  For ioctls you would have to
> write a separate tool to be able to access it.

I think the list of sysctl entries is pretty long as it is.

> Just my 0.02 Euro.

Just my 25 øre (or 0.25 kroner).

Br
socketd

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: ACPI programming under FreeBSD?

2002-10-02 Thread Daniel O'Connor

On Wed, 2002-10-02 at 20:14, Socketd wrote:
> > I'm not an ACPI developer, but I really like the sysctl
> > interface, because it enables you to retrieve information
> > from within scripts easily.  For ioctls you would have to
> > write a separate tool to be able to access it.
> 
> I think the list of sysctl entries is pretty long as it is.

sysctl is suited toward the type of information ACPI provides though -
ie it's tree structure.

I don't think it's going to be any better to have an enormous number of
ioctls for ACPI :)

-- 
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 9A8C 569F 685A D928 5140  AE4B 319B 41F4 5D17 FDD5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message