Source: kpsk/server/server.h
|
|
|
|
#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. |