home *** CD-ROM | disk | FTP | other *** search
- /*******************************************************************/
- /* */
- /* userio.c - Sample User I/O program */
- /* */
- /* Author: John C. Fairman August 31, 1990 */
- /* Copyright 1990 by NeuralWare Inc. */
- /* */
- /* $Author : $ */
- /* $Date : $ */
- /* $Source : $ */
- /* $Revision : $ */
- /* $Log : $ */
- /* */
- /*******************************************************************/
-
- #define UIO_SERVER 1
- #define SERVER_EMULATOR_FILE 1
- #define SKIP_COMPAT_DATA 1
- #include "userutl.h"
- #include "uio_strc.h"
- #include "uio_tran.h"
- #include "uio_reqs.pro"
- #include "uio_cmds.pro"
-
- #ifdef MAC
- #include "macuio.redef"
- #endif
-
- /*******************************************************************/
- /* */
- /* Functions necessary for handling the User I/O package itself. */
- /* */
- /*******************************************************************/
-
- /*ARGSUSED */
- /* FUNCTION */
- NINT UIO_Init(file)
- TEXT *file;
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /**/
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Term(process)
- NINT process;
- {
- PutStr( "bye bye\n" );
-
- return(UIO_OK);
- }
-
-
- /* FUNCTION */
- NINT UIO_Attention()
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /*******************************************************************/
- /* */
- /* Functions necessary for handling a learning session. */
- /* */
- /*******************************************************************/
-
- /* FUNCTION */
- NINT UIO_Learn_Start()
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /**/
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Learn_Input(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- char *sp; /* string pointer */
- int wx; /* work index */
-
- NINT ret_val = UIO_OK;
-
- PutStr( "Enter Two Digits (ex: 00) as input or 'E' End XOR: " );
- sp = GetStr();
-
- /* Terminate learning if user types 'E' */
- if ( *sp == 'e' || *sp == 'E' ) {
- ret_val = UIO_ERROR;
- goto rtrn;
- }
-
- for( wx=0; wx < nPEs; wx++, sp++ ) {
- while( *sp != '\0' && *sp <= ' ' )
- sp++; /* skip white space */
- if ( *sp == '\0' ) break; /* no more data */
- Datap[wx] = (*sp=='0'? 0.0:1.0); /* set data */
- }
-
- while( wx < nPEs ) Datap[wx++] = 0.0; /* no data for these */
-
- rtrn:
- return(ret_val);
- }
-
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Learn_Output(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- char *sp; /* string pointer */
- int wx; /* work index */
- NINT ret_val = UIO_OK;
-
- PutStr( "Enter desired Output as a single digit: " );
- sp = GetStr();
-
- wx = 0;
- while( *sp != '\0' && *sp <= ' ' )
- sp++; /* skip white space */
- Datap[wx++] = (*sp=='0'? 0.0:1.0); /* set data */
-
- while( wx < nPEs ) Datap[wx++] = 0.0; /* no data for these */
-
- return(ret_val);
- }
-
-
- /**/
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Learn_Result(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /* FUNCTION */
- NINT UIO_Learn_End()
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /**/
- /*******************************************************************/
- /* */
- /* Functions necessary for handling a recall or testing session. */
- /* */
- /*******************************************************************/
-
- /* FUNCTION */
- NINT UIO_Recall_Start()
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /* FUNCTION */
- NINT UIO_Read(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- return( UIO_Learn_Input(LayN, nPEs, Datap ) );
- }
-
-
- /**/
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Write(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- char buf[100]; /* work buffer */
-
- sprintf( buf, "Result is: %.3f\n", Datap[0] );
- PutStr( buf );
- return( UIO_UPDATE); /* update display */
- }
-
-
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Write_Step(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /**/
- /* FUNCTION */
- NINT UIO_Recall_Test(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- return(UIO_Learn_Output(LayN, nPEs, Datap));
- }
-
- /* FUNCTION */
- NINT UIO_Recall_End()
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /**/
- /*******************************************************************/
- /* */
- /* Other miscellaneous functions. */
- /* */
- /*******************************************************************/
-
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Instrument(Instrument_id, nDataElems, DataElemp)
- NINT Instrument_id;
- NINT nDataElems;
- SREAL *DataElemp;
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /* FUNCTION */
- NINT UIO_Rewind()
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
- /**/
- /*ARGSUSED*/
- /* FUNCTION */
- NINT UIO_Explain(LayN, nPEs, Datap)
- NINT LayN;
- NINT nPEs;
- SREAL *Datap;
- {
- NINT ret_val = UIO_OK;
-
-
- /* USER TO PLACE CODE HERE */
-
- return(ret_val);
- }
-
-
-
-