Driver for the AT25xxx series of EEPROMs.
More...
Driver for the AT25xxx series of EEPROMs.
- Author
- Benjamin Valentin benja.nosp@m.min..nosp@m.valen.nosp@m.tin@.nosp@m.ml-pa.nosp@m..com
Definition in file at25xxx.h.
#include <stdint.h>
#include <stdbool.h>
#include "periph/spi.h"
#include "periph/gpio.h"
Go to the source code of this file.
|
int | at25xxx_init (at25xxx_t *dev, const at25xxx_params_t *params) |
| Initialize an AT25XXX device handle with AT25XXX parameters.
|
|
uint8_t | at25xxx_read_byte (const at25xxx_t *dev, uint32_t pos) |
| Read a byte at a given position pos .
|
|
int | at25xxx_read (const at25xxx_t *dev, uint32_t pos, void *data, size_t len) |
| Sequentially read len bytes from a given position pos .
|
|
void | at25xxx_write_byte (const at25xxx_t *dev, uint32_t pos, uint8_t data) |
| Write a byte at a given position pos .
|
|
int | at25xxx_write (const at25xxx_t *dev, uint32_t pos, const void *data, size_t len) |
| Sequentially write len bytes from a given position pos .
|
|
int | at25xxx_write_page (const at25xxx_t *dev, uint32_t page, uint32_t offset, const void *data, size_t len) |
| Sequentially write len bytes to a given page .
|
|
int | at25xxx_set (const at25xxx_t *dev, uint32_t pos, uint8_t val, size_t len) |
| Set len bytes from a given position pos to the value val .
|
|
int | at25xxx_clear (const at25xxx_t *dev, uint32_t pos, size_t len) |
| Set len bytes from position pos to 0.
|
|
◆ at25xxx_clear()
int at25xxx_clear |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
pos, |
|
|
size_t |
len |
|
) |
| |
Set len
bytes from position pos
to 0.
This is a wrapper around
- See also
- at25xxx_set.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | pos | position in EEPROM memory |
[in] | len | requested length to be written |
- Returns
- 0 on success
-
-ERANGE if pos + len > EEPROM size
◆ at25xxx_init()
Initialize an AT25XXX device handle with AT25XXX parameters.
- Parameters
-
[in,out] | dev | AT25XXX device handle |
[in] | params | AT25XXX parameters |
- Returns
- 0 on success, -1 on failure
◆ at25xxx_read()
int at25xxx_read |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
pos, |
|
|
void * |
data, |
|
|
size_t |
len |
|
) |
| |
Sequentially read len
bytes from a given position pos
.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | pos | position in EEPROM memory |
[out] | data | read buffer |
[in] | len | requested length to be read |
- Returns
- 0 on success
-
-ERANGE if pos + len > EEPROM size
◆ at25xxx_read_byte()
uint8_t at25xxx_read_byte |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
pos |
|
) |
| |
Read a byte at a given position pos
.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | pos | position in EEPROM memory |
- Returns
- read byte
◆ at25xxx_set()
int at25xxx_set |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
pos, |
|
|
uint8_t |
val, |
|
|
size_t |
len |
|
) |
| |
Set len
bytes from a given position pos
to the value val
.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | pos | position in EEPROM memory |
[in] | val | value to be set |
[in] | len | requested length to be written |
- Returns
- 0 on success
-
-ERANGE if pos + len > EEPROM size
◆ at25xxx_write()
int at25xxx_write |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
pos, |
|
|
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
Sequentially write len
bytes from a given position pos
.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | pos | position in EEPROM memory |
[in] | data | write buffer |
[in] | len | requested length to be written |
- Returns
- 0 on success
-
-ERANGE if pos + len > EEPROM size
◆ at25xxx_write_byte()
void at25xxx_write_byte |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
pos, |
|
|
uint8_t |
data |
|
) |
| |
Write a byte at a given position pos
.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | pos | position in EEPROM memory |
[in] | data | value to be written |
◆ at25xxx_write_page()
int at25xxx_write_page |
( |
const at25xxx_t * |
dev, |
|
|
uint32_t |
page, |
|
|
uint32_t |
offset, |
|
|
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
Sequentially write len
bytes to a given page
.
The function will write up to the page boundary and then return.
- Parameters
-
[in] | dev | AT25XXX device handle |
[in] | page | page of EEPROM memory |
[in] | offset | offset from the start of the page, must be < page size |
[in] | data | write buffer |
[in] | len | requested length to be written |
- Returns
- number of bytes written on success
-
error on failure