This class manages the synchronisation of a remote block of heap memory used by a littlefoot program running on a block. More...
#include <juce_blocks_basics.h>
Classes | |
struct | ChangeMessage |
struct | Diff |
Public Member Functions | |
LittleFootRemoteHeap (uint32 blockSizeToUse) noexcept | |
void | clear () noexcept |
uint8 | getByte (size_t offset) noexcept |
void | handleACKFromDevice (ImplementationClass &bi, uint32 packetIndex) noexcept |
void | invalidateData () noexcept |
bool | isFullySynced () const noexcept |
bool | isProgramLoaded () noexcept |
void | resetDataRangeToUnknown (size_t offset, size_t size) noexcept |
void | resetDeviceStateToUnknown () |
void | sendChanges (ImplementationClass &bi, bool forceSend) |
void | setBits (uint32 startBit, uint32 numBits, uint32 value) noexcept |
void | setByte (size_t offset, uint8 value) noexcept |
void | setBytes (size_t offset, const uint8 *data, size_t num) noexcept |
Static Public Member Functions | |
static bool | isAllZero (const uint8 *data, size_t size) noexcept |
Public Attributes | |
const size_t | blockSize |
Static Public Attributes | |
static constexpr uint16 | unknownByte = 0x100 |
Private Member Functions | |
void | dumpStatus () |
uint16 * | getLatestExpectedDataState () noexcept |
int | getTotalSizeOfMessagesSent () const noexcept |
Private Attributes | |
uint16 | deviceState [ImplementationClass::maxBlockSize] = { 0 } |
uint32 | lastPacketIndexReceived = 0 |
OwnedArray< ChangeMessage > | messagesSent |
bool | needsSyncing = true |
bool | programLoaded = false |
uint32 | programSize = 0 |
bool | programStateKnown = true |
uint8 | targetData [ImplementationClass::maxBlockSize] = { 0 } |
This class manages the synchronisation of a remote block of heap memory used by a littlefoot program running on a block.
Data in the block can be changed by calling setByte, setBytes, setBits etc, and these changes will be flushed to the device when sendChanges is called.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprivate |
|
inlinenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
const size_t juce::littlefoot::LittleFootRemoteHeap< ImplementationClass >::blockSize |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
static |