Band 5 Down-Converter Protocol
B5DC protocol interface.
- class B5dcErrorCode(value)[source]
Band 5 down-converter specific protocol errors.
- FAILED = 1
- NETWORK = 4278190080
- SUCCESS = 0
- class B5dcProtocol(on_con_lost, logger, remote_addr, error_count_threshold=3)[source]
B5dcProtocol class.
- __init__(on_con_lost, logger, remote_addr, error_count_threshold=3)[source]
Initialise B5dcProtocol class.
- set_connection_lost_flags()[source]
Set connection lost flag to false and complete on_con_lost future.
- Return type:
- async sync_read_register(address)[source]
Read address data synchronously from B5DC.
- Parameters:
address (
int) – address to read- Raises:
B5dcProtocolTimeout – when read times out
- Return type:
- Returns:
data read from address
- class B5dcRequest(read, address, length=1, data=None)[source]
Dataclass that contains data related to a request.
- __init__(read, address, length=1, data=None)
- class B5dcResponse(error_code, length=0, data=None)[source]
Dataclass that contains data related to a response.
- __init__(error_code, length=0, data=None)
-
error_code:
B5dcErrorCode
- class BaseB5dcProtocol(logger)[source]
Class that defines the B5DC protocol.
- __init__(logger)[source]
Initialise band 5 down-converter protocol class.
- Parameters:
logger (
Logger) – logging handle
- static format_bytes_to_hexadecimal_string(data)[source]
Convert bytes representation to string hexadecimal representation.
- async get_response(sequence_number)[source]
Fetch received message from buffer.
- Parameters:
sequence_number (
int) – message sequence number- Return type:
- Returns:
response associated with sequence number
- pack_request(sequence_number, b5dc_request)[source]
Packs the data required to make a request to the B5DC.
- Parameters:
sequence_number (
int) – sequence numberb5dc_request (
B5dcRequest) – request information
- Return type:
- Returns:
The packed data
- pack_response(sequence_number, b5dc_response)[source]
Pack the expected response into bytes.
- Parameters:
sequence_number (
int) – sequence numberb5dc_response (
B5dcResponse) – response data
- Return type:
- Returns:
Packed response in bytes
- unpack_request(request)[source]
Unpack the bytes request.
- Parameters:
sequence_number – expected sequence number
response – packed response data received from transport
- Raises:
B5dcProtocolException – For protocol ID inconsistency
B5dcProtocolException – For no payload data
B5dcProtocolException – Error in parsing the payload
- Return type:
- Returns:
seqeunce number and request data
- unpack_response(response)[source]
Unpack the response from the B5DC.
- Parameters:
response (
bytes) – packed response data received from transport- Raises:
B5dcProtocolException – For protocol ID inconsistency
B5dcProtocolException – For no payload data received
B5dcProtocolException – If there is an error in parsing the payload
- Return type:
- Returns:
sequence number, Decoded response