next up previous contents
Next: Datei: xwidget.c Up: Funktionen der einzelnen Module Previous: Datei: client.c

Datei: xpendel.c

Kennung für das Versionskontroll-System:
char *rcs = ''$Id: xpendel.c,v 1.306 1996/07/04 10:19:43 heuler$'';

Globale Variablen:

static psetparm pdata;

int clients;            /* client sleep time = clientsleep in client */
int csimu;              /* simulation or hardware = simulation in client */
int ccontrol;           /* control enabled = control in client */
int cneuro;             /* neuro of fuzzy control */

char netname[80];       /* name of net */

int pendulumwidth;                      /* width of pendulum */
int pendulumheight;                     /* height of pendulum */

double xmotorw, xmotorv, xmotora;       /* displayed paramters of motor */
double xpendelw, xpendelv, xpendela;    /* displayed parameters of pendulum */
double xforce;                          /* displayed force of motor */

int online;                             /* display information */
int loging;                             /* file loging */

XtAppContext app_context;


Lokale Variablen:
Variablen für die verschiedenen Fenster (Widgets) auf der X-Oberfläche:

static Widget topLevel;
static Widget wquit, wstart, wreset, wswitch, wdisp, wapopup, wlog,
              wcontr, wneuro;
static Widget wsetparmlabel, wsetparmdata, wsetparmDone;
static Widget wmotorw, wmotorv, wmotora;
static Widget wpendelw, wpendelv, wpendela;
static Widget wcmotorw, wcmotorv, wcmotora;
static Widget wcpendelw, wcpendelv, wcpendela;
static Widget wforce, wcforce;
static Widget wcdis, wdis;
static Widget wcclient, wclient;
static Widget wcnetn, wnetn;
static Widget wpendulum;

Funktionen:
MenuCallback - Beendet den Client und dann das Hauptprogramm:
void Quit(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Startet den Client oder beendet ihn:
void Start(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Schaltet zwischen Simulation und Steuerung der Hardware um:
void Switch(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Schaltet die Steuerung ein oder aus:
void NetControl(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Schaltet zwischen dem neuronalen Netz und dem Fuzzy-Controller um:
void NetNeuro(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Startet bzw. stoppt das Mitschreiben der Pendelparameter in das Logfile:
void FileLog(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Schaltet die Anzeige aus bzw. an:
void Disp(Widget w, XtPointer client_data, XtPointer call_data);

MenuCallback - Setzt die Parameter und den Client zurück:
void Reset(Widget w, XtPointer client_data, XtPointer call_data);

Zeigt die Parameter des Pendels im Fenster an:
void DisplayParameters();

Schaltet die Buttons ab, wenn ein Dialogfenster geöffnet wird:
void DisableButtons();

Schaltet die Buttons wieder an, nachdem das Dialogfenster geschlossen wurde:
void EnableButtons();

Callback - Öffnet das Dialogfenster zur Parametereingabe:
void SetParmPopup(Widget w, XtPointer client_data, XtPointer call_data);

Callback - Wird beim Schließen des Dialogfensters aufgerufen und schickt die geänderten Parameter an den Client:
void SetParmDone(Widget w, XtPointer client_data, XtPointer call_data);

Callback - Wird aufgerufen, wenn der Anwender tex2html_wrap3736 im Dialogfenster auswählt:
void SetParmCancel(Widget w, XtPointer client_data, XtPointer call_data);

Callback - Wird aufgerufen, wenn der Anwender die Eingabe abschließt. Ruft nur
SetParmDone() auf:
void SetParmReturn(Widget w, XEvent *d1, String *d2, Cardinal *d3);

Erzeugt alle Fenster der X-Oberfläche, legt deren Aussehen fest, richtet die Unterfenster für die einzelnen Parameter ein und registriert die Callback-Funktionen für die Buttons:
void create_boxes(Widget parent, XtAppContext app_context);

Richtet einen Programmkontext ein, öffnet das Hauptfenster und springt in die Hauptnachrichtenschleife der X-Oberfläche:
void InitX(int argc, char **argv);


next up previous contents
Next: Datei: xwidget.c Up: Funktionen der einzelnen Module Previous: Datei: client.c

Marius Heuler
Tue Jan 7 12:11:50 MET 1997