In order to use M25P16 transparently - reading and writing byte arrays / string - something like a M25P16 memory manager would be needed... The restrictions look like the UV light erasable EPROMS, where after erasing every bit is 'set' to 1... and 0 can be written electrically. The memory manager would pick an unwritten area and write the new value an mare the old as gone (by clearing bit that is not cleared at initial write).
A function to read and write the status register on SPI eeproms might not be a bad thing to add to the AT25 module, but it's normally superfluous.
For my FRAM/MRAM module I had that, but as @DrAzzy mentions, it is not worth to spend the memory for that by the module, because use is os rare, that a direct accessing the chip is good enough... and the code is very simple, as you can see in this post: id() - id read, sta() - status read, wen() - write enable, wdi() - functions.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
In order to use M25P16 transparently - reading and writing byte arrays / string - something like a M25P16 memory manager would be needed... The restrictions look like the UV light erasable EPROMS, where after erasing every bit is 'set' to 1... and 0 can be written electrically. The memory manager would pick an unwritten area and write the new value an mare the old as gone (by clearing bit that is not cleared at initial write).
For my FRAM/MRAM module I had that, but as @DrAzzy mentions, it is not worth to spend the memory for that by the module, because use is os rare, that a direct accessing the chip is good enough... and the code is very simple, as you can see in this post: id() - id read, sta() - status read, wen() - write enable, wdi() - functions.