def LoadFirmwareImage(chip, filename):
    """ Load a firmware image. Can be for ESP8266 or ESP32. ESP8266 images will be examined to determine if they are
        original ROM firmware images (ESP8266ROMFirmwareImage) or "v2" OTA bootloader images.

        Returns a BaseFirmwareImage subclass, either ESP8266ROMFirmwareImage (v1) or ESP8266V2FirmwareImage (v2).
    """
    with open(filename, 'rb') as f:
        if chip.lower() == 'esp32':
            return ESP32FirmwareImage(f)
        else:  # Otherwise, ESP8266 so look at magic to determine the image type
            magic = ord(f.read(1))
            f.seek(0)
            if magic == ESPLoader.ESP_IMAGE_MAGIC:
                return ESP8266ROMFirmwareImage(f)
            elif magic == ESPBOOTLOADER.IMAGE_V2_MAGIC:
                return ESP8266V2FirmwareImage(f)
            else:
                raise FatalError("Invalid image magic number: %d" % magic)
def LoadFirmwareImage ( chip , filename ) : with open ( filename , 'rb' ) as f : if chip . lower ( ) == 'esp32' : return ESP32FirmwareImage ( f ) else : magic = ord ( f . read ( 1 ) ) f . seek ( 0 ) if magic == ESPLoader . ESP_IMAGE_MAGIC : return ESP8266ROMFirmwareImage ( f ) elif magic == ESPBOOTLOADER . IMAGE_V2_MAGIC : return ESP8266V2FirmwareImage ( f ) else : raise FatalError ( "Invalid image magic number: %d" % magic )
Load a firmware image. Can be for ESP8266 or ESP32. ESP8266 images will be examined to determine if they are
        original ROM firmware images (ESP8266ROMFirmwareImage) or "v2" OTA bootloader images.

        Returns a BaseFirmwareImage subclass, either ESP8266ROMFirmwareImage (v1) or ESP8266V2FirmwareImage (v2).