def readSchedules(self, tableset):
self.setContext("<STR_LIT>")<EOL>try:<EOL><INDENT>req_table = binascii.hexlify(str(tableset).zfill(<NUM_LIT:1>))<EOL>req_str = "<STR_LIT>" + req_table + "<STR_LIT>"<EOL>self.request(False)<EOL>req_crc = self.calc_crc16(req_str[<NUM_LIT:2>:].decode("<STR_LIT>"))<EOL>req_str += req_crc<EOL>self.m_serial_port.write(req_str.decode("<STR_LIT>"))<EOL>raw_ret = self.m_serial_port.getResponse(self.getContext())<EOL>self.serialPostEnd()<EOL>return_crc = self.calc_crc16(raw_ret[<NUM_LIT:1>:-<NUM_LIT:2>])<EOL>if tableset == ReadSchedules.Schedules_1_To_4:<EOL><INDENT>unpacked_read = self.unpackStruct(raw_ret, self.m_schd_1_to_4)<EOL>self.convertData(unpacked_read, self.m_schd_1_to_4, self.m_kwh_precision)<EOL>if str(return_crc) == str(self.m_schd_1_to_4["<STR_LIT>"][MeterData.StringValue]):<EOL><INDENT>ekm_log("<STR_LIT>")<EOL>self.setContext("<STR_LIT>")<EOL>return True<EOL><DEDENT><DEDENT>elif tableset == ReadSchedules.Schedules_5_To_6:<EOL><INDENT>unpacked_read = self.unpackStruct(raw_ret, self.m_schd_5_to_6)<EOL>self.convertData(unpacked_read, self.m_schd_5_to_6, self.m_kwh_precision)<EOL>if str(return_crc) == str(self.m_schd_5_to_6["<STR_LIT>"][MeterData.StringValue]):<EOL><INDENT>ekm_log("<STR_LIT>")<EOL>self.setContext("<STR_LIT>")<EOL>return True<EOL><DEDENT><DEDENT><DEDENT>except:<EOL><INDENT>ekm_log(traceback.format_exc(sys.exc_info()))<EOL><DEDENT>self.setContext("<STR_LIT>")<EOL>return False<EOL>
Serial call to read schedule tariffs buffer

        Args:
            tableset (int): :class:`~ekmmeters.ReadSchedules` buffer to return.

        Returns:
            bool: True on completion and ACK.