de.adwin.driver
Class ADwinDevice

java.lang.Object
  extended byde.adwin.driver.ADwinDevice

public class ADwinDevice
extends java.lang.Object

Provides access to ADwin Devices, and a simple device table. The device table in this class is not related to the ADconfig device table.
Each device that is to be used must be added to the device table with the Add_Entry method. The only Exception thrown by methods of this class is ADwinCommunicationError. Its getCode () method returns an error code that provides additional info about the error occurred. Before any of the methods that provide access for the ADwin system is called, Set_DeviceNo must have been called first.

See Also:
Add_Entry(int, java.net.InetAddress, java.lang.String, int, int), ADwinCommunicationError.getCode()

Field Summary
static int LANGID_ENGLISH
           
static int LANGID_GERMAN
           
static int LANGID_SYSDEFAULT
           
 
Constructor Summary
ADwinDevice()
          Construct a new ADwinDevice object, the language for Exceptions etc. is set to English, except when Locale.getDefault ().getISO3Language ().compareTo ("deu") !
 
Method Summary
 void Add_Entry(int deviceNo, java.net.InetAddress ipAddressADwinSystem, java.lang.String password, int tcpipServerDeviceNo, int port)
          Appends a new entry to the device table.
 void Add_Entry(int deviceNo, java.net.InetAddress ipAddressADwinSystem, java.lang.String password, int tcpipServerDeviceNo, int port, int networkTimeout)
          Appends a new entry to the device table.
 void Boot(java.lang.String Filename)
          Boots an ADwin system and loads an operating system.
 void Clear_Process(int ProcessNo)
          Deletes a process and frees all resources that were allocated by it.
 int Data_Length(int DataNo)
          Reads the length of a data field.
 void Data2File(java.lang.String Filename, int DataNo, int Startindex, int Count, int Mode)
          Reads a data field and stores or appends it to a file.
 void Fifo_Clear(int FifoNo)
          Removes all values from a fifo that have been written to it.
 int Fifo_Empty(int FifoNo)
          Reads the number of free elements in a fifo.
 int Fifo_Full(int FifoNo)
          Reads the number of elements that have been written to a fifo, and have not been read yet.
 int Free_Mem(int Mem_Spec)
           Returns the amount of free RAM of an ADwin system in bytes.
 ADwinDevice Get_Copy()
          Creates an independent copy of this object.
 int Get_DeviceNo()
          Reads the currently active device number.
 void Get_FPar_All(float[] Array)
          Reads all float parameters into an array.
 void Get_FPar_Block(float[] Array, int FirstIndex, int Count)
          Reads a block of float parameters.
 float Get_FPar(int Index)
          Reads a float parameter from the ADwin system.
 int Get_Globaldelay(int ProcessNo)
          Deprecated. As of 1.2, replaced by Get_Processdelay(int)
 int[] Get_Known_DeviceNo()
          Returns an array that contains all device numbers that have been added (with Add_Entry) to this class.
 void Get_Par_All(int[] Array)
          Reads all integer parameters into an array.
 void Get_Par_Block(int[] Array, int FirstIndex, int Count)
          Reads a block of integer parameters.
 int Get_Par(int Index)
          Reads an integer parameter from the ADwin system.
 int Get_Processdelay(int ProcessNo)
          Gets the process delay of a process.
 void GetData_Float(int DataNo, float[] Data, int FirstIndex, int Count)
          Reads a part of a float data field.
 void GetData_Long(int DataNo, int[] Data, int FirstIndex, int Count)
          Reads a part of an integer data field.
 java.lang.String GetData_String(int DataNo)
          Reads a string data field.
 int GetData_String(int DataNo, char[] Data, int MaxCount)
          reads a string data field in a char Array.
 void GetFifo_Float(int FifoNo, float[] Data, int Count)
          Reads some floats from a fifo.
 void GetFifo_Long(int FifoNo, int[] Data, int Count)
          Reads some integers from a fifo.
 void Load_Process(java.lang.String Filename)
          Loads a process (a file of the form <ffff>.T<p><n>, with ffff = some file name, p = Processor, n = process number) onto an ADwin system.
 int Process_Status(int ProcessNo)
          Gets the information if a process is running.
 int Processor_Type()
          Returns the processor that is installed on the current ADwin system.
 boolean Remove_Entry(int DevNo)
          Deletes an entry that has been added with Add_Entry from the device table.
 void Set_DeviceNo(int DevNo)
          Chooses a device from the device table to work with.
 void Set_FPar(int Index, float Value)
          Sets a float parameter.
 void Set_Globaldelay(int ProcessNo, int Globaldelay)
          Deprecated. As of 1.2, replaced by Set_Processdelay(int, int)
 void Set_Language(int LanguageID)
          Sets the language for messages of exceptions.
 void Set_Par(int Index, int Value)
          Sets one of the integer parameters.
 void Set_Processdelay(int ProcessNo, int Processdelay)
          Sets the process delay of a process.
 void SetData_Float(int DataNo, float[] Data, int FirstIndex, int Count)
          Sets a part of a float data field.
 void SetData_Long(int DataNo, int[] Data, int FirstIndex, int Count)
          Sets a part of an integer data field.
 void SetData_String(int DataNo, java.lang.String Data)
          Writes a string into a string data field.
 void SetFifo_Float(int FifoNo, float[] Data, int Count)
          Writes some floats into a fifo.
 void SetFifo_Long(int FifoNo, int[] Data, int Count)
          Writes some integers into a fifo.
 void Start_Process(int ProcessNo)
          Starts a process that has been loaded previously with Load_Process.
 void Stop_Process(int ProcessNo)
          Stops a process.
 int String_Length(int DataNo)
          Determines the length of a string.
 int Test_Version()
          Tests if an ADwin system is accessible.
 void Use_FileLocks(boolean Usage)
          Controls if files are created on the hard disk (in the temporary directory) to synchronize the access on an ADwin-System (With AEI Versions < 2.52 and AEI Versions between 2.6 and 2.64, this is necessary).
 int Workload()
          Returns the CPU load of an ADwin system.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LANGID_ENGLISH

public static final int LANGID_ENGLISH
See Also:
Constant Field Values

LANGID_GERMAN

public static final int LANGID_GERMAN
See Also:
Constant Field Values

LANGID_SYSDEFAULT

public static final int LANGID_SYSDEFAULT
See Also:
Constant Field Values
Constructor Detail

ADwinDevice

public ADwinDevice()
Construct a new ADwinDevice object, the language for Exceptions etc. is set to English, except when Locale.getDefault ().getISO3Language ().compareTo ("deu") != 0 is true.

Method Detail

Add_Entry

public void Add_Entry(int deviceNo,
                      java.net.InetAddress ipAddressADwinSystem,
                      java.lang.String password,
                      int tcpipServerDeviceNo,
                      int port)
Appends a new entry to the device table. When a device number has been stored in the device table, it can be used with Set_DeviceNo.
You can use the ADwin TCP/IP-Server under Windows to access USB and Link devices. In this case, ipAddressADwinSystem should be the IP address of the computer the TCP/IP-Server runs on, e.g. "127.0.0.1" if the server runs on the same computer as the Java program.
When using the ADwin TCP/IP-Server, the parameter tcpipServerDeviceNo identifies a Device Number that has been configured with ADconfig on the computer the TCP/IP-Sever runs on.

Parameters:
deviceNo - New device number to store
ipAddressADwinSystem - IP address of the device
password - Password (that has been set with ADConfig)
tcpipServerDeviceNo - This value is used by the program ADwin TCP/IP-Server. If the device that is added to the device table is not connected via the ADwin TCP/IP-Server, the parameter is ignored.
port - Port that the ADwin System has been configured (with ADconfig) to use (default: 6543)
Throws:
java.lang.IllegalArgumentException - If the device number already exists
See Also:
Set_DeviceNo(int)

Add_Entry

public void Add_Entry(int deviceNo,
                      java.net.InetAddress ipAddressADwinSystem,
                      java.lang.String password,
                      int tcpipServerDeviceNo,
                      int port,
                      int networkTimeout)
Appends a new entry to the device table. When a device number has been stored in the device table, it can be used with Set_DeviceNo.
You can use the ADwin TCP/IP-Server under Windows to access USB and Link devices. In this case, ipAddressADwinSystem should be the IP address of the computer the TCP/IP-Server runs on, e.g. "127.0.0.1" if the server runs on the same computer as the Java program.
When using the ADwin TCP/IP-Server, the parameter tcpipServerDeviceNo identifies a Device Number that has been configured with ADconfig on the computer the TCP/IP-Sever runs on.

Parameters:
deviceNo - New device number to store
ipAddressADwinSystem - IP address of the device
password - Password (that has been set with ADConfig)
tcpipServerDeviceNo - This value is used by the program ADwin TCP/IP-Server. If the device that is added to the device table is not connected via by the ADwin TCP/IP-Server, the parameter is ignored.
port - Port that the ADwin System has been configured (with ADconfig) to use (default: 6543)
networkTimeout - Maximum time to wait for a response of the ADwin System, in milliseconds.
Throws:
java.lang.IllegalArgumentException - If the device number already exists
See Also:
Set_DeviceNo(int)

Remove_Entry

public boolean Remove_Entry(int DevNo)
Deletes an entry that has been added with Add_Entry from the device table.

Parameters:
DevNo - Device number that is to be deleted
Returns:
true, if the device number has been found and something was done.
See Also:
Add_Entry(int, java.net.InetAddress, java.lang.String, int, int)

Use_FileLocks

public void Use_FileLocks(boolean Usage)
                   throws ADwinCommunicationError
Controls if files are created on the hard disk (in the temporary directory) to synchronize the access on an ADwin-System (With AEI Versions < 2.52 and AEI Versions between 2.6 and 2.64, this is necessary).
If true is passed for Usage, multiple Java processes running on the same machine can acces the same ADwin-System at the same time, even if an older version is used. However, the synchronization takes about a tenth of a millisecond per call of a method.
If a newer than the above version is used, multiple Java processes can always access an ADwin-System concurrently, it does not matter wether this flag is set or not, but the time consumption is still there.
Synchronization with lock files is turned off by default.

Parameters:
Usage - pass true to enable synchronization with disk files, or false to disable it.
Throws:
ADwinCommunicationError - If the lock file could not be created

Set_Language

public void Set_Language(int LanguageID)
Sets the language for messages of exceptions.

Parameters:
LanguageID - LANGID_SYSDEFAULT (0), LANGID_ENGLISH (1) or LANGID_GERMAN (2)

Get_Known_DeviceNo

public int[] Get_Known_DeviceNo()
Returns an array that contains all device numbers that have been added (with Add_Entry) to this class.

Returns:
the array

Set_DeviceNo

public void Set_DeviceNo(int DevNo)
                  throws ADwinCommunicationError
Chooses a device from the device table to work with.
Code that an ADwinCommunicationError possibly will contain: 4000, 2000

Parameters:
DevNo - Device number that is made the current device.
Throws:
java.lang.IllegalArgumentException - if the device number is not in the device table.
ADwinCommunicationError
See Also:
Add_Entry(int, java.net.InetAddress, java.lang.String, int, int), Table of error codes

Get_DeviceNo

public int Get_DeviceNo()
Reads the currently active device number.

Returns:
currently active device number. 0 if there has not been set one yet.

Get_Par

public int Get_Par(int Index)
            throws ADwinCommunicationError
Reads an integer parameter from the ADwin system.
Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 1, 2

Parameters:
Index - Index of the integer parameter to read.
Throws:
java.lang.IllegalArgumentException - if Index is too high.
ADwinCommunicationError
See Also:
Get_FPar(int), Set_Par(int, int), Table of error codes

Processor_Type

public int Processor_Type()
                   throws ADwinCommunicationError
Returns the processor that is installed on the current ADwin system. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 1, 2

Returns:
The number of the installed processor. T + the returned number gives the processor type.
Throws:
ADwinCommunicationError
See Also:
Table of error codes

GetData_Long

public void GetData_Long(int DataNo,
                         int[] Data,
                         int FirstIndex,
                         int Count)
                  throws ADwinCommunicationError
Reads a part of an integer data field. Note that the first index in ADbasic arrays is 1. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Number of the data field to read.
Data - Array where the data read is stored.
FirstIndex - first index to read from the data field on the ADwin system.
Count - Number of integers to read.
Throws:
java.lang.IllegalArgumentException - If DataNo is out of range (1 <= DataNo <= 200)
ADwinCommunicationError
See Also:
SetData_Long(int, int[], int, int), Table of error codes

GetData_Float

public void GetData_Float(int DataNo,
                          float[] Data,
                          int FirstIndex,
                          int Count)
                   throws ADwinCommunicationError
Reads a part of a float data field. Note that the first index in ADbasic arrays is 1. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Number of the data field to read.
Data - Array where the data read is stored.
FirstIndex - first index to read from the data field on the ADwin system.
Count - Number of floats to read.
Throws:
java.lang.IllegalArgumentException - If DataNo is out of range (1 <= DataNo <= 200)
ADwinCommunicationError
See Also:
SetData_Float(int, float[], int, int), Table of error codes

SetData_Long

public void SetData_Long(int DataNo,
                         int[] Data,
                         int FirstIndex,
                         int Count)
                  throws ADwinCommunicationError
Sets a part of an integer data field. Note that the first index in ADbasic arrays is 1. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Number of the data to set
Data - Array that contains the new values for the data field.
FirstIndex - First index of the data field to set
Count - Number of elements to set
Throws:
java.lang.IllegalArgumentException - If the data field is not of type int, or if FirstIndex and Count do not match the size of the field.
ADwinCommunicationError
See Also:
GetData_Long(int, int[], int, int), Table of error codes

SetData_Float

public void SetData_Float(int DataNo,
                          float[] Data,
                          int FirstIndex,
                          int Count)
                   throws ADwinCommunicationError
Sets a part of a float data field. Note that the first index in ADbasic arrays is 1. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Number of the data to set
Data - Array that contains the new values for the data field.
FirstIndex - First index of the data field to set
Count - Number of elements to set
Throws:
java.lang.IllegalArgumentException - If the data field is not of type int, or if FirstIndex and Count do not match the size of the field.
ADwinCommunicationError
See Also:
GetData_Float(int, float[], int, int), Table of error codes

Set_Par

public void Set_Par(int Index,
                    int Value)
             throws ADwinCommunicationError
Sets one of the integer parameters. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Index - Number of the parameter to set
Value - new value for the parameter
Throws:
java.lang.IllegalArgumentException - If Index is too high
ADwinCommunicationError
See Also:
Table of error codes, Table of error codes

Get_Par_Block

public void Get_Par_Block(int[] Array,
                          int FirstIndex,
                          int Count)
                   throws ADwinCommunicationError
Reads a block of integer parameters. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, where the parameters are stored
FirstIndex - Index of the first parameter to read
Count - number of parameters to read.
Throws:
java.lang.IllegalArgumentException - If FirstIndex or Count are negative, or are too big
ADwinCommunicationError
See Also:
Table of error codes

Get_FPar_Block

public void Get_FPar_Block(float[] Array,
                           int FirstIndex,
                           int Count)
                    throws ADwinCommunicationError
Reads a block of float parameters. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, where the parameters are stored
FirstIndex - Index of the first parameter to read
Count - number of parameters to read.
Throws:
java.lang.IllegalArgumentException - If FirstIndex or Count are negative, or are too big
ADwinCommunicationError
See Also:
Table of error codes

Data_Length

public int Data_Length(int DataNo)
                throws ADwinCommunicationError
Reads the length of a data field. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 100, 2000, 2, 1.

Parameters:
DataNo - Number of the data from which the length should be read.
Returns:
length of the data field.
Throws:
ADwinCommunicationError
See Also:
Table of error codes

Fifo_Empty

public int Fifo_Empty(int FifoNo)
               throws ADwinCommunicationError
Reads the number of free elements in a fifo. If the fifo does not exist, 0 will be returned. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
FifoNo - Number of the fifo whose number of free elements is to be determined.
Returns:
Number of free elements in the fifo
Throws:
java.lang.IllegalArgumentException - If FifoNo is not in the range [1, 200]
ADwinCommunicationError
See Also:
Table of error codes

Fifo_Full

public int Fifo_Full(int FifoNo)
              throws ADwinCommunicationError
Reads the number of elements that have been written to a fifo, and have not been read yet. If the fifo does not exist, 0 will be returned. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
FifoNo - Number of the fifo whose number of used elements is to be determined.
Returns:
Number of used elements in the fifo
Throws:
java.lang.IllegalArgumentException - If FifoNo is not in the range [1, 200]
ADwinCommunicationError
See Also:
Table of error codes

Fifo_Clear

public void Fifo_Clear(int FifoNo)
                throws ADwinCommunicationError
Removes all values from a fifo that have been written to it. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
FifoNo - Fifo that will be cleared
Throws:
java.lang.IllegalArgumentException - If FifoNo is not in the range [1, 200].
ADwinCommunicationError
See Also:
Table of error codes

SetFifo_Long

public void SetFifo_Long(int FifoNo,
                         int[] Data,
                         int Count)
                  throws ADwinCommunicationError
Writes some integers into a fifo. One can use Fifo_Empty to check if there is enough space left in it. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 101, 2000, 2, 1.

Parameters:
FifoNo - Number of the fifo to write to.
Data - Array that contains the data to write
Count - Number of elements to write.
Throws:
java.lang.IllegalArgumentException - If FifoNo is not the number of an integer fifo
ADwinCommunicationError
See Also:
Table of error codes, Fifo_Empty(int)

SetFifo_Float

public void SetFifo_Float(int FifoNo,
                          float[] Data,
                          int Count)
                   throws ADwinCommunicationError
Writes some floats into a fifo. One can use Fifo_Empty to check if there is enough space left in it. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 101, 2000, 2, 1.

Parameters:
FifoNo - Number of the fifo to write to.
Data - Array that contains the data to write
Count - Number of elements to write.
Throws:
java.lang.IllegalArgumentException - If FifoNo is not the number of a float fifo
ADwinCommunicationError
See Also:
Table of error codes, Fifo_Empty(int)

Get_Par_All

public void Get_Par_All(int[] Array)
                 throws ADwinCommunicationError
Reads all integer parameters into an array. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, where the parameters are stored. Its size must be >= 80.
Throws:
ADwinCommunicationError
See Also:
Table of error codes

Get_FPar_All

public void Get_FPar_All(float[] Array)
                  throws ADwinCommunicationError
Reads all float parameters into an array. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, where the parameters are stored. Its size must be >= 80.
Throws:
ADwinCommunicationError
See Also:
Table of error codes

GetFifo_Long

public void GetFifo_Long(int FifoNo,
                         int[] Data,
                         int Count)
                  throws ADwinCommunicationError
Reads some integers from a fifo. One can use Fifo_Full to check if there have enough elements been written to it. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 102, 2, 1.

Parameters:
FifoNo - Number of the fifo to read out.
Data - Array where the data from the fifo is stored
Count - Number of elements to read
Throws:
ADwinCommunicationError
See Also:
Table of error codes, Fifo_Full(int)

GetFifo_Float

public void GetFifo_Float(int FifoNo,
                          float[] Data,
                          int Count)
                   throws ADwinCommunicationError
Reads some floats from a fifo. One can use Fifo_Full to check if there have enough elements been written to it. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 102, 2, 1.

Parameters:
FifoNo - Number of the fifo to read out.
Data - Array where the data from the fifo is stored
Count - Number of elements to read
Throws:
ADwinCommunicationError
See Also:
Table of error codes, Fifo_Full(int)

Get_FPar

public float Get_FPar(int Index)
               throws ADwinCommunicationError
Reads a float parameter from the ADwin system. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Index - Number of the float parameter to read
Returns:
Value of the float parameter
Throws:
java.lang.IllegalArgumentException - if Index is not in the range [1, 80]
ADwinCommunicationError
See Also:
Table of error codes, Set_FPar(int, float)

Set_FPar

public void Set_FPar(int Index,
                     float Value)
              throws ADwinCommunicationError
Sets a float parameter. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Index - Number of the float parameter to set
Value - New Value for the parameter
Throws:
java.lang.IllegalArgumentException - if Index is not in the range [1, 80]
ADwinCommunicationError
See Also:
Table of error codes, Get_FPar(int)

Workload

public int Workload()
             throws ADwinCommunicationError
Returns the CPU load of an ADwin system. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Returns:
CPU load
Throws:
ADwinCommunicationError
See Also:
Table of error codes

Free_Mem

public int Free_Mem(int Mem_Spec)
             throws ADwinCommunicationError

Returns the amount of free RAM of an ADwin system in bytes. Mem_Spec determines which kind of RAM:

0    All types of memory (only CPUs T2, T4, T5, T8)
1 Local program memory (T9 and up)
2 Local data memory (EM_LOCAL) (T11 and up)
3 Local data memory (T9 and up)
4 external DRAM memory (T9 and up)

Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
Mem_Spec - Kind of memory
Throws:
ADwinCommunicationError
See Also:
Table of error codes

Load_Process

public void Load_Process(java.lang.String Filename)
                  throws ADwinCommunicationError
Loads a process (a file of the form <ffff>.T<p><n>, with ffff = some file name, p = Processor, n = process number) onto an ADwin system. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 205, 202, 200, 2, 1.

Parameters:
Filename - Name of the file to load
Throws:
ADwinCommunicationError
See Also:
Table of error codes

Start_Process

public void Start_Process(int ProcessNo)
                   throws ADwinCommunicationError
Starts a process that has been loaded previously with Load_Process. Process_Status can be used to determine if a process has been started. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Number of the process that will be started.
Throws:
ADwinCommunicationError
See Also:
Table of error codes, Process_Status(int)

Stop_Process

public void Stop_Process(int ProcessNo)
                  throws ADwinCommunicationError
Stops a process. It must have been started with Start_Process, and can be resumed with Start_Process. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Number of the process to stop
Throws:
ADwinCommunicationError
See Also:
Table of error codes

Clear_Process

public void Clear_Process(int ProcessNo)
                   throws ADwinCommunicationError
Deletes a process and frees all resources that were allocated by it. A process must have been stopped with Stop_Process before it can be deleted. Process_Status can be used to determine if the process is still running. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Number of the process that will be deleted
Throws:
java.lang.IllegalArgumentException - If ProcessNo is not in the range [1, 15]
ADwinCommunicationError
See Also:
Table of error codes, Stop_Process(int)

Process_Status

public int Process_Status(int ProcessNo)
                   throws ADwinCommunicationError
Gets the information if a process is running.
Return values:
1    Process is running
0 Process is not running. It is either not loaded, has been stopped or has not been started
-1 Process is about to be stopped, but its last event has not occurred yet.
Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Number of the process that will be checked
Returns:
State of the process according to the table above
Throws:
java.lang.IllegalArgumentException - If ProcessNo is not in the range [1, 15].
ADwinCommunicationError
See Also:
Table of error codes

Boot

public void Boot(java.lang.String Filename)
          throws ADwinCommunicationError
Boots an ADwin system and loads an operating system. An operating systems is a file with the extension .btl. If a wrong OS is loaded (the <x> in the file ADwin<x>.btl does not match the CPU number), any following call will fail with code 1 or 2, until the ADwin system is rebooted with the correct operating system file. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 204, 200, 2, 1.

Parameters:
Filename - Name of the file that contains the operating system that will be loaded.
Throws:
ADwinCommunicationError
See Also:
Table of error codes

GetData_String

public java.lang.String GetData_String(int DataNo)
                                throws ADwinCommunicationError
Reads a string data field. SetData_String can be used to write a string. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 100, 2, 1.

Parameters:
DataNo - Number of the data field to read.
Returns:
The string that was read
Throws:
java.lang.IllegalArgumentException - If DataNo is out of range, or if data DataNo is not of type int.
ADwinCommunicationError
See Also:
Table of error codes, SetData_String(int, java.lang.String)

GetData_String

public int GetData_String(int DataNo,
                          char[] Data,
                          int MaxCount)
                   throws ADwinCommunicationError
reads a string data field in a char Array. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 100, 2, 1.

Parameters:
DataNo - Number of the data field to read.
Data - Is filled in by this method and contains the string read.
MaxCount - Maximum number of characters to read. If the string on the ADwin System is shorter than MaxCount, less characters are read.
Returns:
Number of bytes read.
Throws:
java.lang.IllegalArgumentException - If DataNo is out of range, or if data DataNo is not of type int.
ADwinCommunicationError

SetData_String

public void SetData_String(int DataNo,
                           java.lang.String Data)
                    throws ADwinCommunicationError
Writes a string into a string data field. GetData_String> can be used to read a string. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
DataNo - Number of the data field that will be written to.
Data - String that will be written
Throws:
java.lang.IllegalArgumentException - If DataNo is out of range.
ADwinCommunicationError
See Also:
Table of error codes, GetData_String(int)

String_Length

public int String_Length(int DataNo)
                  throws ADwinCommunicationError
Determines the length of a string. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
DataNo - Number of the string data field.
Returns:
length of the string that is stored in DataNo.
Throws:
java.lang.IllegalArgumentException - If DataNo is out of range.
java.lang.IllegalArgumentException - If DataNo is out of range
ADwinCommunicationError
See Also:
Table of error codes

Set_Globaldelay

public void Set_Globaldelay(int ProcessNo,
                            int Globaldelay)
                     throws ADwinCommunicationError
Deprecated. As of 1.2, replaced by Set_Processdelay(int, int)

Throws:
ADwinCommunicationError

Set_Processdelay

public void Set_Processdelay(int ProcessNo,
                             int Processdelay)
                      throws ADwinCommunicationError
Sets the process delay of a process. It does not matter if the process is running or not. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - number of the process whose process delay is set
Processdelay - new process delay
Throws:
java.lang.IllegalArgumentException - If ProcessNo exceeds the valid range
ADwinCommunicationError
See Also:
Table of error codes, Get_Processdelay(int)

Get_Globaldelay

public int Get_Globaldelay(int ProcessNo)
                    throws ADwinCommunicationError
Deprecated. As of 1.2, replaced by Get_Processdelay(int)

Throws:
ADwinCommunicationError

Get_Processdelay

public int Get_Processdelay(int ProcessNo)
                     throws ADwinCommunicationError
Gets the process delay of a process. It can have been set with Set_Processdelay, or (if Set_Processdelay has not been used yet) the process delay returned is the setting stored in the binary ADbasic file. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 2, 1.

Throws:
java.lang.IllegalArgumentException - If ProcessNo exceeds the valid range
ADwinCommunicationError
See Also:
Table of error codes, Set_Processdelay(int, int)

Test_Version

public int Test_Version()
                 throws ADwinCommunicationError
Tests if an ADwin system is accessible. Can be used with Boot to determine if the correct BTL file was loaded. Code that an ADwinCommunicationError possibly will contain: 4000.

Returns:
0, if the ADwin system responds, 3 if it does not respond or responds with errors
Throws:
ADwinCommunicationError
See Also:
Table of error codes, Boot(java.lang.String)

Data2File

public void Data2File(java.lang.String Filename,
                      int DataNo,
                      int Startindex,
                      int Count,
                      int Mode)
               throws ADwinCommunicationError
Reads a data field and stores or appends it to a file. Code that an ADwinCommunicationError possibly will contain: 4000, 2002, 2000, 205, 100, 2, 1.

Parameters:
Filename - Name of the file to write to
DataNo - Number of the data to read
Startindex - First index in the data field to read
Count - Number of words (floats or integers) to read
Mode - Mode = 0: File is overwritten, Mode = 1: The data is appended to an existing file
Throws:
java.lang.IllegalArgumentException - If Mode is not 0 or 1.
ADwinCommunicationError
See Also:
Table of error codes

Get_Copy

public ADwinDevice Get_Copy()
Creates an independent copy of this object. After creation of the new object, the method Set_DeviceNo must be called, before the copy is used for first time. The language settings and the device table configured in the copy are identical to the original.

Returns:
The copy