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