ftcomputing.robo
Class JavaFish

java.lang.Object
  extended by ftcomputing.robo.JavaFish
Direct Known Subclasses:
FishFace

public class JavaFish
extends java.lang.Object

Basisklasse mit native Deklarationen für javaFish40.DLL. javaFish40.DLL ist eine Wrapper.DLL, die umFish40.DLL javakonform 1:1 kapselt. Zusätzlich enthalten sind einige Win32-API Funktionen (escape, getTickCount, sleep). Es wird nicht empfoheln diese Klasse in Programme zu verwenden, sondern die FishFace-Klasse.

Author:
Michael Fennel, Ulrich Müller

Field Summary
static int jrError
          allgemeiner Fehlercode,
 
Constructor Summary
JavaFish()
           
 
Method Summary
static int escape()
          Prüfen ob Escape-Taste gedrückt ist
static int getTickCount()
          Systemfunktion Timer-Ticks
 int jrClearCounters(int iHandle)
          Löschen aller Counter
 int jrCloseInterface(int iHandle)
          Beenden der Verbindung zum Interface
 int jrGetActDeviceFirmwareNr(int iHandle)
          Abfrage der Firmwareversion
 int jrGetActDeviceSerialNr(int iHandle)
          Abfrage der Seriennummer
 int jrGetActDeviceType(int iHandle)
          Abfrage des akutellen Device-Typs
 int jrGetAnalog(int iHandle, int AnalogNr)
          Auslesen eines Analogeinganges
 int jrGetCounter(int iHandle, int CounterNr)
          Abfragen des Counter an einem I-Eingang
 int jrGetDistanceValue(int iHandle, int SensorNr)
          Auslesen des aktuellen Werte in cm des angegebenenUltraschallsensors, DistanceMode muss bei jrOpenInterface = UltraSonic sein
 int jrGetInput(int iHandle, int InputNr)
          Auslesen des Zustandes des angegebenen I-Einganges
 int jrGetInputs(int iHandle)
          Auslesen aller I-Eingänge
 int jrGetIRKey(int iHandle, int Code, int KeyNr)
          Auslesen des Zustandes des angegebenen IR-Keys des IR-Senders
 int jrGetModeStatus(int iHandle, int MotNr)
          Abfragen des Mode-Status eines M-Ausganges
 int jrGetMotors(int iHandle)
          Einschaltstatus aller M-Ausgänge (M1 rechts, 2bit) abfragen
 int jrGetVoltage(int iHandle, int VoltNr)
          Auslesen des Volt-Wertes des angegebenen A-Einganges (A1 – A2) Möglich ist auch die Nutzung von D1 und D2 bei Open mit DistanceMode = Voltage Vorsicht : Sicherstellen, dass wirklich der richtige DistanceMode eingestellt wurde, man kann auch vorsichtshalber Vorwiderstände nutzen (220 – 470 Ohm)
 int jrOpenInterfaceCOM(int ifTyp, int ComNr, int AnalogZyklen)
          Verbindung über COM herstellen.
 int jrOpenInterfaceUSB(int ifTyp, int SerialNr)
          Verbindung über USB herstellen ggf. über das RF-Datalink.
 int jrOpenInterfaceUSBdis(int ifTyp, int SerialNr, int DistanceMode)
          Deprecated. Distance-Mode sollte nicht manuell eingestellt werden!
 int jrRobMotor(int iHandle, int MotNr, int Dir, int Speed, int ICount)
          Starten eines M-Ausganges im RobMode (mit angeschlossenem Motor und Impulsrädchen an den zugehörenden I-Eingängen.
 int jrRobMotors(int iHandle, int MotorStatus, int SpeedStatus, int SpeedStatus16, int ModeStatus)
          Starten aller M-Ausgänge im RobMode (mit angeschlossenem Motor und Impulsrädchen an den zugehörenden I-Eingängen.
 int jrSetCounter(int iHandle, int CounterNr, int ICount)
          Setzen eines Counters auf 0
 int jrSetLamp(int iHandle, int LampNr, int OnOff)
          Schalten eines O-Ausgangs
 int jrSetLampEx(int iHandle, int LampNr, int OnOff, int Power)
          Schalten eines O-Ausgangs mit Angabe der Helligkeit
 int jrSetModeStatus(int iHandle, int MotNr, int Mode)
          Setzen des Mode-Status eines M-Ausganges
 int jrSetMotor(int iHandle, int MotNr, int Dir)
          Setzen eines Motors mit voller Geschwindigkeit
 int jrSetMotorEx(int iHandle, int MotNr, int Dir, int Speed)
          Setzen eines Motors mit einer bestimmten Geschwindigkeit
 int jrSetMotors(int iHandle, int MotorStatus)
          Alle Motoren setzen
 int jrSetMotorsEx(int iHandle, int MotorStatus, int SpeedStatus, int SpeedStatus16)
          Alle Motoren setzen mit Angabe der Geschwindigkeit
static void sleep(int MilliSec)
          Anhalten des aktuellen Threads für eine bestimmte Zeitspanne
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

jrError

public static final int jrError
allgemeiner Fehlercode,

See Also:
Constant Field Values
Constructor Detail

JavaFish

public JavaFish()
Method Detail

jrOpenInterfaceUSB

public int jrOpenInterfaceUSB(int ifTyp,
                              int SerialNr)
Verbindung über USB herstellen ggf. über das RF-Datalink. In diesem Fall wird das erste passende Interface mit gleicher RF-Kanalnummer und beliebiger Unterkanalnummer genutzt. Distance-Mode steht auf Ultra-Sonic.

Parameters:
ifTyp - Interface-Typ
SerialNr - Seriennummer
Returns:
iHandle

jrOpenInterfaceUSBdis

public int jrOpenInterfaceUSBdis(int ifTyp,
                                 int SerialNr,
                                 int DistanceMode)
Deprecated. Distance-Mode sollte nicht manuell eingestellt werden!

Verbindung über USB herstellen ggf. über das RF-Datalink. In diesem Fall wird das erste passende Interface mit gleicher RF-Kanalnummer und beliebiger Unterkanalnummer genutzt. Distance-Mode einstellbar.
Verwendung von Distance-Mode Voltage wird nicht empfohlen!

Parameters:
ifTyp - Interface-Typ
SerialNr - Seriennummer
DistanceMode -
Returns:
iHandle

jrOpenInterfaceCOM

public int jrOpenInterfaceCOM(int ifTyp,
                              int ComNr,
                              int AnalogZyklen)
Verbindung über COM herstellen. Distance-Mode Ultra-Sonic.

Parameters:
ifTyp - Interface-Typ
ComNr - COM-Port
Returns:
iHandle

jrCloseInterface

public int jrCloseInterface(int iHandle)
Beenden der Verbindung zum Interface

Parameters:
iHandle - iHandle
Returns:
Fehldercode

jrGetInput

public int jrGetInput(int iHandle,
                      int InputNr)
Auslesen des Zustandes des angegebenen I-Einganges

Parameters:
iHandle - iHandle
InputNr - I-Eingang
Returns:
Wert am I-Eingang

jrGetInputs

public int jrGetInputs(int iHandle)
Auslesen aller I-Eingänge

Parameters:
iHandle - iHandle
Returns:
Wert aller I-Eingänge

jrGetAnalog

public int jrGetAnalog(int iHandle,
                       int AnalogNr)
Auslesen eines Analogeinganges

Parameters:
iHandle - iHandle
AnalogNr - Analogeingang
Returns:
Wert des Analogeingangs

jrGetIRKey

public int jrGetIRKey(int iHandle,
                      int Code,
                      int KeyNr)
Auslesen des Zustandes des angegebenen IR-Keys des IR-Senders

Parameters:
iHandle - iHandle
Code - Code des Senders
KeyNr - Nummer der Taste
Returns:
Taste gedrückt oder nicht

jrGetVoltage

public int jrGetVoltage(int iHandle,
                        int VoltNr)
Auslesen des Volt-Wertes des angegebenen A-Einganges (A1 – A2) Möglich ist auch die Nutzung von D1 und D2 bei Open mit DistanceMode = Voltage Vorsicht : Sicherstellen, dass wirklich der richtige DistanceMode eingestellt wurde, man kann auch vorsichtshalber Vorwiderstände nutzen (220 – 470 Ohm)

Parameters:
iHandle - iHandle
VoltNr - Nummer des Eingangs
Returns:
Volt-Wert

jrSetMotor

public int jrSetMotor(int iHandle,
                      int MotNr,
                      int Dir)
Setzen eines Motors mit voller Geschwindigkeit

Parameters:
iHandle - iHandle
MotNr - Nummer des Motors
Dir - Drehrichtung
Returns:
Fehlercode

jrSetMotorEx

public int jrSetMotorEx(int iHandle,
                        int MotNr,
                        int Dir,
                        int Speed)
Setzen eines Motors mit einer bestimmten Geschwindigkeit

Parameters:
iHandle - iHandle
MotNr - Nummder des Motors
Dir - Drehrichtung
Speed - Geschwindigkeit
Returns:
Fehlercode

jrGetMotors

public int jrGetMotors(int iHandle)
Einschaltstatus aller M-Ausgänge (M1 rechts, 2bit) abfragen

Parameters:
iHandle - iHandle
Returns:
Einschaltstatus aller M-Ausgänge

jrSetMotors

public int jrSetMotors(int iHandle,
                       int MotorStatus)
Alle Motoren setzen

Parameters:
iHandle - iHandle
MotorStatus - Motorstatus
Returns:
Fehlercode

jrSetMotorsEx

public int jrSetMotorsEx(int iHandle,
                         int MotorStatus,
                         int SpeedStatus,
                         int SpeedStatus16)
Alle Motoren setzen mit Angabe der Geschwindigkeit

Parameters:
iHandle - iHandle
MotorStatus - Motorstatus
SpeedStatus - Geschwindigkeit
SpeedStatus16 - Geschwindigkeit (nicht dokumentiert)
Returns:
Fehlercode

jrGetModeStatus

public int jrGetModeStatus(int iHandle,
                           int MotNr)
Abfragen des Mode-Status eines M-Ausganges

Parameters:
iHandle - iHandle
MotNr - der M-Ausgang
Returns:
Mode-Status

jrSetModeStatus

public int jrSetModeStatus(int iHandle,
                           int MotNr,
                           int Mode)
Setzen des Mode-Status eines M-Ausganges

Parameters:
iHandle - iHandle
MotNr - der M-Ausgang
Mode - der zu setzende Modus
Returns:
Fehlercode

jrSetLamp

public int jrSetLamp(int iHandle,
                     int LampNr,
                     int OnOff)
Schalten eines O-Ausgangs

Parameters:
iHandle - iHandle
LampNr - O-Ausgang
OnOff - Zustand
Returns:
Fehlercode

jrSetLampEx

public int jrSetLampEx(int iHandle,
                       int LampNr,
                       int OnOff,
                       int Power)
Schalten eines O-Ausgangs mit Angabe der Helligkeit

Parameters:
iHandle - iHandle
LampNr - O-Ausgang
OnOff - Zustand
Power - Helligkeit
Returns:
Fehlercode

jrRobMotor

public int jrRobMotor(int iHandle,
                      int MotNr,
                      int Dir,
                      int Speed,
                      int ICount)
Starten eines M-Ausganges im RobMode (mit angeschlossenem Motor und Impulsrädchen an den zugehörenden I-Eingängen. Der Befehl läuft asynchron und beendet sich bei ICount = 0 bzw. Endtaster (linksdrehend) selber

Parameters:
iHandle - iHandle
MotNr - M-Ausgang
Dir - Richtung
Speed - Geschwindigkeit
ICount - Zahl der Impulse
Returns:
Fehlercode

jrRobMotors

public int jrRobMotors(int iHandle,
                       int MotorStatus,
                       int SpeedStatus,
                       int SpeedStatus16,
                       int ModeStatus)
Starten aller M-Ausgänge im RobMode (mit angeschlossenem Motor und Impulsrädchen an den zugehörenden I-Eingängen. Der Befehl läuft asynchron und beendet sich bei ICount = 0 bzw. Endtaster (linksdrehend) selber

Parameters:
iHandle - iHandle
MotorStatus - Motorstatus
SpeedStatus - Geschwindigkeit
SpeedStatus16 - Geschwindigkeit (nicht dokumentiert)
ModeStatus - Mode-Status
Returns:
Fehlercode

jrGetCounter

public int jrGetCounter(int iHandle,
                        int CounterNr)
Abfragen des Counter an einem I-Eingang

Parameters:
iHandle - iHandle
CounterNr - die Nummer des Counters
Returns:
Wert des Counters

jrSetCounter

public int jrSetCounter(int iHandle,
                        int CounterNr,
                        int ICount)
Setzen eines Counters auf 0

Parameters:
iHandle - iHandle
CounterNr - die Nummer des Counters
ICount - der Wert, der gesetzt werden soll
Returns:
Fehlercode

jrClearCounters

public int jrClearCounters(int iHandle)
Löschen aller Counter

Parameters:
iHandle - iHandle
Returns:
Fehlercode

jrGetDistanceValue

public int jrGetDistanceValue(int iHandle,
                              int SensorNr)
Auslesen des aktuellen Werte in cm des angegebenenUltraschallsensors, DistanceMode muss bei jrOpenInterface = UltraSonic sein

Parameters:
iHandle - iHandle
SensorNr - die Nummer des Distanzsensor
Returns:
die Distanz am D-Eingang

jrGetActDeviceType

public int jrGetActDeviceType(int iHandle)
Abfrage des akutellen Device-Typs

Parameters:
iHandle - iHandle
Returns:
den aktuellen DeviceTyp

jrGetActDeviceSerialNr

public int jrGetActDeviceSerialNr(int iHandle)
Abfrage der Seriennummer

Parameters:
iHandle - iHandle
Returns:
die Seriennummer

jrGetActDeviceFirmwareNr

public int jrGetActDeviceFirmwareNr(int iHandle)
Abfrage der Firmwareversion

Parameters:
iHandle - iHandle
Returns:
die Firmwareverion (unformatiert)

escape

public static int escape()
Prüfen ob Escape-Taste gedrückt ist

Returns:
1 wenn Taste gedrückt, sonst 0

getTickCount

public static int getTickCount()
Systemfunktion Timer-Ticks

Returns:
Timer-Ticks

sleep

public static void sleep(int MilliSec)
Anhalten des aktuellen Threads für eine bestimmte Zeitspanne

Parameters:
MilliSec - Zeit in Millisekunden