|
Studer Innotec Xtender Serial Communication C Library
1.5.0
|
Go to the source code of this file.
Data Structures | |
| struct | scom_frame_flags_t |
| decoded content of frame_flags byte More... | |
| struct | scom_service_flags_t |
| decoded content of service_flags byte More... | |
| struct | scom_frame_t |
| a structure representing a frame More... | |
Macros | |
| #define | SCOM_NBR_ELEMENTS(array) (sizeof(array)/sizeof((array)[0])) |
| return the number of elements of an array (index max + 1) More... | |
| #define | SCOM_MIN(a, b) ((a) < (b) ? (a) : (b)) |
| return the minimum from two values | |
| #define | SCOM_MAX(a, b) ((a) > (b) ? (a) : (b)) |
| return the maximum from two values | |
| #define | SCOM_FRAME_HEADER_SIZE 14 |
| the size of the frame header | |
Functions | |
| void | scom_initialize_frame (scom_frame_t *frame, char *buffer, size_t buffer_size) |
| initialize a frame structure More... | |
| void | scom_encode_request_frame (scom_frame_t *frame) |
| encode a frame in its buffer More... | |
| void | scom_decode_frame_header (scom_frame_t *frame) |
| decode the frame header from its buffer More... | |
| void | scom_decode_frame_data (scom_frame_t *frame) |
| decode the frame data from its buffer More... | |
| size_t | scom_frame_length (scom_frame_t *frame) |
| return the total frame length More... | |
interface to send and receive scom frames (the Data Link Layer)
| #define SCOM_NBR_ELEMENTS | ( | array) | (sizeof(array)/sizeof((array)[0])) |
return the number of elements of an array (index max + 1)
| array | variable of array type |
| enum scom_error_t |
scom error types
| enum scom_format_t |
data format
| void scom_decode_frame_data | ( | scom_frame_t * | frame) |
decode the frame data from its buffer
This function call be called after the reception of frame->data_length byte in frame->buffer. frame->last_error will contain SCOM_ERROR_INVALID_FRAME if the data checksum is invalid or the frame is misformed.
| void scom_decode_frame_header | ( | scom_frame_t * | frame) |
decode the frame header from its buffer
This function call be called after the reception of SCOM_FRAME_HEADER_SIZE byte in frame->buffer. frame->last_error will contain SCOM_ERROR_INVALID_FRAME if the checksum is invalid or the header is misformed.
| void scom_encode_request_frame | ( | scom_frame_t * | frame) |
encode a frame in its buffer
The frame must have been initialized with scom_initialize_frame(). The frame fields src_addr, dst_addr, service_id and data_length must have a valid value.
| size_t scom_frame_length | ( | scom_frame_t * | frame) |
return the total frame length
This function can be called after scom_decode_frame_header() to know how many bytes we expect to receive.
| void scom_initialize_frame | ( | scom_frame_t * | frame, |
| char * | buffer, | ||
| size_t | buffer_size | ||
| ) |
initialize a frame structure
| frame | the structure to initialize |
| buffer | the buffer used to encode the data |
| buffer_size | the size of a buffer, allowing user defined size |