20 #ifndef __dioserver_h__
21 #define __dioserver_h__
33 #define DIO_CHANNELS 64
77 dioserver(
int argc,
char **argv)
throw (AOException);
80 dioserver(std::string name,
const std::string &conffile)
throw (AOException);
128 #endif //__dioserver_h__
std::string local_command(std::string)
Overridden from VisAOApp_base::local_command.
dioserver_ch diosch[DIO_CHANNELS]
The channels being managed.
Class to manage access to a digital input/output device.
dioserver * dios
Whether the channel is enabled or not. Disabled channels (enabled = 0) are ignored.
int(* diocard_init)(void *)
Initialize the card.
The standalone VisAO application, does not interface with the AO Supervisor.
std::string fifo_path
The base path names for the fifos.
Declarations for the standalone VisAO application.
int(* diocard_sd)(void *)
Shutdown the card.
int init_dioserver()
Initialize the dioserver structure.
int(* diocard_read)(void *card, int ch)
Read a bit from the channel.
int setup_dioserver()
Setup the dioserver.
int n_enabled
Number of channel enabled.
int(* diocard_write)(void *card, int ch, int bit)
Write a bit to a channel.
Holds the information for one digital I/O channel.
VisAO software utilitites, declarations.
dioserver(int argc, char **argv)
Command line constructor.
void * diocard_info
The generic DIO interface. This pointer is passed unaltered to the diocard_* functions.
int read_diofifo(fifo_channel *fc)
Handler to read one of the dio channel fifos.
int set_dioserver_channel(int chnum, int hwchan, int dir, int enab)
Set a single channel of the server.
virtual int Run()
Take all the actions needed to start the server.
int enabled
The direction, 0 for output, 1 for input.
The namespace of VisAO software.
int hwchannel
The software channel number - used to access the channel via the dio fifos.
std::string remote_command(std::string)
Overridden from VisAOApp_base::remote_command.
int direction
The hardware channel number - used to access the diocard itself.