57 Commits
Author SHA1 Message Date
Rob TillaartandGitHub 86a5017fa9 fix #83, update readme.md (#85)
- fix #83, update readme.md (thanks to TonyRiddiough)
- add calculatePageSize(deviceSize) to replace getPageSize(deviceSize) prep.
- update GitHub actions
- minor update examples
- minor edits
1.9.4
2025-09-01 10:05:59 +02:00
Rob TillaartandGitHub 86228c599f update readme.md (#84)
- update readme.md
1.9.3
2025-08-01 11:43:10 +02:00
Rob TillaartandGitHub e57418ba44 update version to 1.9.2 (#81) 1.9.2 2024-11-25 08:54:43 +01:00
ekinohitoandGitHub bb84b19faf Fix RobTillaart/I2C_EEPROM#79 (#80) 2024-11-25 08:36:16 +01:00
Rob TillaartandGitHub 43f4886a91 fix #77, updateBlock() returns bytes written (#78)
- fix #77, updateBlock() returns bytes actually written.
- minor edits
1.9.1
2024-10-26 20:10:46 +02:00
Rob TillaartandGitHub 8cb180d081 Fix #74, memory leak in verifyBlock() (#75)
- Fix #74, memory leak in setBlockVerify()
1.9.0
2024-10-09 09:38:39 +02:00
Rob TillaartandGitHub 0de303ff95 Fix #72, parameter type requestFrom() (#73)
- Fix #72, force requestFrom parameters to use int type
1.8.5
2024-04-22 18:38:03 +02:00
Rob TillaartandGitHub 6c3cb3081c Fix #70, increase internal lengths allowed (#71)
- Fix #70, increase length internal buffer.
- add compile time flag **EN_AUTO_WRITE_PROTECT** (thanks to microfoundry)
- improve readability: cnt => count  addr => address
- add URL to examples
- minor edits.
1.8.4
2024-04-21 10:57:04 +02:00
Rob Tillaart d5ad5ce16d update GitHub actions 2024-04-13 11:04:46 +02:00
Rob TillaartandGitHub f3e70ff3cf implement verifyBlock (#67)
- Fix #64, compiler warning.
- add **verifyBlock(memoryAddress, buffer, length)**
- add example **I2C_eeprom_verifyBlock.ino**
- update GitHub actions
- update keywords.txt
- update examples
- update readme.md
1.8.3
2024-03-28 10:35:30 +01:00
Thijs TriemstraandGitHub af9448c770 doc: update vcc schematic (#65) 2024-03-27 20:52:07 +01:00
ee4d38aac7 Improved determineNoWrite, removed static references to Serial (#63)
* Improved  determineNoWrite, now works with larger EEPROMS. tested with AT24C02, AT24C23 and AT24C256
* Added loop exit, updated license and changelog

---------

Co-authored-by: Roeland Kluit <roeland@kluit.net>
1.8.2
2024-01-02 16:07:19 +01:00
Rob TillaartandGitHub 42cdf1a95e add determineSizeNoWrite() (#62)
- add **uint32_t determineSizeNoWrite()**, kudos to roelandkluit
- add example
- minor edits
1.8.1
2023-12-14 11:56:20 +01:00
0248508109 Added read only function to determine device size. (#61)
Co-authored-by: Roeland Kluit <roeland@kluit.net>
2023-12-14 11:26:14 +01:00
Rob TillaartandGitHub ff21bd6cdc simplify begin() (#60)
- simplify **begin()**, remove setting Wire pins from library.
- add **getAddress()**
- update readme.md
- update examples
1.8.0
2023-11-25 13:19:42 +01:00
Emmett BrownandGitHub 54cf6bee85 Prevent eternal loop in_eeprom::setPageSize with size 128 (#59) 2023-11-20 19:30:09 +01:00
Rob TillaartandGitHub e7c5075c36 add WP writeProtect support (#58)
- solve #57 add support for WriteProtectPin
- add writeProtectPin as optional parameter in **begin()**
- add **bool hasWriteProtectPin()**
- add **void allowWrite()**
- add **void preventWrite()**
- add **void setAutoWriteProtect(bool b)**
- add **bool getAutoWriteProtect()**
- optimized **waitEEReady()**
- update keywords.txt
- update readme.md
1.7.4
2023-09-08 11:31:51 +02:00
Rob TillaartandGitHub a13ec203ef fix #55, redo #53 (#56)
- fix #55 ==> redo fix #53
  - add test to detect **MBED** and **RP2040**
- adjust **I2C_BUFFERSIZE** for RP2040 to 128.
- update readme.md
1.7.3
2023-05-11 12:26:57 +02:00
Rob TillaartandGitHub c4400ea101 fix #53 PICO_RP2040 support (#54)
- fix #53 support RP2040 (kudos to jotamachuca)
- move code from .h to .cpp
- make I2C_WRITEDELAY overridable
- minor edits
1.7.2
2023-05-02 13:02:17 +02:00
Rob TillaartandGitHub d26182c753 add setDeviceSize() setPageSize() (#51)
- add setDeviceSize() 
- add setPageSize()
- use setDeviceSize() in constructor to force power of 2.
- update unit test
- update GitHub actions
- update license
- update readme.md
- minor edits
1.7.1
2023-01-12 17:49:13 +01:00
rob tillaart b61c5f9c0a update GitHub actions 2023-01-03 19:33:38 +01:00
rob tillaart 8caac3eb91 update license to 2023 2023-01-03 19:23:25 +01:00
Rob TillaartandGitHub 8f530b6d8f fix #48 constructor (#49)
* fix #48
1.7.0
2022-12-03 12:37:49 +01:00
Rob TillaartandGitHub 4db0ca9815 add changelog.md + optimize yield() calls (#47)
* add changelog.md
* optimize yield() calls
* update readme.md
1.6.2
2022-10-31 16:51:06 +01:00
Rob TillaartandGitHub 9001ab38c7 fix build (#45) 2022-08-04 13:08:29 +02:00
rob tillaart 803147a945 add GitHub sponsor button 2022-08-03 21:13:26 +02:00
Rob TillaartandGitHub a39c7a1bc2 update documentation + minor edits (#43)
* update documentation + minor edits
* add verify performance test sketch
1.6.1
2022-06-12 12:42:42 +02:00
Rob TillaartandGitHub f80f4eea31 add write with verify functions (#41)
* add write with verify functions
1.6.0
2022-06-03 12:52:34 +02:00
Rob TillaartandGitHub 1a6461a7dd update library.json, license, minor edits (#37) 1.5.2 2021-12-19 20:01:34 +01:00
Ivan KravetsandGitHub 7eae2b7ba2 Declare header files for PlatformIO (#36) 2021-11-19 12:19:55 +01:00
Rob TillaartandGitHub 5adbe66a14 Develop (#35)
* build-CI + badges
* add setExtraWriteCycleTIme() to adjust some timing.
1.5.1
2021-11-04 16:52:26 +01:00
rob tillaart 710e1d1fb1 fix bug in example 2021-07-29 18:00:41 +02:00
Rob TillaartandGitHub 1cd0bdaf07 1.5.0 fix memory address for 24LC04/08/16 (#29)
* 1.5.0 #28 fix addressing 24LC04/08/16
1.5.0
2021-07-01 10:05:27 +02:00
Rob TillaartandGitHub 23c86332ee fix #6 add unit tests (#27) 2021-06-13 16:59:58 +02:00
rob tillaart acb263880a add license to library.json 2021-05-28 14:12:36 +02:00
rob tillaart a0826324f9 add arduino-lint check 2021-05-27 23:11:24 +02:00
rob tillaart 8454c12512 add arduino-lint check 2021-05-27 18:40:46 +02:00
Rob TillaartandGitHub 0e3c2e26c7 adjust buffer size AVR / ESP +rename (#26) 1.4.3 2021-05-05 14:09:36 +02:00
rob tillaart 65312aedeb add json check 2021-04-07 11:41:20 +02:00
Rob TillaartandGitHub d0f8385bc4 1.4.2 add updateBlock() (#23) 1.4.2 2021-01-31 16:27:13 +01:00
Rob TillaartandGitHub 692f1a3004 fix #21 addressing ST m24C08 et al + WireN support (#22)
* fix #21 addressing ST m24C08 et al + WireN support
1.4.1
2021-01-29 10:53:04 +01:00
Rob TillaartandGitHub 2d60816fe8 1.4.0 (#20)
* 1.4.0
1.4.0
2021-01-28 13:19:24 +01:00
Rob TillaartandGitHub 63faf48a13 Fix determineSize + some refactor (#16)
* 1.3.2 fix determineSize + isConnected()
* update readme.md
1.3.2
2021-01-19 11:41:40 +01:00
rob tillaart 24fbd0d7a7 fix unit test 2021-01-16 19:56:53 +01:00
rob tillaart ae6ba4dc26 update license 2021-01-14 21:18:29 +01:00
Tomas HübnerandGitHub e0eba70c85 Test cases for I2C_eeprom initialization (#15)
Added test cases for I2C_eeprom initialization to verify that the page size is chosen correctly and that it sets the address size properly.

Fixed a bug with the larger eeprom sizes having incorrect intervals.
2021-01-08 14:46:57 +01:00
Tomas HübnerandGitHub 5bfc57b1d2 Bug fixes and unit tests (#14)
Added unit tests for I2C_eeprom_cyclic_store and fixed a bug in the format() method and a possible bug with the "empty" marker literal being expressed as ~0UL (which isn't necessarily the same size as a uint32_t).
2021-01-07 18:05:51 +01:00
Tomas HübnerandGitHub cd9ea6fb4c Added documentation for I2C_eeprom_cyclic_store (#11)
* Update I2C_eeprom.cpp

Added page sizes for larger memory sizes (still deriving from the ATxxCxxx datasheets)

* Update I2C_eeprom.cpp

* Update I2C_eeprom.cpp

* Added the cyclic store implementation.

* Added an example

* Removed redundant #ifdef in include file.
Added an incude directive for base "I2c_eeprom.h" file to get the Arduino IDE of the Github workflow to compile the file properly.
Added entries to keywords.txt for syntax highlighting the new class and it's members.

* Removed debug code that shouldn't have been left in there.

* Removed reduntant member and changed the type of the _pageSize to 8-bits.

* Changed signature of begin() to match page size data type.

* Made the initialization propagate read failures. Added method to get metrics. Fixed bugs in binary search and wrapping of slot index. Tidied up comments.

* Added the getMetrics() method to keywords.txt for highlighting

* Changed the way getMetrics() works when eeprom is empty.

* Titantompa/readme (#7)

* Added readme for the cyclic store
* Added link from main readme to cyclic store readme.
2021-01-05 10:06:33 +01:00
Tomas HübnerandGitHub 98235dfd82 Addition of a utility class for cycling writes (#8)
I2C_eeprom
*  Added page sizes for larger memory sizes (still deriving from the ATxxCxxx datasheets)

I2C_eeprom_cyclic_store
* Add the cyclic store implementation.
* Add an example for cyclic use of EEPROM.
* Update keywords.txt for syntax highlighting the new class and it's members.
* Changed signature of begin() to match page size data type.
* Add getMetrics() to have an indication about lifetime
2021-01-04 08:33:22 +01:00
Rob TillaartandGitHub 5e12716b9c add example (#7)
Added updateByte() + example + versie 1.3.1
1.3.1
2020-12-22 13:22:44 +01:00