HiveMind
IInterloc.h
Go to the documentation of this file.
1 #ifndef __IINTERLOC_H__
2 #define __IINTERLOC_H__
3 
4 #include "IInterloc.h"
5 #include "InterlocSettings.h"
6 #include "RelativePosition.h"
7 #include <array>
8 #include <optional>
9 
11  std::array<RelativePosition, MAX_AGENTS_IN_SWARM> m_positions;
13 };
14 
15 class IInterloc {
16  public:
22  virtual std::optional<RelativePosition> getRobotPosition(uint16_t robotId) const = 0;
23 
29  virtual bool isLineOfSight(uint16_t robotId) const = 0;
30 
35  virtual const PositionsTable& getPositionsTable() const = 0;
36 
41  virtual void process() = 0;
42 };
43 
44 #endif //__IINTERLOC_H__
LedTest::~LedTest
~LedTest() override=default
SpiTest::m_readBackBuffer
uint8_t m_readBackBuffer[40]
Definition: DecawaveTests.cpp:99
InterlocManager::m_tfBuffer
tf2_ros::Buffer m_tfBuffer
Definition: InterlocManager.h:39
UserInterface::setHexDisplay
void setHexDisplay(uint8_t value) override
Sets the hex display to a given 8 bit value (not available on the HiveSight)
Definition: UserInterface.cpp:92
BSP::m_rosWatchTask
BaseTask< 2 *configMINIMAL_STACK_SIZE > m_rosWatchTask
Definition: BSP.h:24
IInterlocManager
Definition: IInterlocManager.h:16
InterlocManager
Definition: InterlocManager.h:12
Math::log10
float log10(float x)
Calculates the logarithm base 10.
Definition: Math.cpp:32
PositionsTable
Definition: IInterloc.h:10
BittyBuzzMathFunctions::sqrt
void sqrt()
Calculates the square root Signature sqrt(arg1)
Definition: BittyBuzzMathFunctions.cpp:156
UserInterface::printLine
int printLine(const char *format,...) override
Provides an interface to print a line to the console or serial port. Flushes the input and adds a new...
Definition: UserInterface.cpp:70
LogLevel::Error
@ Error
LogLevel::Debug
@ Debug
IBSP::getUUId
virtual uint16_t getUUId() const =0
Returns the unique id associated with the board.
SocketFactory::createTCPClient
std::optional< TCPClient > createTCPClient(const char *address, uint32_t port, ILogger &logger)
Definition: SocketFactory.cpp:8
BittyBuzzMathFunctions::log
void log()
Calculates the natural logarithm (ln) Signature log(arg1)
Definition: BittyBuzzMathFunctions.cpp:91
TCPServer::getType
ConnectionType getType() const override
Tells the type of the connection interface.
Definition: TCPServer.cpp:93
IInterloc::getRobotPosition
virtual std::optional< RelativePosition > getRobotPosition(uint16_t robotId) const =0
Returns the last known relative position of a given robot.
TCPServer::m_address
Definition: TCPServer.h:43
TCPClient::isConnected
bool isConnected() const override
Tells if interface is connected and functionning.
Definition: TCPClient.cpp:21
Math::ln
float ln(float x)
Calculates the natural logarithm.
Definition: Math.cpp:30
TCPClient::receive
bool receive(uint8_t *data, uint16_t length) override
Definition: TCPClient.cpp:9
CmdLineArgs::m_argv
char ** m_argv
Definition: IBSP.h:31
main
int main(int argc, char **argv)
Definition: HardwareTests.cpp:8
InterlocUpdate::m_isInLineOfSight
std::optional< bool > m_isInLineOfSight
Definition: InterlocUpdate.h:20
InterlocManager::getHiveboardTf
static tf2::Stamped< tf2::Transform > getHiveboardTf(const geometry_msgs::Pose &poseWorldFrame, const geometry_msgs::TransformStamped &hiveboardToRobotTf)
Definition: InterlocManager.cpp:28
IInterloc::getPositionsTable
virtual const PositionsTable & getPositionsTable() const =0
Returns the position table for all robots in the swarm.
Math::fmin
float fmin(float x, float y)
Return the minimum of it's arguments, either x or y.
Definition: Math.cpp:48
BSPContainer.h
IBSP.h
BSP::m_rng
std::mt19937 m_rng
Definition: BSP.h:26
InterlocUpdate::m_distance
std::optional< float > m_distance
Distance in meters.
Definition: InterlocUpdate.h:13
ILogger::log
virtual LogRet log(LogLevel level, const char *format,...)=0
Logs if the provided level is higher than the current log level (Thread-safe)
ConnectionType
ConnectionType
Definition: ICommInterface.h:6
UserInterface::flush
void flush() override
Adds a newline and flushes the input to the serial port.
Definition: UserInterface.cpp:37
LedTest::LedTest
LedTest(const char *taskName, UBaseType_t priority)
Definition: DecawaveTests.cpp:137
Math::fabs
float fabs(float x)
Return the absolute value.
Definition: Math.cpp:50
g_decaArray
DecawaveArray & g_decaArray
Definition: DecawaveTests.cpp:11
BSPContainer::getUserInterface
IUserInterface & getUserInterface()
Returns an instance of the platform dependent UserInterface.
Definition: BSPContainer.cpp:19
RgbColor::OFF
@ OFF
LoggerContainer.h
Math::floor
float floor(float x)
Floor x downward.
Definition: Math.cpp:38
LED
LED
LED present on the board.
Definition: IUserInterface.h:22
LedTest::m_logger
ILogger & m_logger
Definition: DecawaveTests.cpp:143
BSP::getUUId
uint16_t getUUId() const override
Returns the unique id associated with the board.
Definition: BSP.cpp:40
InterlocManager::m_logger
ILogger & m_logger
Definition: InterlocManager.h:34
TCPClient::m_logger
ILogger & m_logger
Definition: TCPClient.h:31
BSP::BSP
BSP()
Definition: BSP.cpp:23
TCPServer::closeClient
void closeClient()
Definition: TCPServer.cpp:116
interlocRawAngleDataCallbackFunction_t
void(* interlocRawAngleDataCallbackFunction_t)(void *instance, BspInterlocRawAngleData &rawAngleData)
Definition: IInterlocManager.h:13
TxTask::~TxTask
~TxTask() override=default
interlocManagerStateChangeCallbackFunction_t
void(* interlocManagerStateChangeCallbackFunction_t)(void *instance, InterlocStateDTO previousState, InterlocStateDTO newState)
Definition: IInterlocManager.h:10
TxTask
Definition: DecawaveTests.cpp:13
InterlocManager::updateAngleCalculatorParameters
void updateAngleCalculatorParameters(const ConfigureAngleParametersDTO &newParams) override
Definition: InterlocManager.cpp:168
BittyBuzzUserFunctions::delay
void delay()
wait for a certain delay Signature delay(arg1) Warning this function make the whole VM sleep which ca...
Definition: BittyBuzzUserFunctions.cpp:327
TCPServer::m_addressLength
int m_addressLength
Definition: TCPServer.h:42
InterlocContainer.h
LogLevel
LogLevel
The log level used for the logger.
Definition: ILogger.h:9
InterlocManager::setInterlocManagerRawAngleDataCallback
void setInterlocManagerRawAngleDataCallback(interlocRawAngleDataCallbackFunction_t callback, void *context) override
Definition: InterlocManager.cpp:162
Math::ceil
float ceil(float x)
Round x upward.
Definition: Math.cpp:36
Math::tan
float tan(float x)
calculate the tangent
Definition: Math.cpp:12
BittyBuzzMathFunctions::log2
void log2()
Calculates the logarithm base 2 Signature log2(arg1)
Definition: BittyBuzzMathFunctions.cpp:105
InterlocManager::setInterlocManagerState
void setInterlocManagerState(InterlocStateDTO state) override
Definition: InterlocManager.cpp:150
RxTask
Definition: DecawaveTests.cpp:48
InterlocManager::m_sub
ros::Subscriber m_sub
Definition: InterlocManager.h:35
InterlocManager::setInterlocManagerStateChangeCallback
void setInterlocManagerStateChangeCallback(interlocManagerStateChangeCallbackFunction_t callback, void *context) override
Definition: InterlocManager.cpp:156
UserInterface::uiStateToString
std::string uiStateToString()
Definition: UserInterface.cpp:114
ROBOT_CENTER_SUFFIX
#define ROBOT_CENTER_SUFFIX
Definition: InterlocManager.cpp:10
BSP::~BSP
~BSP() override
TCPServer::receive
bool receive(uint8_t *buffer, uint16_t length) override
Definition: TCPServer.cpp:71
SpiTest::m_writeBuffer
uint8_t m_writeBuffer[40]
Definition: DecawaveTests.cpp:98
UserInterface::m_buttonSubscribers
std::array< ros::Subscriber, g_nbrLED > m_buttonSubscribers
Definition: UserInterface.h:43
TxTask::m_numTransmits
int m_numTransmits
Definition: DecawaveTests.cpp:25
RgbColor::YELLOW
@ YELLOW
InterlocManager::getHiveBoardTransform
std::optional< geometry_msgs::TransformStamped > getHiveBoardTransform(const std::string &agentName)
Definition: InterlocManager.cpp:51
UserInterface::setLed
void setLed(LED led, bool state) override
Sets an LED on or off.
Definition: UserInterface.cpp:88
rosWatcher
void rosWatcher(void *param)
Task that kills OS when ROS node is stopped.
Definition: BSP.cpp:13
InterlocManager::configureAngleCalibration
void configureAngleCalibration(uint32_t numberOfFrames) override
Sets the number of frames to accumulate when in angle calibration mode.
Definition: InterlocManager.cpp:154
InterlocContainer::getInterlocUpdateInputQueue
INotificationQueue< InterlocUpdate > & getInterlocUpdateInputQueue()
Gets a queue in which to insert raw position updates from the BSP layer.
Definition: InterlocContainer.cpp:37
Math::round
float round(float x)
Round x.
Definition: Math.cpp:42
SpiTest::m_numWrites
int m_numWrites
Definition: DecawaveTests.cpp:100
UserInterface.h
TCPClient
Definition: TCPClient.h:12
BittyBuzzMathFunctions::tan
void tan()
Calculates the tengent Signature tan(arg1)
Definition: BittyBuzzMathFunctions.cpp:194
Button
Button
Buttons present on the board.
Definition: IUserInterface.h:16
LogLevel::Warn
@ Warn
UIState::m_hexDisplay
uint8_t m_hexDisplay
Definition: UserInterface.h:19
Math::asin
float asin(float x)
calculate the arc sine
Definition: Math.cpp:16
BSPContainer::getInterlocManager
IInterlocManager & getInterlocManager()
Returns an instance of the interloc manager.
Definition: BSPContainer.cpp:24
InterlocUpdate::m_angleOfArrival
std::optional< float > m_angleOfArrival
Angle of the distant agent in the frame of the current agent (in degrees)
Definition: InterlocUpdate.h:18
BittyBuzzMathFunctions::asin
void asin()
Calculates the arc sine Signature asin(arg1)
Definition: BittyBuzzMathFunctions.cpp:206
BittyBuzzMathFunctions::abs
void abs()
Calculates the absolute value Signature abs(arg1)
Definition: BittyBuzzMathFunctions.cpp:33
BSP::m_rosNodeHandle
std::shared_ptr< ros::NodeHandle > m_rosNodeHandle
Definition: BSP.h:23
Math::cos
float cos(float x)
calculate the cosine
Definition: Math.cpp:8
TCPServer::send
bool send(const uint8_t *buffer, uint16_t length) override
Definition: TCPServer.cpp:61
BittyBuzzMathFunctions::exp
void exp()
Calculates e^x Signature exp(x)
Definition: BittyBuzzMathFunctions.cpp:144
RgbColor::RED
@ RED
RgbColor
RgbColor
Possible colors obtainable with an RGB LED.
Definition: IUserInterface.h:11
TCPServer::m_port
int m_port
Definition: TCPServer.h:40
ConnectionType::Ethernet
@ Ethernet
PositionsTable::m_positionsLength
uint16_t m_positionsLength
Definition: IInterloc.h:12
Math.h
IBSP
Definition: IBSP.h:6
SpiTest::SpiTest
SpiTest(const char *taskName, UBaseType_t priority)
Definition: DecawaveTests.cpp:91
InterlocUpdate::m_robotId
uint16_t m_robotId
Definition: InterlocUpdate.h:8
Logger.h
CmdLineArgs::m_argc
int m_argc
Definition: IBSP.h:30
Math::abs
int abs(int x)
Return the absolute value.
Definition: Math.cpp:52
RxTask::m_logger
ILogger & m_logger
Definition: DecawaveTests.cpp:56
LogLevel::Info
@ Info
UserInterface::m_bsp
const IBSP & m_bsp
Definition: UserInterface.h:45
TCPServer::isConnected
bool isConnected() const override
Tells if interface is connected and functionning.
Definition: TCPServer.cpp:82
SpiTest::m_logger
ILogger & m_logger
Definition: DecawaveTests.cpp:97
InterlocUpdate
Definition: InterlocUpdate.h:7
Math::fmax
float fmax(float x, float y)
Return the larger of it's arguments, either x or y.
Definition: Math.cpp:46
HIVEBOARD_SUFFIX
#define HIVEBOARD_SUFFIX
Definition: InterlocManager.cpp:11
SettingsContainer::getBBZVMStepDelayMs
uint16_t getBBZVMStepDelayMs()
Get the delay between each steps of the vm.
Definition: SettingsContainer.cpp:53
UserInterface::m_accumulatedString
std::string m_accumulatedString
Definition: UserInterface.h:46
RgbColor::GREEN
@ GREEN
TCPClient::m_socketFd
const int m_socketFd
Definition: TCPClient.h:32
SpiTest
Definition: DecawaveTests.cpp:89
RgbColor::VIOLET
@ VIOLET
TxTask::m_logger
ILogger & m_logger
Definition: DecawaveTests.cpp:23
colorToChar
char colorToChar(RgbColor color)
Definition: UserInterface.cpp:8
Math::acos
float acos(float x)
calculate the arc cosine
Definition: Math.cpp:14
BSPContainer::getRemoteCommInterface
std::optional< std::reference_wrapper< ICommInterface > > getRemoteCommInterface()
Return an instance of the connected remote comm interface.
Definition: BSPContainer.cpp:65
Math::fdim
float fdim(float x, float y)
Returns the positive difference between x and y.
Definition: Math.cpp:44
TCPClient::send
bool send(const uint8_t *data, uint16_t length) override
Definition: TCPClient.cpp:15
TxTask::task
void task() override
Definition: DecawaveTests.cpp:27
LoggerContainer::getLogger
Logger & getLogger()
Return a reference to the global logger.
Definition: LoggerContainer.cpp:5
convertPoseToTransformStamped
geometry_msgs::TransformStamped convertPoseToTransformStamped(const geometry_msgs::Pose &pose)
Definition: InterlocManager.cpp:17
SocketFactory.h
RxTask::m_rxFrame
UWBRxFrame m_rxFrame
Definition: DecawaveTests.cpp:57
Math::atan2
float atan2(float y, float x)
calculate the arc of x/y
Definition: Math.cpp:20
TCPServer::m_connected
bool m_connected
Definition: TCPServer.h:36
InterlocManager::m_baseLinkToHiveBoardTransforms
std::map< uint16_t, geometry_msgs::TransformStamped > m_baseLinkToHiveBoardTransforms
Definition: InterlocManager.h:37
InterlocManager::m_interlocRefreshDelayMs
uint m_interlocRefreshDelayMs
Definition: InterlocManager.h:36
TxTask::m_buffer
char m_buffer[64]
Definition: DecawaveTests.cpp:24
BittyBuzzMathFunctions::atan
void atan()
Calculates the arc cosine Signature atan(arg1)
Definition: BittyBuzzMathFunctions.cpp:232
AbstractTask
ILogger
A logger class with basic logging capabilities.
Definition: ILogger.h:35
InterlocManager.h
RxTask::RxTask
RxTask(const char *taskName, UBaseType_t priority)
Definition: DecawaveTests.cpp:50
BSPContainer::getHostCommInterface
std::optional< std::reference_wrapper< ICommInterface > > getHostCommInterface()
Return an instance of the connected host comm interface.
Definition: BSPContainer.cpp:30
BittyBuzzMathFunctions::log10
void log10()
Calculates the logarithm base 10 Signature log10(arg1)
Definition: BittyBuzzMathFunctions.cpp:117
UIState::m_rgbLed
RgbColor m_rgbLed
Definition: UserInterface.h:17
InterlocManager::m_interlocUpdateQueue
INotificationQueue< InterlocUpdate > & m_interlocUpdateQueue
Definition: InterlocManager.h:42
TCPClient::close
bool close()
Definition: TCPClient.cpp:23
RelativePosition.h
IInterloc::process
virtual void process()=0
Spins the interloc task checking if any updates happened. Processing them and pushing update values t...
BSPContainer::getBSP
IBSP & getBSP()
Returns an instance of the platform dependent BSP.
Definition: BSPContainer.cpp:13
SettingsContainer::getHostIP
uint8_t getHostIP(char *buf, uint8_t length)
Copies the host IP address into the given buffer.
Definition: SettingsContainer.cpp:26
BittyBuzzMathFunctions::acos
void acos()
Calculates the arc cosine Signature acos(arg1)
Definition: BittyBuzzMathFunctions.cpp:219
LedTest::task
void task() override
Definition: DecawaveTests.cpp:146
LedTest
Definition: DecawaveTests.cpp:135
SettingsContainer::getUUID
uint16_t getUUID()
Returns the UUID of the board.
Definition: SettingsContainer.cpp:12
IBSP::initChip
virtual void initChip(void *args)=0
Initialise the chip for usage. Needs to be called early in the program.
RxTask::~RxTask
~RxTask() override=default
getRosNodeHandle
std::shared_ptr< ros::NodeHandle > getRosNodeHandle()
Definition: SettingsContainer.cpp:5
TCPServer
Definition: TCPServer.h:12
CmdLineArgs
A structure to wrap command line arguments used for certain BSPs.
Definition: IBSP.h:29
InterlocManager::getAngleOfArrival
static double getAngleOfArrival(const tf2::Transform &agentToAgentTransform)
Definition: InterlocManager.cpp:47
RgbColor::BLUE
@ BLUE
UserInterface::setButtonCallback
void setButtonCallback(Button button, buttonCallbackFunction_t callback, void *context) override
Sets the callback associated with a given button press.
Definition: UserInterface.cpp:94
SettingsContainer::getLogLevel
LogLevel getLogLevel()
Get the log level of the application.
Definition: SettingsContainer.cpp:33
TCPServer::listenTask
static void listenTask(void *param)
Definition: TCPServer.cpp:7
SpiTest::task
void task() override
Definition: DecawaveTests.cpp:102
BSP.h
UserInterface::m_uiState
UIState m_uiState
Definition: UserInterface.h:48
UserInterface::print
int print(const char *format,...) override
Provides an interface to print to the console or serial port. The arguments and return values match t...
Definition: UserInterface.cpp:43
MAX_IP_LENGTH
#define MAX_IP_LENGTH
Definition: SettingsContainer.h:8
TCPServer::close
void close()
Definition: TCPServer.cpp:84
IInterloc
Definition: IInterloc.h:15
UserInterface::UserInterface
UserInterface(const IBSP &bsp)
Definition: UserInterface.cpp:33
main
int main(int argc, char **argv)
Definition: DecawaveTests.cpp:171
PositionsTable::m_positions
std::array< RelativePosition, MAX_AGENTS_IN_SWARM > m_positions
Definition: IInterloc.h:11
Math::log2
float log2(float x)
Calculates the logarithm base 2.
Definition: Math.cpp:34
Math::e
const float e
Definition: Math.cpp:6
TCPServer::m_logger
ILogger & m_logger
Definition: TCPServer.h:35
TCPClient::TCPClient
TCPClient(int socket, sockaddr_in address, ILogger &logger)
Definition: TCPClient.cpp:6
UserInterface::setRGBLed
void setRGBLed(RgbColor color) override
Sets the RGB LED to a given color.
Definition: UserInterface.cpp:86
RxTask::task
void task() override
Definition: DecawaveTests.cpp:59
SettingsContainer.h
InterlocManager::InterlocManager
InterlocManager(ILogger &logger, INotificationQueue< InterlocUpdate > &interlocUpdateQueue)
Definition: InterlocManager.cpp:13
UserInterface::m_mutex
Mutex m_mutex
Definition: UserInterface.h:47
TCPServer::waitForClient
void waitForClient()
Definition: TCPServer.cpp:95
BSP::getRosNodeHandle
std::shared_ptr< ros::NodeHandle > getRosNodeHandle()
Definition: BSP.cpp:38
Math::atan
float atan(float x)
calculate the arc tangent
Definition: Math.cpp:18
BSP::m_distribution
std::uniform_int_distribution< uint32_t > m_distribution
Definition: BSP.h:27
IUserInterface
Manages the user interface The user interface can consist of buttons, LED, serial print ports,...
Definition: IUserInterface.h:36
BittyBuzzMathFunctions::pow
void pow()
Calculates the base raised to the power of the exponent. Signature pow(base, exponent)
Definition: BittyBuzzMathFunctions.cpp:130
TCPServer::m_serverFd
int m_serverFd
Definition: TCPServer.h:40
TCPServer.h
BSP
Definition: BSP.h:9
Math::pow
float pow(float base, float exponent)
Calculates the base raised to the power of the exponent.
Definition: Math.cpp:22
InterlocManager::getDistance
static double getDistance(const tf2::Transform &transform)
Definition: InterlocManager.cpp:42
IInterloc::isLineOfSight
virtual bool isLineOfSight(uint16_t robotId) const =0
Tells if a robot is in line of sight.
UIState::m_ledStates
std::array< bool, g_nbrLED > m_ledStates
Definition: UserInterface.h:18
TxTask::TxTask
TxTask(const char *taskName, UBaseType_t priority)
Definition: DecawaveTests.cpp:15
RgbColor::TEAL
@ TEAL
TCPServer::openSocket
bool openSocket(int port)
opens the socket on a certain port
Definition: TCPServer.cpp:20
UserInterface::getPrintMutex
Mutex & getPrintMutex() override
get the mutex for printing. Note that the mutex is not used in any functions, the user needs to lock ...
Definition: UserInterface.cpp:35
InterlocManager::configureTWRCalibration
void configureTWRCalibration(uint16_t distanceCalibCm) override
Sets the targeted distance for calibration.
Definition: InterlocManager.cpp:152
InterlocManager::gazeboUpdateCallback
void gazeboUpdateCallback(const gazebo_msgs::ModelStates &msg)
Definition: InterlocManager.cpp:69
buttonCallbackFunction_t
void(* buttonCallbackFunction_t)(void *instance)
Prototype for a callback from a button press.
Definition: IUserInterface.h:28
TCPServer::m_listenTask
BaseTask< configMINIMAL_STACK_SIZE *2 > m_listenTask
Definition: TCPServer.h:38
BSP::generateRandomNumber
uint32_t generateRandomNumber() override
Returns a positive random number, uses an hardware RNG if available.
Definition: BSP.cpp:42
UserInterface
Definition: UserInterface.h:22
TCPClient.h
Math::cbrt
float cbrt(float x)
Calculates the cube root.
Definition: Math.cpp:26
SettingsContainer::getHostPort
uint32_t getHostPort()
Returns the TCP port on which the host has opened a port.
Definition: SettingsContainer.cpp:19
TCPServer::~TCPServer
~TCPServer() override
Definition: TCPServer.cpp:18
UIState::UIState
UIState()
Definition: UserInterface.cpp:31
BSP::initChip
void initChip(void *args) override
Initialise the chip for usage. Needs to be called early in the program.
Definition: BSP.cpp:30
BittyBuzzMathFunctions::cos
void cos()
Calculates the cosine Signature cos(arg1)
Definition: BittyBuzzMathFunctions.cpp:181
Math::pi
const float pi
Definition: Math.cpp:4
TCPClient::getType
ConnectionType getType() const override
Tells the type of the connection interface.
Definition: TCPClient.cpp:30
IInterloc.h
SpiTest::~SpiTest
~SpiTest() override=default
LoggerContainer
Definition: LoggerContainer.h:6
RgbColor::WHITE
@ WHITE
LedTest::m_ledsToTest
std::array< DW_LED, 2 > m_ledsToTest
Definition: DecawaveTests.cpp:144
TCPClient::m_connected
bool m_connected
Definition: TCPClient.h:34
BittyBuzzMathFunctions::sin
void sin()
Calculates the sine Signature sin(arg1)
Definition: BittyBuzzMathFunctions.cpp:168
Math::fmod
float fmod(float numer, float denom)
Calculates the remainder of numer/denom.
Definition: Math.cpp:40
InterlocManager::startInterloc
void startInterloc() override
Dummy function to demonstrate working DW1000s.
Definition: InterlocManager.cpp:139
Math::sin
float sin(float x)
calculate the sine
Definition: Math.cpp:10
Math::sqrt
float sqrt(float x)
Calculates the square root.
Definition: Math.cpp:24
TCPServer::m_clientFd
std::optional< int > m_clientFd
Definition: TCPServer.h:41
TCPServer::TCPServer
TCPServer(ILogger &logger)
Definition: TCPServer.cpp:12
Math::exp
float exp(float x)
Calculates the exponent.
Definition: Math.cpp:28