openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches
at24mac.h
Go to the documentation of this file.
1/*
2 * openMMC -- Open Source modular IPM Controller firmware
3 *
4 * Copyright (C) 2015 Henrique Silva <henrique.silva@lnls.br>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
20 */
21
36#ifndef AT24MAC_H_
37#define AT24MAC_H_
38
39//#define AT24_MAC402
40#define AT24MAC602
41
42#define AT24MAC_ID_ADDR 0x80
43
44#if defined(AT24MAC402)
45#define AT24MAC_EUI_ADDR 0x9A
46#elif defined(AT24MAC602)
47#define AT24MAC_EUI_ADDR 0x98
48#endif
49
61size_t at24mac_read( uint8_t id, uint16_t address, uint8_t *rx_data, size_t buf_len, uint32_t timeout );
62
73size_t at24mac_read_serial_num( uint8_t id, uint8_t *rx_data, size_t buf_len, uint32_t timeout );
74
85size_t at24mac_read_eui( uint8_t id, uint8_t *rx_data, size_t buf_len, uint32_t timeout );
86
98size_t at24mac_write( uint8_t id, uint16_t address, uint8_t *tx_data, size_t buf_len, uint32_t timeout );
99
100#endif
size_t at24mac_read(uint8_t id, uint16_t address, uint8_t *rx_data, size_t buf_len, uint32_t timeout)
Read serial data from AT24MAC EEPROM.
Definition at24mac.c:40
size_t at24mac_write(uint8_t id, uint16_t address, uint8_t *tx_data, size_t buf_len, uint32_t timeout)
Write serial data to EEPROM.
Definition at24mac.c:87
size_t at24mac_read_eui(uint8_t id, uint8_t *rx_data, size_t buf_len, uint32_t timeout)
Read EEPROM EUI number.
Definition at24mac.c:70
size_t at24mac_read_serial_num(uint8_t id, uint8_t *rx_data, size_t buf_len, uint32_t timeout)
Read EEPROM serial number.
Definition at24mac.c:54