Skip to content

Releases: Marzogh/SPIMemory

Arduino Library for Winbond Flash Memory Chips

10 Sep 16:35
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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

19 Jun 11:53
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

Please report any bugs in issues.

Change log

v2.3.1

  • W25Q256FV support added. (Thanks Stanislav-Povolotsky!)
  • Cleaned up redundant code in TestFlash.ino and SPIFlash.h that was causing confusion.

Arduino Library for Winbond Flash memory chips

04 Jun 06:04
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

Please report any bugs in issues.

Change log

v2.3.0

  • ESP8266 compatibility added
  • Compatible with Arduino Fio and Micro
  • Now compatible with Arduino IDE v1.6.9
  • Compatible with Arduino-Makefile. (Thanks Raphael!)

Arduino Library for Winbond Flash memory chips

25 Nov 03:13
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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 the getAddress() 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

24 Oct 13:42
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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

v2.1.1

  • Fixed bugs that prevented the following functions from working properly
    • powerDown()
    • powerUp()
    • suspendProg()
    • resumeProg()

Arduino library for Winbond Flash Memory chips

18 Oct 05:11
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license
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

13 Oct 22:33
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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

09 Oct 06:33
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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

02 Sep 07:32
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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

30 Aug 12:25
Compare
Choose a tag to compare

SPIFlash Build Status DOI

GitHub commits
GitHub issues
GitHub pull requests
license

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