Arduino-Storage
External Memory Storage library for Arduino
AT24C128 Class Reference

#include <AT24CXX.h>

Inheritance diagram for AT24C128:
Inheritance graph
Collaboration diagram for AT24C128:
Collaboration graph

Public Member Functions

 AT24C128 (TWI &twi, uint8_t subaddr=0)
 
bool is_ready ()
 
virtual int read (void *dst, uint32_t src, size_t count)
 
virtual int write (uint32_t dst, const void *src, size_t count)
 
uint32_t room ()
 
uint32_t alloc (size_t count)
 
void free (uint32_t addr)
 

Public Attributes

const uint16_t PAGE_MAX
 
const uint32_t SIZE
 

Protected Attributes

const uint16_t PAGE_MASK
 
uint32_t m_addr
 

Static Protected Attributes

static const uint8_t RETRY_MAX = 20
 
static const uint8_t RETRY_DELAY_MS = 1
 

Detailed Description

The AT24C128 provides 131,072 bits of serial electrically erasable and programmable read only memory (EEPROM) organized as 16,384 words of 8 bits each. 64-Byte page write mode.

See Atmel Product description (Rev. 0670T–SEEPR–3/07), http://www.atmel.com/Images/doc0670.pdf

Definition at line 189 of file AT24CXX.h.

Constructor & Destructor Documentation

AT24C128::AT24C128 ( TWI &  twi,
uint8_t  subaddr = 0 
)
inline

Definition at line 191 of file AT24CXX.h.

Member Function Documentation

uint32_t Storage::alloc ( size_t  count)
inlineinherited

Allocate block with given number of bytes on storage. Returns storage address if successful otherwise UINT32_MAX.

Parameters
[in]countnumber of bytes.
Returns
address of allocated block, otherwise UINT32_MAX.

Definition at line 53 of file Storage.h.

void Storage::free ( uint32_t  addr)
inlineinherited

Reset allocation point to given address.

Parameters
[in]addraddress of allocated block.

Definition at line 65 of file Storage.h.

bool AT24CXX::is_ready ( )
inlineinherited

Return true(1) if the device is ready, write cycle is completed, otherwise false(0).

Returns
bool.

Definition at line 62 of file AT24CXX.h.

virtual int AT24CXX::read ( void *  dst,
uint32_t  src,
size_t  count 
)
inlinevirtualinherited

Read eeprom block with the given size into the buffer from the address. Return number of bytes read or negative error code.

Parameters
[in]dstbuffer to read from eeprom.
[in]srcaddress in eeprom to read from.
[in]countnumber of bytes to read.
Returns
number of bytes or negative error code.

Implements Storage.

Definition at line 79 of file AT24CXX.h.

uint32_t Storage::room ( )
inlineinherited

Returns number of bytes that may be allocated.

Returns
number of bytes.

Definition at line 42 of file Storage.h.

virtual int AT24CXX::write ( uint32_t  dst,
const void *  src,
size_t  count 
)
inlinevirtualinherited

Write eeprom block at given address with the contents from the buffer. Return number of bytes written or negative error code.

Parameters
[in]dstaddress in eeprom to read write to.
[in]srcbuffer to write to eeprom.
[in]countnumber of bytes to write.
Returns
number of bytes or negative error code.

Implements Storage.

Definition at line 106 of file AT24CXX.h.

Member Data Documentation

uint32_t Storage::m_addr
protectedinherited

Address of the next allocation.

Definition at line 398 of file Storage.h.

const uint16_t AT24CXX::PAGE_MASK
protectedinherited

Memory addres page mask.

Definition at line 139 of file AT24CXX.h.

const uint16_t AT24CXX::PAGE_MAX
inherited

Number of bytes in max write page size.

Definition at line 55 of file AT24CXX.h.

const uint8_t AT24CXX::RETRY_DELAY_MS = 1
staticprotectedinherited

Retry delay time: 1 ms

Definition at line 145 of file AT24CXX.h.

const uint8_t AT24CXX::RETRY_MAX = 20
staticprotectedinherited

Maximum number of read/write page retries: 20 ms

Definition at line 142 of file AT24CXX.h.

const uint32_t Storage::SIZE
inherited

Number of bytes on device.

Definition at line 30 of file Storage.h.


The documentation for this class was generated from the following file: