Prosody data communications Protocols: V.17 rx

V.17 is an ITU-T standard modem.

This protocol implements the receiver for V.17. Since it is only a receiver, it only uses the input half of a channel. Typically the output half is configured for V.17 tx.

API function behaviour

This should be read in conjunction with the generic data communications documentation.

smdc_channel_config()

You must use #include "smdc_v17.h" to get the appropriate declarations.

The protocol value is kSMDCProtocolV17rx.

The config_data pointer must point to one of these structs:

	typedef struct smdc_v17_config_parms {
		tSM_INT speed;
	} SMDC_V17_CONFIG_PARMS;

'speed' is the data rate in bits per second. This must be one of the standard speeds: 7200, 9600, 12000, or 14400.

This protocol can use these encodings: SYNC, ASYNC, HDLC.

The firmware modules v17rx and inchan must have been downloaded.

smdc_line_control()

Three commands are applicable, kSMDCLineCtlCmdSuspend, kSMDCLineCtlCmdResume and kSMDCLineCtlCmdResumeMonitorCarrier.

Following a V.17 receiver successfully receiving a long train sequence, the suspend command may be used to disable the V.17 receiver in such a way that the coefficients calculated for line circuit are preserved. Subsequently the resume command may be used to re-activate the V.17 receiver for reception of short train prefixed data using this same set of coefficients.

When suspended, the receiver may be asked to monitor the existence of carrier. This can be used to determine if the far end is still transmitting when it is suspected that carrier loss has occurred prematurely. The receiver must be suspended again before the resume command can be used.

smdc_line_status()

smdc_tx_status()

This function is not applicable since it only applies to the output half of a channel.

smdc_tx_control()

This function is not applicable since it only applies to the output half of a channel.

smdc_rx_status()

smdc_rx_control()

smdc_rx_data()

smdc_tx_data()

This function is not applicable since it only applies to the output half of a channel.