HiveMind
IInterlocManager.h
Go to the documentation of this file.
1 #ifndef __IINTERLOCMANAGER_H__
2 #define __IINTERLOCMANAGER_H__
3 
5 #include "bsp/InterlocUpdate.h"
6 #include <functional>
7 #include <pheromones/interloc/ConfigureAngleParametersDTO.h>
8 #include <pheromones/interloc/InterlocStateDTO.h>
9 
10 typedef void (*interlocManagerStateChangeCallbackFunction_t)(void* instance,
11  InterlocStateDTO previousState,
12  InterlocStateDTO newState);
13 typedef void (*interlocRawAngleDataCallbackFunction_t)(void* instance,
14  BspInterlocRawAngleData& rawAngleData);
15 
17  public:
18  virtual ~IInterlocManager() = default;
19 
23  virtual void startInterloc() = 0;
24 
25  virtual void setInterlocManagerState(InterlocStateDTO state) = 0;
26 
31  virtual void configureTWRCalibration(uint16_t distanceCalibCm) = 0;
32 
37  virtual void configureAngleCalibration(uint32_t numberOfFrames) = 0;
38 
45  interlocManagerStateChangeCallbackFunction_t callback, void* context) = 0;
46 
53  interlocRawAngleDataCallbackFunction_t callback, void* context) = 0;
54 
59  virtual void updateAngleCalculatorParameters(const ConfigureAngleParametersDTO& newParams) = 0;
60 };
61 
62 #endif //__IINTERLOCMANAGER_H__
IInterlocManager
Definition: IInterlocManager.h:16
IInterlocManager::configureTWRCalibration
virtual void configureTWRCalibration(uint16_t distanceCalibCm)=0
Sets the targeted distance for calibration.
IInterlocManager::startInterloc
virtual void startInterloc()=0
Dummy function to demonstrate working DW1000s.
interlocRawAngleDataCallbackFunction_t
void(* interlocRawAngleDataCallbackFunction_t)(void *instance, BspInterlocRawAngleData &rawAngleData)
Definition: IInterlocManager.h:13
BspInterlocAngleRawData.h
interlocManagerStateChangeCallbackFunction_t
void(* interlocManagerStateChangeCallbackFunction_t)(void *instance, InterlocStateDTO previousState, InterlocStateDTO newState)
Definition: IInterlocManager.h:10
BspInterlocRawAngleData
Definition: BspInterlocAngleRawData.h:24
IInterlocManager::setInterlocManagerState
virtual void setInterlocManagerState(InterlocStateDTO state)=0
IInterlocManager::updateAngleCalculatorParameters
virtual void updateAngleCalculatorParameters(const ConfigureAngleParametersDTO &newParams)=0
IInterlocManager::configureAngleCalibration
virtual void configureAngleCalibration(uint32_t numberOfFrames)=0
Sets the number of frames to accumulate when in angle calibration mode.
IInterlocManager::~IInterlocManager
virtual ~IInterlocManager()=default
InterlocUpdate.h
IInterlocManager::setInterlocManagerRawAngleDataCallback
virtual void setInterlocManagerRawAngleDataCallback(interlocRawAngleDataCallbackFunction_t callback, void *context)=0
IInterlocManager::setInterlocManagerStateChangeCallback
virtual void setInterlocManagerStateChangeCallback(interlocManagerStateChangeCallbackFunction_t callback, void *context)=0