1 #ifndef VIRTMEM_SERIAL_ALLOC_H
2 #define VIRTMEM_SERIAL_ALLOC_H
132 template <
typename IOStream=typeof(Serial),
typename Properties=DefaultAllocProperties>
140 serram_utils::init(stream, baudRate, this->
getPoolSize());
143 void doStop(
void) { }
148 serram_utils::sendReadCommand(stream, serram_utils::CMD_READ);
149 serram_utils::writeUInt32(stream, offset);
150 serram_utils::writeUInt32(stream, size);
152 serram_utils::readBlock(stream, (
char *)data, size);
159 serram_utils::sendWriteCommand(stream, serram_utils::CMD_WRITE);
160 serram_utils::writeUInt32(stream, offset);
161 serram_utils::writeUInt32(stream, size);
162 serram_utils::writeBlock(stream, (
const uint8_t *)data, size);
181 baudRate(baud), stream(s), input(stream) { this->
setPoolSize(ps); }
197 serram_utils::sendReadCommand(stream, serram_utils::CMD_PING);
198 const uint32_t starttime = micros();
199 while (!serram_utils::waitForCommand(stream, serram_utils::CMD_PING, 1000))
201 return micros() - starttime;
216 #endif // VIRTMEM_SERIAL_ALLOC_H
contains all code from virtmem
Definition: base_alloc.cpp:22
Base template class for virtual memory allocators.
Definition: alloc.h:28
void setPoolSize(VPtrSize ps)
Sets the total size of the memory pool.
Definition: base_alloc.h:155
void setBaudRate(uint32_t baud)
Sets the baud rate.
Definition: serial_alloc.h:189
Virtual memory allocator that uses external memory via a serial connection as memory pool...
Definition: serial_alloc.h:133
uint32_t ping(void) const
Send a 'ping' to retrieve a response time. Useful for debugging.
Definition: serial_alloc.h:195
virtual memory class header
This file contains utilities for the serial virtual memory allocator.
SerialVAllocP(VPtrSize ps=VIRTMEM_DEFAULT_POOLSIZE, uint32_t baud=115200, IOStream *s=&Serial)
Constructs (but not initializes) the serial allocator.
Definition: serial_alloc.h:180
uint32_t VPtrSize
Numeric type used to store the size of a virtual memory block.
Definition: base_alloc.h:22
serram_utils::SerialInput< IOStream > input
Handles input of shared serial connections.
Definition: serial_alloc.h:171
SerialVAllocP SerialVAlloc
Shortcut to SerialVAllocP with default template arguments.
Definition: serial_alloc.h:205
VPtrSize getPoolSize(void) const
Returns the size the memory pool.
Definition: base_alloc.h:187
#define VIRTMEM_DEFAULT_POOLSIZE
The default poolsize for allocators supporting a variable sized pool.
Definition: config.h:55