jcontrol.system
Class Management

java.lang.Object
  extended by jcontrol.system.Management

public class Management
extends Object

Controls JControls system management functions.


Constructor Summary
Management()
           
 
Method Summary
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
          Copies an array from the specified source array, beginning at the specified position, to the specified position of the destination array.
static short currentTimeMillis()
          Returns the current value of the virtual machines millisecond counter.
static void gc()
          Waits for completion of garbage collecton.
static String getProperty(String key)
          Returns the value of a JControl system property.
static void halt()
          Just stops the processor.
static void powerOff()
          Turn RTC equipped JControl modules off.
static void powerOff(int time)
          Turn RTC equipped JControl modules off.
static void reboot(boolean reset)
          Reboots the virtual machine.
static void saveProperties()
          Saves some properties to the persistent storage.
static void setClassPersistence(boolean keep)
          Marks the calling class not to be removed from the garbage collector.
static boolean setProperty(String key, String value)
          Sets the JControl system Property to the specified value.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, notifyAll, toString, wait
 

Constructor Detail

Management

public Management()
Method Detail

powerOff

public static void powerOff(int time)
Turn RTC equipped JControl modules off. If time is set to a positive value, the module is shut down after the specified time in seconds (use this method or any keypress on the JControl module to reset this counter). Use time=0 to disable auto powering off.

Parameters:
time - to delay powering off

powerOff

public static void powerOff()
Turn RTC equipped JControl modules off. The module is shut down immediately.


setClassPersistence

public static void setClassPersistence(boolean keep)
Marks the calling class not to be removed from the garbage collector. This is reasonable for classes that keep runtime data in static variables and do not have any instances.

Parameters:
keep - true sets the flag, false removes it

gc

public static void gc()
Waits for completion of garbage collecton. This method blocks until the GC passed its loop twice, since classes are unloaded with a delay the heap still don't need to be in its optimal free to used ratio. During gc() other threads may continue unaffected.


halt

public static void halt()
Just stops the processor. All threads are haltet, the virtual machine is halted and even most of the peripheral components of the processor are halted. Only a reset is able to get JControl back to work. Use this only for debugging.


reboot

public static void reboot(boolean reset)
Reboots the virtual machine. The virtual Machine is terminated and re-initialized from scratch.

Parameters:
reset - set to true if a full reset has to be done, otherwise the VM is only restarted in the previously selected bank

currentTimeMillis

public static short currentTimeMillis()
Returns the current value of the virtual machines millisecond counter. You can use this for measuring periods.

Returns:
the difference between system startup and now (measured in milliseconds, modulo 65536)

getProperty

public static String getProperty(String key)
Returns the value of a JControl system property. Refer to the properties list at this class desciption above.

Parameters:
key - speciefies the property to get
Returns:
the value of the Property or null if this property doesn't exist

setProperty

public static boolean setProperty(String key,
                                  String value)
Sets the JControl system Property to the specified value. Note that some properties are read-only, changing properties could affect JControl hardware immediately. Refer to the properties list at this class desciption above.

Parameters:
key - specifies the property to change
value - for the property to change to
Returns:
true if the property changed successfully, false if the property is read-only or the value is not valid

saveProperties

public static void saveProperties()
Saves some properties to the persistent storage. Refer to the properties list at this class desciption above.

See Also:
setProperty(String, String)

arraycopy

public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
Copies an array from the specified source array, beginning at the specified position, to the specified position of the destination array. A subsequence of array components are copied from the source array referenced by src to the destination array referenced by dest. The number of components copied is equal to the length argument. The components at positions srcPos through srcPos+length-1 in the source array are copied into positions destPos through destPos+length-1, respectively, of the destination array.

If the src and dest arguments refer to the same array object, then the copying is performed as if the components at positions srcPos through srcPos+length-1 were first copied to a temporary array with length components and then the contents of the temporary array were copied into positions destPos through destPos+length-1 of the destination array.

If dest is null, then a NullPointerException is thrown.

If src is null, then a NullPointerException is thrown and the destination array is not modified.

Otherwise, if any of the following is true, an ArrayStoreException is thrown and the destination is not modified:

Otherwise, if any of the following is true, an IndexOutOfBoundsException is thrown and the destination is not modified:

Otherwise, if any actual component of the source array from position srcPos through srcPos+length-1 cannot be converted to the component type of the destination array by assignment conversion, an ArrayStoreException is thrown. In this case, let k be the smallest nonnegative integer less than length such that src[srcPos+k] cannot be converted to the component type of the destination array; when the exception is thrown, source array components from positions srcPos through srcPos+k-1 will already have been copied to destination array positions destPos through destPos+k-1 and no other positions of the destination array will have been modified. (Because of the restrictions already itemized, this paragraph effectively applies only to the situation where both arrays have component types that are reference types.)

Arrays of type boolean[] not supported.

Parameters:
src - the source array.
srcPos - starting position in the source array.
dest - the destination array.
destPos - starting position in the destination data.
length - the number of array elements to be copied.
Throws:
IndexOutOfBoundsException - if copying would cause access of data outside array bounds.
UnsupportedArrayTypeException - if an element in the src array could not be stored into the dest array because of a type mismatch.
NullPointerException - if either src or dest is null.