Rename hcore=>smocore
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
#ifndef _EXTROSPECTOR_H
|
||||
#define _EXTROSPECTOR_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <sensors/sensor.h>
|
||||
|
||||
namespace hk {
|
||||
namespace sensors {
|
||||
|
||||
class Extrospector
|
||||
: public Sensor
|
||||
{
|
||||
public:
|
||||
Extrospector(void) = default;
|
||||
~Extrospector() = default;
|
||||
|
||||
public:
|
||||
};
|
||||
|
||||
} // namespace sensors
|
||||
} // namespace hk
|
||||
|
||||
#endif // _EXTROSPECTOR_H
|
||||
@@ -0,0 +1,109 @@
|
||||
#ifndef _INTEROCEPTOR_H
|
||||
#define _INTEROCEPTOR_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <sensors/sensor.h>
|
||||
|
||||
namespace hk {
|
||||
namespace sensors {
|
||||
|
||||
class Interoceptor
|
||||
: public Sensor
|
||||
{
|
||||
public:
|
||||
Interoceptor(uint32_t _id, uint32_t _value = 0)
|
||||
: id(_id), value(_value)
|
||||
{}
|
||||
~Interoceptor() = default;
|
||||
|
||||
public:
|
||||
uint32_t id;
|
||||
uint64_t value;
|
||||
};
|
||||
|
||||
class NeutrinTeroceptor
|
||||
: public Interoceptor
|
||||
{
|
||||
public:
|
||||
NeutrinTeroceptor(uint32_t _id, uint32_t _value = 0)
|
||||
: Interoceptor(_id, _value)
|
||||
{}
|
||||
};
|
||||
|
||||
class IntrinTeroceptor
|
||||
: public Interoceptor
|
||||
{
|
||||
public:
|
||||
static constexpr uint32_t DEFAULT_INDICATION_THRESHOLD = 1;
|
||||
static constexpr uint32_t DEFAULT_ALERT_THRESHOLD = 5;
|
||||
static constexpr uint32_t DEFAULT_OVERLOAD_THRESHOLD = 9;
|
||||
|
||||
IntrinTeroceptor(
|
||||
uint32_t _id,
|
||||
uint32_t _value = 0,
|
||||
uint32_t _indicationThreshold = DEFAULT_INDICATION_THRESHOLD,
|
||||
uint32_t _alertThreshold = DEFAULT_ALERT_THRESHOLD,
|
||||
uint32_t _overloadThreshold = DEFAULT_OVERLOAD_THRESHOLD)
|
||||
: Interoceptor(_id, _value),
|
||||
indicationThreshold(_indicationThreshold),
|
||||
alertThreshold(_alertThreshold),
|
||||
overloadThreshold(_overloadThreshold)
|
||||
{}
|
||||
|
||||
~IntrinTeroceptor() = default;
|
||||
|
||||
public:
|
||||
uint32_t indicationThreshold;
|
||||
uint32_t alertThreshold;
|
||||
uint32_t overloadThreshold;
|
||||
};
|
||||
|
||||
/**
|
||||
* Negtrin and Postrin interoceptors are specialized intrinsic interoceptors
|
||||
* that, unlike neutral interoceptors, have activation thresholds for different
|
||||
* response levels (indication, alert, and overload). These thresholds allow
|
||||
* them to trigger graduated responses based on stimulus intensity.
|
||||
*
|
||||
* While neutral interoceptors simply record a binary state or basic value,
|
||||
* Negtrin and Postrin Interoceptors can model complex sensory responses with
|
||||
* multiple activation levels, similar to biological pain/pleasure responses.
|
||||
* Each threshold represents a different level of urgency or intensity in the
|
||||
* sensory input.
|
||||
*
|
||||
* @see IntrinTeroceptor for the threshold values and implementation details
|
||||
******************************************************************************/
|
||||
|
||||
class NegtrinTeroceptor
|
||||
: public IntrinTeroceptor
|
||||
{
|
||||
public:
|
||||
NegtrinTeroceptor(
|
||||
uint32_t _id,
|
||||
uint32_t _value = 0,
|
||||
uint32_t _indicationThreshold = DEFAULT_INDICATION_THRESHOLD,
|
||||
uint32_t _alertThreshold = DEFAULT_ALERT_THRESHOLD,
|
||||
uint32_t _overloadThreshold = DEFAULT_OVERLOAD_THRESHOLD)
|
||||
: IntrinTeroceptor(_id, _value,
|
||||
_indicationThreshold, _alertThreshold, _overloadThreshold)
|
||||
{}
|
||||
};
|
||||
|
||||
class PostrinTeroceptor
|
||||
: public IntrinTeroceptor
|
||||
{
|
||||
public:
|
||||
PostrinTeroceptor(
|
||||
uint32_t _id,
|
||||
uint32_t _value = 0,
|
||||
uint32_t _indicationThreshold = DEFAULT_INDICATION_THRESHOLD,
|
||||
uint32_t _alertThreshold = DEFAULT_ALERT_THRESHOLD,
|
||||
uint32_t _overloadThreshold = DEFAULT_OVERLOAD_THRESHOLD)
|
||||
: IntrinTeroceptor(_id, _value,
|
||||
_indicationThreshold, _alertThreshold, _overloadThreshold)
|
||||
{}
|
||||
};
|
||||
|
||||
} // namespace sensors
|
||||
} // namespace hk
|
||||
|
||||
#endif // _INTEROCEPTOR_H
|
||||
@@ -0,0 +1,21 @@
|
||||
#ifndef _SENSOR_H
|
||||
#define _SENSOR_H
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace hk {
|
||||
namespace sensors {
|
||||
|
||||
class Sensor
|
||||
{
|
||||
public:
|
||||
Sensor() = default;
|
||||
~Sensor() = default;
|
||||
|
||||
public:
|
||||
};
|
||||
|
||||
} // namespace sensors
|
||||
} // namespace hk
|
||||
|
||||
#endif // _SENSOR_H
|
||||
Reference in New Issue
Block a user