Go2Py_SIM/locomotion/custom/include/SHM.hpp

30 lines
684 B
C++
Raw Normal View History

2024-02-16 07:43:43 +08:00
#pragma once
#include "CommunicationManager.hpp"
#include <sys/ipc.h>
#include <sys/shm.h>
// Randomy chosen key enums
enum SHM_KEYS {
SENSOR_DATA = 123,
2024-03-12 08:55:41 +08:00
MEASUREMENT_DATA = 496,
2024-02-16 07:43:43 +08:00
COMMAND_DATA = 549
};
class SHM : public CommunicationManager {
public:
SHM();
SHM(const DATA_ACCESS_MODE& mode);
SHM(const std::string& name, const DATA_ACCESS_MODE& mode);
~SHM();
// void writeSensorData(const QuadrupedSensorData& sensor_data) override;
// void writeCommandData(const QuadrupedCommandData& cmd_data) override;
private:
std::string m_name;
void InitClass();
void SetupMemory();
void* getSHMPointer(const key_t&, const size_t&);
};