FwupdPlugin.CfiDevice
Description: Reference for FwupdPlugin.CfiDevice

### Class

# FwupdPluginCfiDevice

#### Description [src]

    class FwupdPlugin.CfiDevice : FwupdPlugin.Device
      implements Fwupd.Codec {
      /* No available fields */
    }

A chip conforming to the Common Flash Memory Interface, typically a SPI flash chip.

Where required, the quirks instance IDs will be added in ->setup().

The defaults are set as follows, and can be overridden in quirk files:

- `PageSize`: 0x100
- `SectorSize`: 0x1000
- `BlockSize`: 0x10000

See also: `FuDevice`.

#### Hierarchy

#### Ancestors

- FuDevice
- FwupdDevice
- GObject

#### Implements

- FwupdCodec

#### Constructors

###### fu_cfi_device_new

Creates a new `FuCfiDevice`.

since: 1.7.1

#### Functions

###### fu_cfi_device_cmd_to_string

No description available.

#### Instance methods

###### fu_cfi_device_chip_select

Sets the chip select value.

since: 1.8.0

###### fu_cfi_device_chip_select_locker_new

Creates a custom device locker that asserts and deasserts the chip select signal.

since: 1.8.0

###### fu_cfi_device_get_block_size

Gets the chip block size. This is typically the largest erasable block size.

since: 1.7.4

###### fu_cfi_device_get_cmd

Gets the self vendor code.

since: 1.7.1

###### fu_cfi_device_get_flash_id

Gets the chip ID used to identify the device.

since: 1.7.1

###### fu_cfi_device_get_page_size

Gets the chip page size. This is typically the largest writable block size.

since: 1.7.3

###### fu_cfi_device_get_sector_size

Gets the chip sector size. This is typically the smallest erasable page size.

since: 1.7.3

###### fu_cfi_device_get_size

Gets the chip maximum size.

since: 1.7.1

###### fu_cfi_device_send_command

Sends an unspecified command stream to the CFI device.

since: 1.9.1

###### fu_cfi_device_set_block_size

Sets the chip block size. This is typically the largest erasable chunk size.

since: 1.7.4

###### fu_cfi_device_set_flash_id

Sets the chip ID used to identify the device.

since: 1.7.1

###### fu_cfi_device_set_page_size

Sets the chip page size. This is typically the largest writable block size.

since: 1.7.3

###### fu_cfi_device_set_sector_size

Sets the chip sector size. This is typically the smallest erasable page size.

since: 1.7.3

###### fu_cfi_device_set_size

Sets the chip maximum size.

since: 1.7.1

##### Methods inherited from FuDevice (184)

Please see FuDevice for a full list of methods.

##### Methods inherited from FwupdDevice (103)

Please see FwupdDevice for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from FwupdCodec (8)

###### fwupd_codec_add_string

Converts an object that implements `FwupdCodec` to a debug string, appending it to `str`.

###### fwupd_codec_from_json

Converts an object that implements `FwupdCodec` from a JSON object.

###### fwupd_codec_from_json_string

Converts an object that implements `FwupdCodec` from a JSON string.

###### fwupd_codec_from_variant

Converts an object that implements `FwupdCodec` from a `GVariant` value.

###### fwupd_codec_to_json

Converts an object that implements `FwupdCodec` to a JSON builder object.

###### fwupd_codec_to_json_string

Converts an object that implements `FwupdCodec` to a JSON string.

###### fwupd_codec_to_string

Converts an object that implements `FwupdCodec` to a debug string.

###### fwupd_codec_to_variant

Converts an object that implements `FwupdCodec` to a `GVariant`.

#### Properties

###### FwupdPlugin.CfiDevice:flash-id

The CCI JEDEC flash ID.

since: 1.7.1

##### Properties inherited from FuDevice (13)

###### FwupdPlugin.Device:backend

The `FuBackend` that created the device.

since: 2.0.0

###### FwupdPlugin.Device:backend-id

The device backend ID.

since: 1.5.8

###### FwupdPlugin.Device:context

The `FuContext` to use.

since: 1.6.0

###### FwupdPlugin.Device:equivalent-id

The device equivalent ID.

since: 2.0.0

###### FwupdPlugin.Device:logical-id

The device logical ID.

since: 1.1.2

###### FwupdPlugin.Device:parent

The device parent.

since: 1.0.8

###### FwupdPlugin.Device:physical-id

The device physical ID.

since: 1.1.2

###### FwupdPlugin.Device:pid

The device product ID.

since: 2.0.0

###### FwupdPlugin.Device:private-flags

The device private flags.

since: 1.9.1

###### FwupdPlugin.Device:proxy

The device proxy to use.

since: 1.4.1

###### FwupdPlugin.Device:update-image

The update image for the device.

since: 2.0.0

###### FwupdPlugin.Device:update-message

The device update message.

since: 2.0.0

###### FwupdPlugin.Device:vid

The device vendor ID.

since: 2.0.0

##### Properties inherited from FwupdDevice (13)

###### Fwupd.Device:battery-level

The device battery level in percent.

###### Fwupd.Device:battery-threshold

The device battery threshold in percent.

###### Fwupd.Device:flags

The device flags.

###### Fwupd.Device:id

The device ID.

###### Fwupd.Device:parent

The device parent.

###### Fwupd.Device:percentage

The current device percentage.

###### Fwupd.Device:problems

The problems with the device that the user could fix, e.g. “lid open”.

###### Fwupd.Device:request-flags

The device request flags.

###### Fwupd.Device:status

The current device status.

###### Fwupd.Device:update-error

The device update error.

###### Fwupd.Device:update-state

The device update state.

###### Fwupd.Device:version

The device version.

###### Fwupd.Device:version-format

The version format of the device.

#### Signals

##### Signals inherited from FuDevice (3)

###### FuDevice::child-added

The ::child-added signal is emitted when a device has been added as a child.

since: 1.0.8

###### FuDevice::child-removed

The ::child-removed signal is emitted when a device has been removed as a child.

since: 1.0.8

###### FuDevice::request

The ::request signal is emitted when the device needs interactive action from the user.

since: 1.6.2

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct FwupdPluginCfiDeviceClass {
      FuDeviceClass parent_class;
      gboolean (* chip_select) (
        FuCfiDevice* self,
        gboolean value,
        GError** error
      );
      gboolean (* send_command) (
        FuCfiDevice* self,
        const guint8* wbuf,
        gsize wbufsz,
        guint8* rbuf,
        gsize rbufsz,
        FuProgress* progress,
        GError** error
      );
      gboolean (* read_jedec) (
        FuCfiDevice* self,
        GError** error
      );

    }

No description available.

###### Class members

`parent_class: FuDeviceClass`

  No description available.

`chip_select: gboolean (* chip_select) ( FuCfiDevice* self, gboolean value, GError** error )`

  No description available.

`send_command: gboolean (* send_command) ( FuCfiDevice* self, const guint8* wbuf, gsize wbufsz, guint8* rbuf, gsize rbufsz, FuProgress* progress, GError** error )`

  No description available.

`read_jedec: gboolean (* read_jedec) ( FuCfiDevice* self, GError** error )`

  No description available.

#### Virtual methods

###### FwupdPlugin.CfiDeviceClass.chip_select

Sets the chip select value.

since: 1.8.0

###### FwupdPlugin.CfiDeviceClass.read_jedec

No description available.

###### FwupdPlugin.CfiDeviceClass.send_command

Sends an unspecified command stream to the CFI device.

since: 1.9.1