~ubuntu-branches/ubuntu/lucid/avr-libc/lucid

« back to all changes in this revision

Viewing changes to include/eeprom.h

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2005-03-19 11:16:14 UTC
  • mfrom: (1.1.1 upstream) (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050319111614-4g01s2ftv5x5nxf3
Tags: 1:1.2.3-3
* Added build depends on netpbm
* Added build depends on tetex-extra

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
   eeprom.h
3
 
 
4
 
   Contributors:
5
 
     Created by Marek Michalkiewicz <marekm@linux.org.pl>
6
 
 
7
 
   THIS SOFTWARE IS NOT COPYRIGHTED
8
 
 
9
 
   This source code is offered for use in the public domain.  You may
10
 
   use, modify or distribute it freely.
11
 
 
12
 
   This code is distributed in the hope that it will be useful, but
13
 
   WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
14
 
   DISCLAIMED.  This includes but is not limited to warranties of
15
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
 
 */
17
 
 
18
 
#ifndef _EEPROM_H_
19
 
#define _EEPROM_H_ 1
20
 
 
21
 
#define __need_size_t
22
 
#include <stddef.h>
23
 
 
24
 
#include <io.h>
25
 
 
26
 
/* return 1 if EEPROM is ready for a new read/write operation, 0 if not */
27
 
#define eeprom_is_ready() bit_is_clear(EECR, EEWE)
28
 
 
29
 
#ifdef __cplusplus
30
 
extern "C" {
31
 
#endif
32
 
 
33
 
/* read one byte from EEPROM address ADDR */
34
 
extern unsigned char eeprom_rb(unsigned int addr);
35
 
 
36
 
/* read one 16-bit word (little endian) from EEPROM address ADDR */
37
 
extern unsigned int eeprom_rw(unsigned int addr);
38
 
 
39
 
/* write a byte VAL to EEPROM address ADDR */
40
 
extern void eeprom_wb(unsigned int addr, unsigned char val);
41
 
 
42
 
/* read a block of SIZE bytes from EEPROM address ADDR to BUF */
43
 
extern void eeprom_read_block(void *buf, unsigned int addr, size_t n);
44
 
 
45
 
 
46
 
#ifdef __cplusplus
47
 
}
48
 
#endif
49
 
 
50
 
/* IAR C compatibility defines */
51
 
#define _EEPUT(addr, val) eeprom_wb(addr, val)
52
 
#define _EEGET(var, addr) (var) = eeprom_rb(addr)
53
 
 
54
 
#endif /* _EEPROM_H_ */