SunSPOT API V3.0


com.sun.spot.peripheral
Interface IPowerController


public interface IPowerController


Field Summary
static byte ALARM_EVENT
           
static byte BATTERY_EVENT
           
static byte BUTTON_EVENT
           
static byte COLD_BOOT_EVENT
           
static byte EXTERNAL_POWER_EVENT
           
static byte GET_ALARM_CMD
           
static byte GET_POWER_STATUS_CMD
           
static byte GET_STATUS_CMD
           
static byte GET_STRING_CMD
           
static byte GET_STRING_LEN_CMD
           
static byte LOW_BATTERY_EVENT
           
static byte OVERLOAD_FAULT
           
static byte POWERUP_FAULT
           
static byte QUERY_I_CHARGE
           
static byte QUERY_I_DISCHARGE
           
static byte QUERY_I_MAX
           
static byte QUERY_STARTUP
           
static byte QUERY_TEMPERATURE
           
static byte QUERY_V_BATT
           
static byte QUERY_V_CC
           
static byte QUERY_V_CORE
           
static byte QUERY_V_EXT
           
static byte QUERY_V_USB
           
static byte SENSOR_EVENT
           
static byte SET_ALARM_CMD
           
static byte SET_CONTROL_CMD
           
static byte SET_INDICATE_CMD
           
static byte SET_TIME_CMD
           
static byte SHOW_ALARM
           
static byte SHOW_BATTERYON
           
static byte SHOW_BUTTON
           
static byte SHOW_EXTERNAL
           
static byte SHOW_EXTERNALON
           
static byte SHOW_PFAULT
           
static byte SHOW_SLEEP
           
static byte SLEEP_EVENT
           
static byte VBATT_FAULT
           
static byte VCC_FAULT
           
static byte VCORE_FAULT
           
static byte VEXT_FAULT
           
static byte VUSB_FAULT
           
static byte WAKE_ON_INTERRUPT
           
 
Method Summary
 void disableSynchronisation()
          Disable automatic synchronisation between PowerController time and System time.
 void enableSynchronisation()
          Re-enable automatic synchronisation after a previous call to disableSynchronisation.
 int getIcharge()
          Return the current charging the battery in milliamps.
 int getIdischarge()
          Return the current being drawn from the battery in milliamps.
 int getIMax()
          Return the maximum current (in milliamps) that has been drawn from the battery since the last time this was called.
 int getPowerStatus()
          Return a bit mask of possible power faults.
 String getRevision()
          Get the power control PowerController firmware revision string.
 int getStartupTime()
          Return the time it took (in microseconds) for the power to stabilize from startup.
 int getStatus()
          Get the reason for the last power control PowerController interrupt.
 double getTemperature()
          Retrieve the temperature measured from the main board temperature sensor. returned in degrees centigrade.
 long getTime()
          Get the power control PowerController's time.
 int getVbatt()
          Return the battery supply voltage in millivolts (nominally 2700mv - 4700mv).
 int getVcc()
          Return the main board IO voltage in millivolts (nominally 3000mv).
 int getVcore()
          Return the ARM CPU core voltage in millivolts (nominally 1800mv).
 int getVext()
          Return the voltage supplied by an external power source (if any) in millivolts (nominally 0mv - 5500mv).
 int getVusb()
          Return the externally supplied USB voltage (if any) in millivolts (nominally 5000mv).
 void setControl(byte mask)
          Set a bit mask to control whether the power controller accepts interrupts from the sensor board and uses them to wake the SPOT if it is sleeping.
 void setIndicate(byte mask)
          Set a bit mask to control the power controller LED.
 void setTime(long systemTimeMillis)
          Set the power control PowerController's time.
 

Field Detail

GET_STATUS_CMD

static final byte GET_STATUS_CMD
See Also:
Constant Field Values

QUERY_V_CORE

static final byte QUERY_V_CORE
See Also:
Constant Field Values

QUERY_V_CC

static final byte QUERY_V_CC
See Also:
Constant Field Values

QUERY_V_BATT

static final byte QUERY_V_BATT
See Also:
Constant Field Values

QUERY_TEMPERATURE

static final byte QUERY_TEMPERATURE
See Also:
Constant Field Values

QUERY_V_EXT

static final byte QUERY_V_EXT
See Also:
Constant Field Values

QUERY_V_USB

static final byte QUERY_V_USB
See Also:
Constant Field Values

QUERY_I_CHARGE

static final byte QUERY_I_CHARGE
See Also:
Constant Field Values

QUERY_I_DISCHARGE

static final byte QUERY_I_DISCHARGE
See Also:
Constant Field Values

GET_ALARM_CMD

static final byte GET_ALARM_CMD
See Also:
Constant Field Values

GET_STRING_LEN_CMD

static final byte GET_STRING_LEN_CMD
See Also:
Constant Field Values

GET_STRING_CMD

static final byte GET_STRING_CMD
See Also:
Constant Field Values

SET_TIME_CMD

static final byte SET_TIME_CMD
See Also:
Constant Field Values

SET_ALARM_CMD

static final byte SET_ALARM_CMD
See Also:
Constant Field Values

QUERY_I_MAX

static final byte QUERY_I_MAX
See Also:
Constant Field Values

SET_INDICATE_CMD

static final byte SET_INDICATE_CMD
See Also:
Constant Field Values

QUERY_STARTUP

static final byte QUERY_STARTUP
See Also:
Constant Field Values

GET_POWER_STATUS_CMD

static final byte GET_POWER_STATUS_CMD
See Also:
Constant Field Values

SET_CONTROL_CMD

static final byte SET_CONTROL_CMD
See Also:
Constant Field Values

COLD_BOOT_EVENT

static final byte COLD_BOOT_EVENT
See Also:
Constant Field Values

BUTTON_EVENT

static final byte BUTTON_EVENT
See Also:
Constant Field Values

ALARM_EVENT

static final byte ALARM_EVENT
See Also:
Constant Field Values

SENSOR_EVENT

static final byte SENSOR_EVENT
See Also:
Constant Field Values

BATTERY_EVENT

static final byte BATTERY_EVENT
See Also:
Constant Field Values

SLEEP_EVENT

static final byte SLEEP_EVENT
See Also:
Constant Field Values

LOW_BATTERY_EVENT

static final byte LOW_BATTERY_EVENT
See Also:
Constant Field Values

EXTERNAL_POWER_EVENT

static final byte EXTERNAL_POWER_EVENT
See Also:
Constant Field Values

VBATT_FAULT

static final byte VBATT_FAULT
See Also:
Constant Field Values

VUSB_FAULT

static final byte VUSB_FAULT
See Also:
Constant Field Values

VEXT_FAULT

static final byte VEXT_FAULT
See Also:
Constant Field Values

VCC_FAULT

static final byte VCC_FAULT
See Also:
Constant Field Values

VCORE_FAULT

static final byte VCORE_FAULT
See Also:
Constant Field Values

POWERUP_FAULT

static final byte POWERUP_FAULT
See Also:
Constant Field Values

OVERLOAD_FAULT

static final byte OVERLOAD_FAULT
See Also:
Constant Field Values

SHOW_BUTTON

static final byte SHOW_BUTTON
See Also:
Constant Field Values

SHOW_ALARM

static final byte SHOW_ALARM
See Also:
Constant Field Values

SHOW_SLEEP

static final byte SHOW_SLEEP
See Also:
Constant Field Values

SHOW_PFAULT

static final byte SHOW_PFAULT
See Also:
Constant Field Values

SHOW_EXTERNAL

static final byte SHOW_EXTERNAL
See Also:
Constant Field Values

SHOW_BATTERYON

static final byte SHOW_BATTERYON
See Also:
Constant Field Values

SHOW_EXTERNALON

static final byte SHOW_EXTERNALON
See Also:
Constant Field Values

WAKE_ON_INTERRUPT

static final byte WAKE_ON_INTERRUPT
See Also:
Constant Field Values
Method Detail

getRevision

String getRevision()
Get the power control PowerController firmware revision string.

Returns:
the firmware revision string

getTime

long getTime()
Get the power control PowerController's time.

Returns:
the time in milliseconds since midnight Jan 1, 1970

setTime

void setTime(long systemTimeMillis)
Set the power control PowerController's time.

Parameters:
systemTimeMillis - the time in milliseconds since midnight Jan 1, 1970

getStatus

int getStatus()
Get the reason for the last power control PowerController interrupt. This is a bitmask with the following bits ORed together:

Returns:
the PowerController status bits

getVcore

int getVcore()
Return the ARM CPU core voltage in millivolts (nominally 1800mv).

Returns:
the ARM CPU core voltage (mv)

getVcc

int getVcc()
Return the main board IO voltage in millivolts (nominally 3000mv).

Returns:
the IO voltage (mv)

getVbatt

int getVbatt()
Return the battery supply voltage in millivolts (nominally 2700mv - 4700mv). This is a rough indicator of remaining battery life.

Returns:
the battery voltage (mv)

getVext

int getVext()
Return the voltage supplied by an external power source (if any) in millivolts (nominally 0mv - 5500mv).

Returns:
the external voltage (mv)

getVusb

int getVusb()
Return the externally supplied USB voltage (if any) in millivolts (nominally 5000mv).

Returns:
the USB voltage (mv)

getIcharge

int getIcharge()
Return the current charging the battery in milliamps. Only one of Icharge or Idischarge will be be positive at any time. The other will be zero.

Returns:
the discharge current (mA)

getIdischarge

int getIdischarge()
Return the current being drawn from the battery in milliamps. Only one of Icharge or Idischarge will be be positive at any time. The other will be zero.

Returns:
the discharge current (mA)

disableSynchronisation

void disableSynchronisation()
Disable automatic synchronisation between PowerController time and System time. This will cause the two to gradually drift apart and is not recommended for general use. The main legitimate use of this function is to stop SPI activity when an app needs exclusive use of the SPI pins.


enableSynchronisation

void enableSynchronisation()
Re-enable automatic synchronisation after a previous call to disableSynchronisation.


getIMax

int getIMax()
Return the maximum current (in milliamps) that has been drawn from the battery since the last time this was called.

Returns:
the maximum discharge current (mA) since the last call

getStartupTime

int getStartupTime()
Return the time it took (in microseconds) for the power to stabilize from startup.

Returns:
the time it took (in microseconds) for the power to stabilize from startup.

getPowerStatus

int getPowerStatus()
Return a bit mask of possible power faults.

Returns:
a bit mask of possible power faults.

setIndicate

void setIndicate(byte mask)
Set a bit mask to control the power controller LED. See constants in IPowerController


setControl

void setControl(byte mask)
Set a bit mask to control whether the power controller accepts interrupts from the sensor board and uses them to wake the SPOT if it is sleeping. See constants in IPowerController


getTemperature

double getTemperature()
Retrieve the temperature measured from the main board temperature sensor. returned in degrees centigrade.


SunSPOT API V3.0


Copyright © 2006, 2007 Sun Microsystems, Inc. All Rights Reserved.