21 #ifndef COSA_W25X40CL_HH 22 #define COSA_W25X40CL_HH 50 #if !defined(BOARD_ATTINY) 89 virtual int read(
void* dest, uint32_t src,
size_t size);
102 virtual int erase(uint32_t dest, uint8_t size = 4);
114 virtual int write(uint32_t dest,
const void* src,
size_t size);
125 virtual int write_P(uint32_t dest,
const void* buf,
size_t size);
183 } __attribute__((packed));
virtual int read(void *dest, uint32_t src, size_t size)
static const uint8_t DEVICE
static const size_t PAGE_MAX
uint8_t issue(Command cmd)
static const size_t PAGE_MASK
uint8_t BP
Block Protect Bits.
virtual int write(uint32_t dest, const void *src, size_t size)
uint8_t RESERVED
Reserved.
Release Power-down/Device ID.
virtual int write_P(uint32_t dest, const void *buf, size_t size)
Write Enable for Volatile Status Register.
uint8_t as_uint8
As unsigned 8-bit value.
Read Manufacturer/Device ID Dual I/O.
uint8_t BUSY
< As bit-fields.
status_t(uint8_t value=0)
uint8_t SRP
Status Register Protect.
W25X40CL(Board::DigitalPin csn=Board::D15)
Active low logic during transaction.
static const uint8_t MANUFACTURER
uint8_t WEL
Write Enable Latch.
Divide system clock by 2.
Read Manufacturer/Device ID.
Most significant bit first.
virtual int erase(uint32_t dest, uint8_t size=4)
uint8_t TB
Top/Bottom Protect.
Driver(Board::DigitalPin cs, Pulse pulse=DEFAULT_PULSE, Clock rate=DEFAULT_CLOCK, uint8_t mode=0, Order order=MSB_ORDER, Interrupt::Handler *irq=NULL)
Device(uint32_t bytes, uint16_t count)