Releases: Marzogh/SPIMemory
Releases · Marzogh/SPIMemory
Arduino Library for Winbond Flash Memory Chips
SPIFlash
Please report any bugs in issues.
Change log
v2.4.0
Bugs Squashed:
- Fixed bug preventing writing to Address 0x00
- Fixed bug in _notPrevWritten() which did did not perform a thorough enough check to see if a location had been previously written to.
- Fixed errorchecking bug - it now works for all data types - not just byte/char as previously.
Enhancements & Optimizations:
- Added a function 'error()' to enable users to check for errors generated at any point in their program.
- Optimized writePage() so it doesn't depend on other functions and so runs faster than before.
- Diagnostics.ino now outputs time taken for each function as a part of its and provides additional diagnostic data.
- Now have a common set of private functions - _prep(), _beginSPI(), _nextByte() & _endSPI() - to replace _prepWrite(), _prepRead(), _beginRead(), _readNextByte(), _beginWrite(), _writeNextByte() & _endProcess();
- Changed the way _addressCheck() works. It now checks all addresses involved in writing the data rather than one address block at a time and returns the correct address to write to in case overflow is enabled. Also, this function is now built into _prep().
- Reading and writing using page numbers + offset has been optimised to be faster than before.
- Optimized the way address and error checking is done so its more efficient and uses fewer system resources and runs faster.
- Using this library with an ESP8266 board defaults to using GPIO15 as the Slave Select - unless something different is explicitly specified in the constructor.
Arduino Library for Winbond Flash memory chips
Arduino Library for Winbond Flash memory chips
Arduino Library for Winbond Flash memory chips
SPIFlash
Please report any bugs in issues.
Change log
v2.2.0
- When #RUNDIAGNOSTIC is uncommented, the _troubleshoot() function is now optimised for different µCs
- Added the ability to check if the address has been previously written to before initiating a write
operation. - Added a
sizeofStr()
function to get sizes of String objects, to use with thegetAddress()
function - Fixed a bug with
getAddress()
- Added the ability get the chip's name via
getChipName()
- Diagnostics.ino has been made more and efficient and provides a cleaner Serial output
- Added getAddressEx.ino to show how
getAdress()
works.
Arduino library for Winbond Flash Memory chips
Arduino library for Winbond Flash Memory chips
SPIFlash
All functions have been tested and found to work well on Arduino 1.6.x.
Please report any issues and I will do my best to fix them.
Change log
v 2.1.0
- Arduino Due compatible - refer to wiki for further details
- Fixed bug with write/readByteArray
- Added write/readCharArray
- Added a proper error checking function that gets called when #ifdef RUNDIAGNOSTIC is uncommented in SPIFlash.cpp.
This function returns a verbose error message to the Serial console instead of the terse error codes of the previous version. - The following functions have been deleted to enable bug fixes and uniformity in coding style.
writeBytes()
readBytes()
They have been replaced with readByteArray() and writeByteArray().
Arduino library for Winbond Flash Memory chips
SPIFlash
All functions have been tested and found to work well on Arduino 1.6.x.
Please report any issues and I will do my best to fix them.
Change log
v 2.0.0
- BIG update in terms of speed. Sped up all functions atleast 25x
- Compatible with ATTiny85
- All Read/Write/Erase functions can now take either (page number & offset) or (address) as arguments (Except readPage())
- getAddress() can now return either a 32-bit address or a page number & offset - Refer to Readme.md
- The following functions are deprecated to enable compatibility with other AVR chips.
_printPageBytes()
printPage()
printAllPages()
readSerialStr()
They can be used by uncommenting them in the SPIFlash.cpp file. However, be warned, this particular block of code has only been tested with the Arduino IDE (1.6.5) and only with 8-bit AVR based Arduino boards and will not be supported any further than v2.0.0 of this library
Arduino Library for Winbond Flash memory chips
SPIFlash
All functions have been tested and found to work well on Arduino 1.6.x.
Please report any issues and I will do my best to fix them.
Change log
v 1.3.2
- Added the ability to read and write String objects with a simple high level function readStr() & writeStr()
- Added the ability to getAddress()
- Added the ability to fastRead to every read function as the last boolean argument (defaults to FALSE)
- Changed the example code as given below:
- Modified TestFlash.ino to use 25% less memory
- Struct_writer.ino now writes struct to a random location on the Flash Memory chip.
- Added instructions for real world data storage to Struct_writer.ino
- Diagnostics.ino now provides a cleaner diagnostic readout
Arduino library for Winbond Flash Memory chips
SPIFlash
All functions have been tested and found to work well on Arduino 1.6.x.
Please report any issues and I will do my best to fix them.
Change log
v 1.3.1
- Updated ReadMe.md to fix all errors
- Squashed bugs that threw compilation errors despite successful compilation
- Fixed bug in ReadBytes() that prevented the function from terminating
Arduino library for Winbond Flash Memory chips
SPIFlash
All functions have been tested and found to work well on Arduino 1.6.x.
Please report any issues and I will do my best to fix them.
Change log
v 1.3.0
- Updated ReadMe.md has all information needed to use the library.
- v1.3.0 is faster and lighter than previous versions.
- The library is optimised to work with the following Winbond Flash modules W25X05CL, W25X10BV, W25X20BV, W25X40BV, W25Q80BV, W25Q16BV, W25Q32BV, W25Q64BV, W25Q128BV & W25Q256FV.
- _addressCheck() built into every read/write function.
- _errorCheck() built into every write function.
- The library now supports readAnything() & writeAnything().
- There are now specific functions for reading and writing different types of variables - refer to ReadMe.md for further details.
- All Read/Write functions now carry out a series of checks to keep data corruption to a minimum
- Added a diagnostic function to enable error code generation and checking - Follow instruction in the "Diagnostics.ino" example