Go Down

Topic: ExtendedDatabaseLibrary in conjunction with the standard Arduino SD library (Read 1 time) previous topic - next topic

Cybernetician

I want to use this library ExtendedDatabaseLibrary in conjunction with the standard Arduino SD library. I explore function like readblock and writeblock in "SD2CARD.cpp" but still i am confuse how to use them.
I really appreciate your suggestions

The read and write handlers which i want to use for SDcard


Code: [Select]
// Uncomment the line appropriate for your platform
#define TABLE_SIZE 512 // Arduino 168 or greater

// The number of demo records that should be created.  This should be less
// than (TABLE_SIZE - sizeof(EDB_Header)) / sizeof(LogEvent).  If it is higher,
// operations will return EDB_OUT_OF_RANGE for all records outside the usable range.
#define RECORDS_TO_CREATE 10

// Arbitrary record definition for this table.  
// This should be modified to reflect your record needs.
struct LogEvent {
 int id;
 int temperature;
}
logEvent;

// The read and write handlers which i want to use for SDcard
void writer(unsigned long address, byte data)
{
 //EEPROM.write(address, data);
}

byte reader(unsigned long address)
{
 //return EEPROM.read(address);
}

// Create an EDB object with the appropriate write and read handlers
EDB db(&writer, &reader);

void setup()
{
 Serial.begin(9600);
 Serial.println("Extended Database Library + Arduino Internal EEPROM Demo");
 Serial.println();

 db.create(0, TABLE_SIZE, sizeof(logEvent));

 Serial.print("Record Count: "); Serial.println(db.count());

 Serial.println("Creating Records...");
 int recno;
 for (recno = 1; recno <= RECORDS_TO_CREATE; recno++)
 {
   logEvent.id = recno;
   logEvent.temperature = recno * 2;
   db.appendRec(EDB_REC logEvent);
 }

 Serial.print("Record Count: "); Serial.println(db.count());
 for (recno = 1; recno < RECORDS_TO_CREATE; recno++)
 {
   db.readRec(recno, EDB_REC logEvent);
   Serial.print("ID: "); Serial.println(logEvent.id);
   Serial.print("Temp: "); Serial.println(logEvent.temperature);  
 }
}

void loop()
{
}
From Idea To Invention

robtillaart

why not open a file for append and write to it?

With fseek() you can reposition the filepointer if you want to read back from the file
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Cybernetician

Quote
why not open a file for append and write to it?

With fseek() you can reposition the filepointer if you want to read back from the file


will you show me any example related to fseek()
because i did not find it in SD library Arduino 1.0

thankyou for your reply
From Idea To Invention

Cybernetician

#3
Nov 14, 2012, 04:42 am Last Edit: Nov 14, 2012, 04:44 am by Cybernetician Reason: 1
thnx
i find a function which works like "fseek"
"seekSet()"
From Idea To Invention

Go Up