Main Page | Directories | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

IsoAgLib::iEEPROMIO_c Class Reference

object for communication with the EEPROM, stream read/write operators for all basic types; avoid rewriting same values to EEPROM; manages operations cross segment boundaries More...

#include <ieepromio_c.h>

Inheritance diagram for IsoAgLib::iEEPROMIO_c:

Inheritance graph
[legend]
Collaboration diagram for IsoAgLib::iEEPROMIO_c:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ~iEEPROMIO_c ()
 destructor has nothing to destruct
bool setp (uint16_t rui16_adress)
 set the write position in EEPROM (in Byte); answer if possible if rui16_adress exceeds EEPROM memory ignore setting and set Err_c::range
bool setg (uint16_t rui16_adress)
 set the read position in EEPROM (in Byte); answer if possible if rui16_adress exceeds EEPROM memory ignore setting and set Err_c::range
uint16_t tellp ()
 get the write position in EEPROM (in Byte)
uint16_t tellg ()
 get the read position in EEPROM (in Byte)
bool eofp (uint8_t rui8_length=0, bool rb_setState=false)
 check if write position is at end of EEPROM (parameter specifies needed length for operation -> false means that enough space is there for length bytes of data)
bool eofg (uint8_t rui8_length=0, bool rb_setState=false)
 check if read position is at end of EEPROM (parameter specifies needed length for operation -> false means that enough space is there for length bytes of data)
template<class T> iEEPROMIO_coperator<< (const T &rTemplateVal)
 write a value to EEPROM from actual write position on (tellp() ) by use of template mechanism the correct write implementation is generted for the given parameter type
iEEPROMIO_coperator<< (basic_string< int8_t > &rrefc_val)
 write a text string value to EEPROM from actual write position on (tellp() )
iEEPROMIO_cwriteString (const uint8_t *const rpb_string, uint16_t rui16_number)
 write a uint8_t string value to EEPROM from actual write position on (tellp() )
template<class T> iEEPROMIO_coperator>> (T &rTemplateVal)
 read a value to EEPROM from actual write position on (tellg() ) by use of template mechanism the correct read implementation is generted for the given parameter type
bool readString (uint8_t *const rpb_string, uint16_t rui16_number)
 read operator for strings with given length; uses BIOS function

Static Public Member Functions

uint16_t eepromSize ()
 deliver the size of the whole EEPROM memory in bytes; uses BIOS function (which delivers KB -> mult with 1024)

Friends

iEEPROMIO_cgetIeepromInstance (void)
 allow getIeepromInstance() access to shielded base class.
iEEPROMIO_coperator<< (iEEPROMIO_c &refc_stream, iGetyPos_c &refc_data)
iEEPROMIO_coperator>> (iEEPROMIO_c &refc_stream, iGetyPos_c &refc_data)

Detailed Description

object for communication with the EEPROM, stream read/write operators for all basic types; avoid rewriting same values to EEPROM; manages operations cross segment boundaries

Author:
Dipl.-Inform. Achim Spangler

Definition at line 73 of file ieepromio_c.h.


Constructor & Destructor Documentation

IsoAgLib::iEEPROMIO_c::~iEEPROMIO_c  )  [inline]
 

destructor has nothing to destruct

Definition at line 76 of file ieepromio_c.h.


Member Function Documentation

uint16_t IsoAgLib::iEEPROMIO_c::eepromSize  )  [inline, static]
 

deliver the size of the whole EEPROM memory in bytes; uses BIOS function (which delivers KB -> mult with 1024)

Returns:
size of EEPROM in BYTE

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 87 of file ieepromio_c.h.

References uint16_t.

bool IsoAgLib::iEEPROMIO_c::eofg uint8_t  rui8_length = 0,
bool  rb_setState = false
[inline]
 

check if read position is at end of EEPROM (parameter specifies needed length for operation -> false means that enough space is there for length bytes of data)

possible errors: Err_c::range if rb_setState == true and actual read position is nearer to end of EEPROM than rui8_length byte

Parameters:
rui8_length optional size of uint8_t, which must fit into EEPROM from actual position on (default 0 -> only read mark position tested)
Returns:
false -> read marker is more than rui8_length uint8_t ahead end of EEPROM

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 150 of file ieepromio_c.h.

References uint8_t.

bool IsoAgLib::iEEPROMIO_c::eofp uint8_t  rui8_length = 0,
bool  rb_setState = false
[inline]
 

check if write position is at end of EEPROM (parameter specifies needed length for operation -> false means that enough space is there for length bytes of data)

possible errors: Err_c::range if rb_setState == true and actual write position is nearer to end of EEPROM than rui8_length byte

Parameters:
rui8_length optional size of uint8_t, which must fit into EEPROM from actual position on (default 0 -> only write mark position tested)
Returns:
false -> write marker is more than rui8_length uint8_t ahead end of EEPROM

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 136 of file ieepromio_c.h.

References uint8_t.

iEEPROMIO_c& IsoAgLib::iEEPROMIO_c::operator<< basic_string< int8_t > &  rrefc_val  )  [inline]
 

write a text string value to EEPROM from actual write position on (tellp() )

possible errors: Err_c::range writing position exceeds end of EEPROM Err_c::hwBusy the EEPROM was busy with another action Err_c::eepromSegment low level writing caused segment error

See also:
iEEPROMIO_c::tellp

iEEPROMIO_c::setp

Parameters:
rrefc_val string to write into EEPROM
Returns:
reference to this iEEPROMIO_c instance (for chains like "eeprom << val1 << val2 << ... << val_n;")

Definition at line 190 of file ieepromio_c.h.

References __IsoAgLib::operator<<().

Here is the call graph for this function:

template<class T>
iEEPROMIO_c& IsoAgLib::iEEPROMIO_c::operator<< const T &  rTemplateVal  )  [inline]
 

write a value to EEPROM from actual write position on (tellp() ) by use of template mechanism the correct write implementation is generted for the given parameter type

possible errors: Err_c::range writing position exceeds end of EEPROM Err_c::hwBusy the EEPROM was busy with another action Err_c::eepromSegment low level writing caused segment error

See also:
iEEPROMIO_c::tellp

iEEPROMIO_c::setp

Parameters:
rTemplateVal value of any type to write into EEPROM from actual write position on
Returns:
reference to this iEEPROMIO_c instance (for chains like "eeprom << val1 << val2 << ... << val_n;")

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 174 of file ieepromio_c.h.

References __IsoAgLib::operator<<().

Here is the call graph for this function:

template<class T>
iEEPROMIO_c& IsoAgLib::iEEPROMIO_c::operator>> T &  rTemplateVal  )  [inline]
 

read a value to EEPROM from actual write position on (tellg() ) by use of template mechanism the correct read implementation is generted for the given parameter type

possible errors: Err_c::range reading position exceeds end of EEPROM Err_c::hwBusy the EEPROM was busy with another action Err_c::eepromSegment low level reading caused segment error

See also:
iEEPROMIO_c::tellg

iEEPROMIO_c::setg

Parameters:
rTemplateVal EERPOM data is read into rTemplateVal from actual read position on
Returns:
reference to this iEEPROMIO_c instance (for chains like "eeprom >> val1 >> val2 >> ... >> val_n;")

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 230 of file ieepromio_c.h.

References __IsoAgLib::operator>>().

Here is the call graph for this function:

bool IsoAgLib::iEEPROMIO_c::readString uint8_t *const   rpb_string,
uint16_t  rui16_number
[inline]
 

read operator for strings with given length; uses BIOS function

possible errors: Err_c::range reading position exceeds end of EEPROM Err_c::hwBusy the EEPROM was busy with another reading action Err_c::eepromSegment low level reading caused segment error

See also:
iEEPROMIO_c::tellg

iEEPROMIO_c::setg

Parameters:
rpb_string pointer to uint8_t string, which should be read from actual EEPROM read position on
rui16_number number of uint8_t to read into string
Returns:
true -> read with success

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 247 of file ieepromio_c.h.

References uint16_t, and uint8_t.

bool IsoAgLib::iEEPROMIO_c::setg uint16_t  rui16_adress  )  [inline]
 

set the read position in EEPROM (in Byte); answer if possible if rui16_adress exceeds EEPROM memory ignore setting and set Err_c::range

possible errors: Err_c::range rui16_adress outer the limits of EEPROM memory

Parameters:
rui16_adress position of read mark [uint8_t]
Returns:
true -> setting of read mark without errors

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 111 of file ieepromio_c.h.

References uint16_t.

bool IsoAgLib::iEEPROMIO_c::setp uint16_t  rui16_adress  )  [inline]
 

set the write position in EEPROM (in Byte); answer if possible if rui16_adress exceeds EEPROM memory ignore setting and set Err_c::range

possible errors: Err_c::range rui16_adress outer the limits of EEPROM memory

Parameters:
rui16_adress position of write mark [uint8_t]
Returns:
true -> setting of write mark without errors

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 99 of file ieepromio_c.h.

References uint16_t.

uint16_t IsoAgLib::iEEPROMIO_c::tellg  )  [inline]
 

get the read position in EEPROM (in Byte)

Returns:
position of read mark [uint8_t]

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 123 of file ieepromio_c.h.

References uint16_t.

uint16_t IsoAgLib::iEEPROMIO_c::tellp  )  [inline]
 

get the write position in EEPROM (in Byte)

Returns:
position of write mark [uint8_t]

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 117 of file ieepromio_c.h.

References uint16_t.

iEEPROMIO_c& IsoAgLib::iEEPROMIO_c::writeString const uint8_t *const   rpb_string,
uint16_t  rui16_number
[inline]
 

write a uint8_t string value to EEPROM from actual write position on (tellp() )

possible errors: Err_c::range writing position exceeds end of EEPROM Err_c::busy the EEPROM was busy with another action Err_c::eepromSegment low level writing caused segment error

See also:
EEPROMIO_c::tellp

EEPROMIO_c::setp

Parameters:
rpb_string string to write into EEPROM
rui16_number length of the string to write
Returns:
reference to this EEPROMIO_c instance (for chains like "eeprom << val1 << val2 << ... << val_n;")

Reimplemented from __IsoAgLib::EEPROMIO_c.

Definition at line 207 of file ieepromio_c.h.

References uint16_t, and uint8_t.


Friends And Related Function Documentation

iEEPROMIO_c& getIeepromInstance void   )  [friend]
 

allow getIeepromInstance() access to shielded base class.

otherwise __IsoAgLib::getEepromInstance() wouldn't be accepted by compiler

Definition at line 259 of file ieepromio_c.h.

iEEPROMIO_c& operator<< iEEPROMIO_c refc_stream,
iGetyPos_c refc_data
[friend]
 

Definition at line 260 of file ieepromio_c.h.

iEEPROMIO_c& operator>> iEEPROMIO_c refc_stream,
iGetyPos_c refc_data
[friend]
 

Definition at line 262 of file ieepromio_c.h.


The documentation for this class was generated from the following file:
Generated on Wed Oct 13 15:46:35 2004 for IsoAgLib by  doxygen 1.3.8-20040913