59#if defined(__DOXYGEN__)
79inline
void processStartUp(uint8_t phase) __attribute__((always_inline));
84inline
void processVoltage(uint8_t phase) __attribute__((always_inline));;
85inline
void processPolarity(uint8_t phase, int16_t rawSample) __attribute__((always_inline));
86inline
void confirmPolarity(uint8_t phase) __attribute__((always_inline));
container for datalogging
Configuration values to be set by the end-user.
constexpr TemperatureSensing temperatureSensing
constexpr uint8_t NO_OF_DUMPLOADS
constexpr uint8_t NO_OF_PHASES
void initializeProcessing()
Initializes the processing engine, including ports, load states, and ADC setup.
void updatePhysicalLoadStates()
Updates the physical load states based on logical load priorities and states.
void processLatestContribution(uint8_t phase)
Process the latest contribution after each phase-specific new cycle.
void updatePortsStates()
Updates the control ports for each of the physical loads.
void processStartUp(uint8_t phase)
Processes the startup period for the router.
void processStartNewCycle()
Processes the start of a new mains cycle on phase 0.
void processMinusHalfCycle(uint8_t phase)
Processes the start of a new negative half cycle for the specified phase.
void processVoltageRawSample(const uint8_t phase, const int16_t rawSample)
Processes the current voltage raw sample for the specified phase.
void proceedLowEnergyLevel()
Handles the case when the energy level is low, potentially removing a load.
void processPolarity(uint8_t phase, int16_t rawSample)
Processes the polarity of the current voltage sample for a specific phase.
void processRawSamples(const uint8_t phase)
Processes raw voltage and current samples for the specified phase.
uint8_t nextLogicalLoadToBeAdded()
Retrieve the next logical load that could be added.
void processPlusHalfCycle(uint8_t phase)
Process the start of a new positive half cycle for the specified phase.
void processDataLogging()
Process data logging at the end of each logging period.
uint8_t nextLogicalLoadToBeRemoved()
Retrieve the next logical load that could be removed (in reverse order).
void confirmPolarity(uint8_t phase)
Confirms the polarity of the current voltage sample for a specific phase.
void processVoltage(uint8_t phase)
Processes the current voltage sample for the specified phase.
void proceedHighEnergyLevel()
Handles the case when the energy level is high, potentially adding a load.
void processCurrentRawSample(const uint8_t phase, const int16_t rawSample)
Processes the current raw sample for the specified phase.
volatile uint8_t copyOf_lowestNoOfSampleSetsPerMainsCycle
constexpr uint16_t startUpPeriod
constexpr uint8_t PERSISTENCE_FOR_POLARITY_CHANGE
uint8_t loadPrioritiesAndState[NO_OF_DUMPLOADS]
volatile bool b_reOrderLoads
constexpr uint8_t sensorV[NO_OF_PHASES]
constexpr uint8_t sensorI[NO_OF_PHASES]
volatile float copyOf_energyInBucket_main
volatile int32_t copyOf_sumP_atSupplyPoint[NO_OF_PHASES]
volatile int32_t copyOf_sum_Vsquared[NO_OF_PHASES]
volatile uint16_t copyOf_sampleSetsDuringThisDatalogPeriod
volatile bool b_overrideLoadOn[NO_OF_DUMPLOADS]
void printParamsForSelectedOutputMode()
Print the settings used for the selected output mode.
volatile bool b_newMainsCycle
volatile bool b_datalogEventPending
volatile bool b_diversionOff
constexpr uint16_t initialDelay
PayloadTx_struct< NO_OF_PHASES > tx_data
volatile uint16_t absenceOfDivertedEnergyCount
volatile uint16_t copyOf_countLoadON[NO_OF_DUMPLOADS]