
i think - spi flash id mean manufacturer.
because uint..
can you please support the 64bit unique mac from winbond spi flash too?
suggest:
spi_flash_get_mac
read unique id number ( 4Bh) as 64-bit id
example:
mac is array of char ( hex )
https://lowpowerlab.com/forum/index.php?topic=498.0
byte* MAC = flash.readUniqueId();
for (byte i=0;i<8;i++)
{
Serial.print(MAC[i], HEX);
Serial.print(' ');
}
perhabs you can do this in sdk with function too.
future request?

best wishes
rudi

btw:
examples for arduino:
#define SPIFLASH_MACREAD 0x4B // read unique ID number (MAC)
..
https://github.com/LowPowerLab/SPIFlash ... SPIFlash.h
https://github.com/LowPowerLab/SPIFlash ... IFlash.cpp
byte SPIFlash::UNIQUEID[8];
..
/// Get the manufacturer and device ID bytes (as a short word)
word SPIFlash::readDeviceId()
{
#if defined(__AVR_ATmega32U4__) // Arduino Leonardo, MoteinoLeo
command(SPIFLASH_IDREAD); // Read JEDEC ID
#else
select();
SPI.transfer(SPIFLASH_IDREAD);
#endif
word jedecid = SPI.transfer(0) << 8;
jedecid |= SPI.transfer(0);
unselect();
return jedecid;
}
/// Get the 64 bit unique identifier, stores it in UNIQUEID[8]. Only needs to be called once, ie after initialize
/// Returns the byte pointer to the UNIQUEID byte array
/// Read UNIQUEID like this:
/// flash.readUniqueId(); for (byte i=0;i<8;i++) {
Serial.print(flash.UNIQUEID[i], HEX); Serial.print(' '); }
/// or like this:
/// flash.readUniqueId(); byte* MAC = flash.readUniqueId(); for (byte
i=0;i<8;i++) { Serial.print(MAC[i], HEX); Serial.print(' '); }
byte* SPIFlash::readUniqueId()
{
command(SPIFLASH_MACREAD);
SPI.transfer(0);
SPI.transfer(0);
SPI.transfer(0);
SPI.transfer(0);
for (byte i=0;i<8;i++)
UNIQUEID[i] = SPI.transfer(0);
unselect();
return UNIQUEID;
}