linux/drivers/staging/speakup/speakup_dtlk.h
<<
>>
Prefs
   1/* speakup_dtlk.h - header file for speakups DoubleTalk driver. */
   2
   3#define SYNTH_IO_EXTENT 0x02
   4#define SYNTH_CLEAR     0x18            /* stops speech */
   5        /* TTS Port Status Flags */
   6#define TTS_READABLE    0x80    /* mask for bit which is nonzero if a
   7                                         byte can be read from the TTS port */
   8#define TTS_SPEAKING    0x40    /* mask for SYNC bit, which is nonzero
   9                                         while DoubleTalk is producing
  10                                         output with TTS, PCM or CVSD
  11                                         synthesizers or tone generators
  12                                         (that is, all but LPC) */
  13#define TTS_SPEAKING2   0x20    /* mask for SYNC2 bit,
  14                                         which falls to zero up to 0.4 sec
  15                                         before speech stops */
  16#define TTS_WRITABLE    0x10    /* mask for RDY bit, which when set to
  17                                         1, indicates the TTS port is ready
  18                                         to accept a byte of data.  The RDY
  19                                         bit goes zero 2-3 usec after
  20                                         writing, and goes 1 again 180-190
  21                                         usec later. */
  22#define TTS_ALMOST_FULL 0x08    /* mask for AF bit: When set to 1,
  23                                         indicates that less than 300 bytes
  24                                         are available in the TTS input
  25                                         buffer. AF is always 0 in the PCM,
  26                                         TGN and CVSD modes. */
  27#define TTS_ALMOST_EMPTY 0x04   /* mask for AE bit: When set to 1,
  28                                         indicates that less than 300 bytes
  29                                         are remaining in DoubleTalk's input
  30                                         (TTS or PCM) buffer. AE is always 1
  31                                         in the TGN and CVSD modes. */
  32
  33                                /* data returned by Interrogate command */
  34struct synth_settings {
  35        u_short serial_number;  /* 0-7Fh:0-7Fh */
  36        u_char rom_version[24]; /* null terminated string */
  37        u_char mode;            /* 0=Character; 1=Phoneme; 2=Text */
  38        u_char punc_level;      /* nB; 0-7 */
  39        u_char formant_freq;    /* nF; 0-9 */
  40        u_char pitch;           /* nP; 0-99 */
  41        u_char speed;           /* nS; 0-9 */
  42        u_char volume;          /* nV; 0-9 */
  43        u_char tone;            /* nX; 0-2 */
  44        u_char expression;      /* nE; 0-9 */
  45        u_char ext_dict_loaded; /* 1=exception dictionary loaded */
  46        u_char ext_dict_status; /* 1=exception dictionary enabled */
  47        u_char free_ram;        /* # pages (truncated) remaining for
  48                                 * text buffer */
  49        u_char articulation;    /* nA; 0-9 */
  50        u_char reverb;          /* nR; 0-9 */
  51        u_char eob;             /* 7Fh value indicating end of
  52                                 * parameter block */
  53        u_char has_indexing;    /* nonzero if indexing is implemented */
  54};
  55