-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathDataFlashInlines.h
105 lines (95 loc) · 2.52 KB
/
DataFlashInlines.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/**************************************************************************//**
* @file DataFlashInlines.h
* @brief File containing definitions for inline methods and functions for the
* Atmel DataFlash Arduino library.
*
* @par Copyright:
* - Copyright (C) 2010-2011 by Vincent Cruz.
* - Copyright (C) 2011 by Volker Kuhlmann. @n
* All rights reserved.
*
* @authors
* - Vincent Cruz @n
* - Volker Kuhlmann @n
* http://volker.top.geek.nz/contact.html
*
* @par Description:
* Please refer to @ref DataFlash.cpp for more informations.
*
* @par History:
* - Version 1.x, 2010-2011.
* - Version 2.0, 30 Aug 2011.
* - Version 2.2, 29 Dec 2011.
*
* @par Licence: GPLv3
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. @n
* @n
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. @n
* @n
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
/**
* @addtogroup AT45DBxxxD
* @{
**/
/**
* Enable device with chipselect.
**/
inline void DataFlash::enable()
{
digitalWrite(m_chipSelectPin, LOW);
}
/**
* Disable device with chipselect.
**/
inline void DataFlash::disable()
{
digitalWrite(m_chipSelectPin, HIGH);
}
/** Get chip Select (CS) pin **/
inline int8_t DataFlash::chipSelectPin () const
{
return m_chipSelectPin;
}
/** Get reset (RESET) pin **/
inline int8_t DataFlash::resetPin () const
{
return m_resetPin;
}
/** Get write protect (WP) pin **/
inline int8_t DataFlash::writeProtectPin() const
{
return m_writeProtectPin;
}
/**
* Compute page address high byte.
*/
inline uint8_t DataFlash::pageToHiU8(uint16_t page) const
{
return page >> (16 - m_bufferSize);
}
/**
* Compute page address low byte.
*/
inline uint8_t DataFlash::pageToLoU8(uint16_t page) const
{
return page << (m_bufferSize - 8);
}
/**
* Same as waitUntilReady
* @todo This method will be removed.
**/
inline void DataFlash::endAndWait()
{
/* Wait for the end of the previous operation. */
waitUntilReady();
}
/** @} **/