This protocol implements a transmitter of uninterpreted digital data. Since it is only a transmitter, it only uses the output half of a channel. It is typically used either with HDLC encoding to implement a protocol such as V.120 or with SYNC encoding to put an arbitrary data stream on a timeslot. When used with HDLC the input half can be configured for raw rx with HDLC to provide a duplex link.
This should be read in conjunction with the generic data communications documentation.
You must use #include "smdc_raw.h" to get the
appropriate declarations.
The protocol value is kSMDCProtocolRawTx.
If required, the config_data pointer must point to one of these structs:
typedef struct smdc_raw_config_parms {
tSM_INT speed;
} SMDC_RAW_CONFIG_PARMS;
'speed' is the data rate in bits per second. This
must be one of the standard speeds: 8000, 16000, 32000 or 64000.
The speeds other than 64000 use ITU I.460 rate adaption, that is only the
first 1, 2 or 4 bits of each octet are used.
This protocol can use these encodings: SYNC, ASYNC, and HDLC.
The firmware module datatx must have been downloaded.
[note] not useful - no initial connection procedure and no RTS.
The kSMDCLineCtlCmdSetPrefixSuffix command is not supported by this protocol.
[note] 'link_status' is not useful since it is always connected.
[note] 'flow' is not useful since there is no flow control mechanism.
'status' never reports empty.
The only notification implemented is kSMDCTxCtlNotifyOnCapacity.
When setting the capacity, it is necessary to specify a value one greater than the value required. i.e. to get notified when space is available for at least 32 bytes, set the capacity to 33 or greater.
This function is not applicable since it only applies to the input half of a channel.
This function is not applicable since it only applies to the input half of a channel.
This function is not applicable since it only applies to the input half of a channel.