C# Class Emlid.WindowsIot.Hardware.Components.Mb85rcv.Mb85rcvDevice

Base class for MB85RC#V FRAM (Ferroelectric Random Access Memory) family of chips (hardware devices), connected via I2C.

The MB85RC#V family are FRAM (Ferroelectric Random Access Memory) chips in different configurations, providing more or less words of memory, using the ferroelectric process and silicon gate CMOS process technologies for forming the nonvolatile memory cells.

Unlike SRAM, the MB85RC#V chips are able to retain data without using a data backup battery.

The read/write endurance of the nonvolatile memory cells used for the MB85RC#V has improved to be at least 10^12 cycles, significantly outperforming other nonvolatile memory products in the number.

The MB85RC#V chips do not need a polling sequence after writing to the memory such as the case of Flash memory or E2PROM.

MB85RC04V data sheet: https://www.fujitsu.com/us/Images/MB85RC256V-DS501-00017-3v0-E.pdf MB85RC256V data sheet: https://www.fujitsu.com/us/Images/MB85RC256V-DS501-00017-3v0-E.pdf

Inheritance: DisposableObject
Mostra file Open project: emlid/Navio-SDK-Windows-IoT

Private Properties

Property Type Description
GetDeviceForAddress Windows.Devices.I2c.I2cDevice
Mb85rcvDevice System

Public Methods

Method Description
GetMemoryAddressBytes ( int address ) : byte[]

Gets the I2C command memory address bytes for the specified logical address.

Besides being split into bytes, some older/smaller chips separate the MSB into the I2C device address.

ReadByte ( ) : byte

Reads a single byte at the "current address" (next byte after the last operation).

ReadByte ( int address ) : byte

Reads a single byte "randomly" at the specified address.

ReadPage ( int length ) : byte[]

Reads a single byte at the "current address" (next byte after the last operation).

ReadPage ( int address, int length ) : byte[]

Reads a "page" of bytes "sequentially" starting at the specified address.

WriteByte ( int address, byte data ) : void

Writes a single byte at the specified address.

WritePage ( int address, byte data ) : void

Writes a "page" of multiple bytes starting at the specified address.

WritePage ( int address, byte data, int offset, int length ) : void

Writes a "page" of multiple bytes starting at the specified address.

Protected Methods

Method Description
Dispose ( bool disposing ) : void

DisposableObject.Dispose(bool).

Private Methods

Method Description
GetDeviceForAddress ( int address ) : Windows.Devices.I2c.I2cDevice
Mb85rcvDevice ( Windows.Devices.I2c.I2cDevice device, int size ) : System

Method Details

Dispose() protected method

DisposableObject.Dispose(bool).
protected Dispose ( bool disposing ) : void
disposing bool
return void

GetMemoryAddressBytes() public abstract method

Gets the I2C command memory address bytes for the specified logical address.
Besides being split into bytes, some older/smaller chips separate the MSB into the I2C device address.
public abstract GetMemoryAddressBytes ( int address ) : byte[]
address int
return byte[]

ReadByte() public method

Reads a single byte at the "current address" (next byte after the last operation).
public ReadByte ( ) : byte
return byte

ReadByte() public method

Reads a single byte "randomly" at the specified address.
public ReadByte ( int address ) : byte
address int
return byte

ReadPage() public method

Reads a single byte at the "current address" (next byte after the last operation).
public ReadPage ( int length ) : byte[]
length int
return byte[]

ReadPage() public method

Reads a "page" of bytes "sequentially" starting at the specified address.
public ReadPage ( int address, int length ) : byte[]
address int
length int
return byte[]

WriteByte() public method

Writes a single byte at the specified address.
public WriteByte ( int address, byte data ) : void
address int
data byte
return void

WritePage() public method

Writes a "page" of multiple bytes starting at the specified address.
public WritePage ( int address, byte data ) : void
address int
data byte
return void

WritePage() public method

Writes a "page" of multiple bytes starting at the specified address.
public WritePage ( int address, byte data, int offset, int length ) : void
address int
data byte
offset int
length int
return void