@property<EOL><INDENT>def base_id(self):<DEDENT>
<EOL>if self._base_id is not None:<EOL><INDENT>return self._base_id<EOL><DEDENT>self.send(Packet(PACKET.COMMON_COMMAND, data=[<NUM_LIT>]))<EOL>for i in range(<NUM_LIT:0>, <NUM_LIT:10>):<EOL><INDENT>try:<EOL><INDENT>packet = self.receive.get(block=True, timeout=<NUM_LIT:0.1>)<EOL>if packet.packet_type == PACKET.RESPONSE and packet.response == RETURN_CODE.OK and len(packet.response_data) == <NUM_LIT:4>:<EOL><INDENT>self._base_id = packet.response_data<EOL>self.receive.put(packet)<EOL>break<EOL><DEDENT>self.receive.put(packet)<EOL><DEDENT>except queue.Empty:<EOL><INDENT>continue<EOL><DEDENT><DEDENT>return self._base_id<EOL>
Fetches Base ID from the transmitter, if required. Otherwise returns the currently set Base ID.