Пример #1
0
// write last buffer to memory
void dfmemSync()
{
    //if currentBufferOffset == 0, then we don't need to write anything to be sync'd
    if(currentBufferOffset != 0){
        dfmemWriteBuffer2MemoryNoErase(nextPage, currentBuffer);
        currentBuffer = (currentBuffer) ? 0 : 1; //Toggle buffer number
        currentBufferOffset = 0; // reset to beginning of buffer
        nextPage++;
    }
}
Пример #2
0
void dfmemSync()
{
    while(!dfmemIsReady());

    //if currentBufferOffset == 0, then we don't need to write anything to be sync'd
    if(currentBufferOffset != 0){
        dfmemWriteBuffer2MemoryNoErase(nextPage, currentBuffer);
        currentBuffer = (currentBuffer) ? 0 : 1; //Toggle buffer number
        currentBufferOffset = 0;
        nextPage++;
    }
}
Пример #3
0
void dfmemSave(unsigned char* data, unsigned int length)
{
    //If this write will fit into the buffer, then just put it there
    if (currentBufferOffset + length >= dfmem_buffersize) {
        dfmemWriteBuffer2MemoryNoErase(nextPage, currentBuffer);
        currentBuffer = (currentBuffer) ? 0 : 1;
        currentBufferOffset = 0;
        nextPage++;
    }

    //We know there won't be an overrun here because of the previous 'if'
    // TODO (fgb) : Shouldn't this happen only when the buffer is full,
    //              probably calling dfmemSync?
    dfmemWriteBuffer(data, length, currentBufferOffset, currentBuffer);
    currentBufferOffset += length;
}