uint8_t EFile::read(uint8_t*buf,uint16_t i_len){ uint16_t len = eeFs->files[m_fileId].size - m_pos; if(len < i_len) i_len = len; len = i_len; while(len) { if(!m_currBlk) break; *buf++ = EeFsGetDat(m_currBlk, m_ofs++); if(m_ofs>=(BS-1)){ m_ofs=0; m_currBlk=EeFsGetLink(m_currBlk); } len--; } m_pos += i_len - len; return i_len - len; }
unsigned int EFile::read(uint8_t *buf, unsigned int i_len) { unsigned int len = IS_ARM(board) ? eeFsArm->files[m_fileId].size : eeFs->files[m_fileId].size; len -= m_pos; if (i_len > len) i_len = len; len = i_len; while(len) { if (!m_currBlk) break; *buf++ = EeFsGetDat(m_currBlk, m_ofs++); if (m_ofs >= (eeFsBlockSize-(IS_ARM(board)? 2 : 1))) { m_ofs = 0; m_currBlk = EeFsGetLink(m_currBlk); } len--; } m_pos += i_len - len; return i_len - len; }
uint8_t EFile::read(uint8_t *buf, uint8_t i_len) { uint16_t len = eeFs.files[m_fileId].size - m_pos; if (i_len > len) i_len = len; uint8_t remaining = i_len; while (remaining) { if (!m_currBlk) break; *buf++ = EeFsGetDat(m_currBlk, m_ofs++); if (m_ofs >= BS-sizeof(blkid_t)) { m_ofs = 0; m_currBlk = EeFsGetLink(m_currBlk); } remaining--; } i_len -= remaining; m_pos += i_len; return i_len; }