9#ifndef PHYPHOX_BLE_CORE_EXPERIMENTSTORE_H
10#define PHYPHOX_BLE_CORE_EXPERIMENTSTORE_H
59 uint8_t* block_ =
nullptr;
60 size_t blockSize_ = 0;
62 void* channelStorage_ =
nullptr;
63 uint16_t* partTable_ =
nullptr;
64 uint8_t inputChannelsUsed_ = 0;
Definition phyphoxBleExperiment.h:34
Definition ExperimentStore.h:31
uint8_t inputChannelsUsed() const
Highest input channel in use (so the serializer emits only what exists).
Definition ExperimentStore.h:49
void buildDefault()
The experiment served when a sketch calls start() without addExperiment(): one view with a graph of c...
~ExperimentStore()
Definition ExperimentStore.h:55
size_t blockSize() const
bytes allocated
Definition ExperimentStore.h:50
bool copyFrom(const PhyphoxBleExperiment &exp)
Measures, allocates and deep-copies the builder into the block; assigns characteristics; validates ch...
void * channelStorage() const
Storage inside the block for the ChannelStore (ChannelStore::bytesNeeded(inputChannelsUsed())).
Definition ExperimentStore.h:52
const ExperimentData & data() const
Definition ExperimentStore.h:44
static size_t bytesNeeded(const PhyphoxBleExperiment &exp)
Bytes the copy of exp needs (what copyFrom() would allocate) — for the size report.
uint16_t * partTable() const
Storage inside the block for the serializer's part table (viewCount + 3 entries).
Definition ExperimentStore.h:54
ExperimentData & data()
Definition ExperimentStore.h:45
const InputChannelInfo & input(uint8_t channel) const
1 … inputChannelsUsed()
Definition ChannelStore.h:11
The whole experiment.
Definition ElementData.h:211