| //Serial.printf("ID: %02X %02X %02X\n", buf[0], buf[1], buf[2]); | //Serial.printf("ID: %02X %02X %02X\n", buf[0], buf[1], buf[2]); | ||||
| } | } | ||||
| void SerialFlashChip::readSerialNumber(uint8_t *buf) //needs room for 8 bytes | |||||
| { | |||||
| if (busy) wait(); | |||||
| SPI.beginTransaction(SPICONFIG); | |||||
| CSASSERT(); | |||||
| SPI.transfer(0x4B); | |||||
| SPI.transfer16(0); | |||||
| SPI.transfer16(0); | |||||
| for (int i=0; i<8; i++) { | |||||
| buf[i] = SPI.transfer(0); | |||||
| } | |||||
| CSRELEASE(); | |||||
| SPI.endTransaction(); | |||||
| // Serial.printf("Serial Number: %02X %02X %02X %02X %02X %02X %02X %02X\n", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]); | |||||
| } | |||||
| uint32_t SerialFlashChip::capacity(const uint8_t *id) | uint32_t SerialFlashChip::capacity(const uint8_t *id) | ||||
| { | { | ||||
| uint32_t n = 1048576; // unknown chips, default to 1 MByte | uint32_t n = 1048576; // unknown chips, default to 1 MByte |