mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
84 lines
1.7 KiB
C++
84 lines
1.7 KiB
C++
//
|
|
// FILE: FRAM_readLine.ino
|
|
// AUTHOR: Rob Tillaart
|
|
// PURPOSE: demo to read al line until a newline
|
|
// returned value will include the newline '\n'
|
|
// URL: https://github.com/RobTillaart/FRAM_I2C
|
|
// ISSUE: See issue #30 for some backgrounder.
|
|
|
|
// - fill the FRAM with some text lines
|
|
// - this sketch assumes e.g. produced by FRAM_logging.ino
|
|
// - last written position uint32_t at addres 0..3
|
|
// - log entry: plain text separated by '\n' (newline).
|
|
|
|
|
|
#include "FRAM.h"
|
|
|
|
FRAM fram;
|
|
|
|
uint32_t sizeInBytes = 0;
|
|
|
|
char buffer[32];
|
|
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
Serial.println(__FILE__);
|
|
Serial.print("FRAM_LIB_VERSION: ");
|
|
Serial.println(FRAM_LIB_VERSION);
|
|
|
|
Wire.begin();
|
|
|
|
// Can we find FRAM on the I2C bus?
|
|
int rv = fram.begin(0x50);
|
|
if (rv != 0)
|
|
{
|
|
Serial.print("INIT ERROR: ");
|
|
Serial.println(rv);
|
|
}
|
|
|
|
// Get size in bytes to know when to stop.
|
|
sizeInBytes = fram.getSize() * 1024;
|
|
|
|
// assuming FRAM is filled with FRAM_logging.ino
|
|
// first entry is starts at 0x04 => address next entry is written in [0..3]
|
|
int len = 0;
|
|
uint16_t address = 4;
|
|
len = fram.readLine(address, buffer, 32);
|
|
while ( len >= 0 )
|
|
{
|
|
Serial.print(len);
|
|
Serial.print("\t");
|
|
Serial.print(buffer);
|
|
address = address + len;
|
|
|
|
if (address >= sizeInBytes)
|
|
{
|
|
Serial.println("End of FRAM");
|
|
break;
|
|
}
|
|
len = fram.readLine(address, buffer, 32);
|
|
}
|
|
Serial.println("done");
|
|
|
|
delay(100);
|
|
uint32_t start = micros();
|
|
len = fram.readUntil(0x04, buffer, 32, '\n');
|
|
uint32_t stop = micros();
|
|
Serial.println(stop - start);
|
|
|
|
delay(100);
|
|
start = micros();
|
|
len = fram.readLine(address, buffer, 32);
|
|
stop = micros();
|
|
Serial.println(stop - start);
|
|
}
|
|
|
|
|
|
void loop()
|
|
{
|
|
}
|
|
|
|
// -- END OF FILE --
|