Source: kpsk/server/server.h


Annotated List
Files
Globals
Hierarchy
Index
#ifndef _USERIF_H_INCLUDED
#define _USERIF_H_INCLUDED

/* server-api:
 * auf senden schalten:
 *    modus angeben   PSK(preamble,idle) CW(nix,ruhe), TUNE(nix,carrier)
 *    sofort oder bei DCD off angeben
 * senden ausschalten:
 *    mit postamble oder ohne...
 *    nach tx buffer ende
 *    txbuffer leeren, ggf. postamble, dann abschalten
 *    sofort abschalten
 */

#define COMM_PTT	0x01
#define COMM_DCD	0x02
#define COMM_DCDLEVEL	0x03
#define COMM_QPSK	0x04
#define COMM_LSB	0x05
#define COMM_AFC	0x06
#define COMM_MODE	0x07
#define COMM_FREQ	0x08
#define COMM_FFTN	0x20
#define COMM_FFTOVERLAP 0x21
#define COMM_SWAP       0x40

#define COMM_TXCH	0xFF
#define COMM_ECHOCH     0x00
#define COMM_FFTCH	0x01
#define COMM_RXCH	0x02

#define PTTOFF		0
#define PTTON		1
#define PTTFORCE	0x10

#define MO_NORMAL	0x01     /* PSK31 RX or TX */
#define MO_CWSEND	0x02     /* only TX channel: send CW */
#define MO_TUNE		0x04     /* only TX channel: send tune carrier */
#define MO_DISABLED	0x80     /* disable channel. only supp. for 2nd RX */

	// spec:
	// COMM_PTT       ON OFF PTT_FORCE
	// COMM_DCD       ON OFF
	// COMM_DCDLEVEL  0..100 (?)
	// COMM_QPSK      ON OFF
	// COMM_LSB       ON OFF
	// COMM_AFC       ON OFF
	// COMM_MODE      MO_DISABLED  MO_NORMAL  (TXonly:) MO_CWSEND  MO_TUNE
	// COMM_FFTN        128..4096
	// COMM_FFTOVERLAP  0..FFTN, evtl größer
	// channel: -1=TX, sonst RX
	// channel:  TXCH, RXCH, FFTCH
	// value: -1= nix ändern, sonst value; return: aktueller value oder -1
		
	
typedef struct {
	int freq;       // IF frequence (RX,TX)
	int qpsk;         // QPSK <-> BPSK (RX,TX)
	int lsb;          // LSB(inverted)  (RX,TX)
	int cw;           // 0=normal PSK mode  1=transmit as CW  2=tuning(TX)
	int dcd;          // DCD active (RX)
	int dcdlevel;     // DCD sensitifity (-1=disable DCD,  (RX)
	                  // 0=only preamble/postamble DCD)
	int strength;     // range: 0..40
	int afc;          // use AFC (RX)
	int mode;         // ??
	int ptt;          // PTT on??? (transmitting?)  (all CH)
	int phdelta;      // last phase change (RX)
	float qty[4];     // quality (current,bpsk,qpsk,qpsk-inverted)
} PSK31info;


int commWaitUpdate(unsigned long timeout);
int commGetData(int channel, char *buffer, int buflen);
int commPutData(char *buffer, int buflen);
int commControl(int channel, int spec, int value);
int commGetInfo(int channel, void *buffer, int buflen);


// for the non-socket server...
int server_main(char *audio, char *ptt);

#endif

Generated by: ernie on homer on Sun Oct 6 11:23:16 2002, using kdoc 2.0a53.