File tree 4 files changed +27
-6
lines changed
SampleProjects/TestSomething/test
4 files changed +27
-6
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
8
8
## [ Unreleased]
9
9
### Added
10
- - Support for EEPROM
10
+ - Support for mock EEPROM (but only if board supports it)
11
11
12
12
### Changed
13
13
- Move repository from https://github.com/ianfixes/arduino_ci to https://github.com/Arduino-CI/arduino_ci
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
17
17
### Removed
18
18
19
19
### Fixed
20
+ - Don't define ` ostream& operator<<(nullptr_t) ` if already defined by Apple
20
21
21
22
### Security
22
23
Original file line number Diff line number Diff line change 1
1
#include < ArduinoUnitTests.h>
2
2
#include < Arduino.h>
3
+
4
+ // Only run EEPROM tests if there is hardware support!
5
+ #if defined(EEPROM_SIZE) || (defined(E2END) && E2END)
3
6
#include < EEPROM.h>
4
7
5
8
unittest (length)
6
9
{
7
10
assertEqual (EEPROM_SIZE, EEPROM.length ());
8
11
}
9
12
13
+ #endif
14
+
10
15
unittest_main ()
Original file line number Diff line number Diff line change 4
4
New version by Christopher Andrews 2015.
5
5
6
6
Copy of https://github.com/arduino/ArduinoCore-megaavr/blob/c8a1dd996c783777ec46167cfd8ad3fd2e6df185/libraries/EEPROM/src/EEPROM.h
7
- modified by James Foster 2020 to work with Arduino CI.
7
+ modified by James Foster in 2020 to work with Arduino CI.
8
8
9
9
This library is free software; you can redistribute it and/or
10
10
modify it under the terms of the GNU Lesser General Public
27
27
#include < inttypes.h>
28
28
#include < avr/io.h>
29
29
30
- // I see EEPROM_SIZE defined in various arv/io*.h files; why isn't it defined here?
31
- #define EEPROM_SIZE (4096 )
32
- // Is this all the custom code required?
30
+ // different EEPROM implementations have different macros that leak out
31
+ #if !defined(EEPROM_SIZE) && defined(E2END) && (E2END)
32
+ #define EEPROM_SIZE (E2END + 1 )
33
+ #endif
34
+
35
+ // Does the current board have EEPROM?
36
+ #ifndef EEPROM_SIZE
37
+ // In lieu of an "EEPROM.h not found" error for unsupported boards
38
+ #error "EEPROM library not available for your board"
39
+ #endif
40
+
41
+ // On a real device this would be in hardware, but we have a mock board!
33
42
static uint8_t eeprom[EEPROM_SIZE];
34
43
inline uint8_t eeprom_read_byte ( uint8_t * index ) { return eeprom[(unsigned long ) index % EEPROM_SIZE]; }
35
44
inline void eeprom_write_byte ( uint8_t * index, uint8_t value ) { eeprom[(unsigned long ) index % EEPROM_SIZE] = value; }
36
45
46
+ // Everything following is from the original (referenced above)
47
+
37
48
/* **
38
49
EERef class.
39
50
@@ -152,4 +163,4 @@ struct EEPROMClass{
152
163
};
153
164
154
165
static EEPROMClass EEPROM;
155
- #endif
166
+ #endif
Original file line number Diff line number Diff line change 2
2
3
3
#include < ostream>
4
4
5
+ #if (defined __apple_build_version__) && (__apple_build_version__ >= 12000000)
6
+ // defined in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:223:20
7
+ #else
5
8
inline std::ostream& operator << (std::ostream& out, const std::nullptr_t &np) { return out << " nullptr" ; }
9
+ #endif
You can’t perform that action at this time.
0 commit comments