def METHOD_NAME(
    read_buffer: ReadBuffer, driver_type: DriverType, response: bool
):
    read_buffer.push_context("ModbusAsciiADU")
    self.address = read_simple_field(
        "address", read_unsigned_short, WithOption.WithByteOrder(get_bi_g__endian())
    )
    self.pdu = read_simple_field(
        "pdu",
        DataReaderComplexDefault(
            ModbusPDU.static_parse(read_buffer, bool(response)), read_buffer
        ),
        WithOption.WithByteOrder(get_bi_g__endian()),
    )
    crc: int = read_checksum_field(
        "crc",
        read_unsigned_short,
        (int)(ascii_lrc_check(self.address, self.pdu)),
        WithOption.WithByteOrder(get_bi_g__endian()),
    )
    read_buffer.pop_context("ModbusAsciiADU")
    # Create the instance
    return ModbusAsciiADUBuilder(address, pdu, response)