![]() |
AMS Advanced Air Mobility Sensors UG
|
CAN Output Handler software component. More...
Classes | |
| struct | SCanFrameHandle |
Public Types | |
| enum class | ECanIds : uint8_t { eBodyLongitudinalAcceleration = 0 , eBodyLateralAcceleration , eBodyNormalAcceleration , eBodyPitchRate , eBodyRollRate , eBodyYawRate , eBodyPitchAngle , eBodyRollAngle , eAltitudeRate , eMagneticHeading , eStandardAltitude , eStaticPressure , eLastMessage } |
| RTE Supported CANAerospace output messages. More... | |
| typedef void(*const | SendFrameFunction_t) () |
| using | CFrameHanleArray = std::array< SCanFrameHandle, skiSupportedFrameCount_ > |
Public Member Functions | |
| void | Init () override |
| bool | IsInitialized () override |
Public Member Functions inherited from CSoftwareComponent< CCanOutputHandler, 1U > | |
| CSoftwareComponent (CSoftwareComponent &)=delete | |
| CSoftwareComponent (CSoftwareComponent &&)=delete | |
| CSoftwareComponent & | operator= (const CSoftwareComponent &orOther)=delete |
| CSoftwareComponent & | operator= (CSoftwareComponent &&orOther)=delete |
| virtual void | Init ()=0 |
| virtual bool | IsInitialized ()=0 |
Static Public Member Functions | |
| static void | SendBodyLongitudinalAcceleration () |
| Compose and send the body longitudinal acceleration. | |
| static void | SendBodyLateralAcceleration () |
| Compose and send the body lateral acceleration. | |
| static void | SendBodyNormalAcceleration () |
| Compose and send the body normal acceleration. | |
| static void | SendBodyPitchRate () |
| Compose and send the body pitch rate. | |
| static void | SendBodyRollRate () |
| Compose and send the body roll rate. | |
| static void | SendBodyYawRate () |
| Compose and send the body yaw rate. | |
| static void | SendBodyPitchAngle () |
| Compose and send the body pitch angle. | |
| static void | SendBodyRollAngle () |
| Compose and send the body roll angle. | |
| static void | SendAltitudeRate () |
| Compose and send the altitude rate. | |
| static void | SendMagneticHeading () |
| Compose and send the magnetic heading. | |
| static void | SendStandardAltitude () |
| Compose and send the standard altitude. | |
| static void | SendStaticPressure () |
| Compose and send the static pressure. | |
| static uint32_t | HerzToMs (uint32_t uFrequency) |
| Provides the period expressed in [ms] for a given frequency. | |
| static const CFrameHanleArray & | GetFrameHandles () |
Static Public Member Functions inherited from CSoftwareComponent< CCanOutputHandler, 1U > | |
| static CCanOutputHandler & | GetInstance (unsigned uInstanceIndex=0U) |
Static Public Attributes | |
| static constexpr int | skiSupportedFrameCount_ {static_cast<int>(ECanIds::eLastMessage)} |
| Number of supported output frames. | |
Static Public Attributes inherited from CSoftwareComponent< CCanOutputHandler, 1U > | |
| static constexpr unsigned | skuInstanceCount_ |
Private Member Functions | |
| CCanOutputHandler (CCanOutputHandler &)=delete | |
| CCanOutputHandler (CCanOutputHandler &&)=delete | |
| CCanOutputHandler & | operator= (const CCanOutputHandler &orOther)=delete |
| CCanOutputHandler & | operator= (CCanOutputHandler &&orOther)=delete |
| CCanOutputHandler () | |
| ~CCanOutputHandler ()=default | |
Static Private Member Functions | |
| static CCanOutputHandler & | getInstanceImpl (unsigned uInstanceIndex) |
| static bool | isSignalInRange (float fSignal, float fSignalMin, float fSignalMax) |
| Check if the signal is in the specified range. | |
Private Attributes | |
| CFrameHanleArray | apFrameHandles_ |
| An array of CAN frame handles. Allows easy looping through all the frames. | |
| bool | bIsInitialized_ { false } |
Static Private Attributes | |
| static constexpr float | skfMaxSpecificForceInG_ {5.0F} |
| static constexpr float | skfMaxAngularRateInDegreesPerSecond_ {300.0F} |
| static constexpr float | skfMaxRollInDegrees_ {180.0F} |
| static constexpr float | skfMaxPitchInDegrees_ {90.0F} |
| static constexpr float | skfMaxHeadingInDegrees_ {180.0F} |
| static constexpr float | skfMaxVelocityDown_ {300.0F} |
| static constexpr float | skfMaxAltitude_ {10000.0F} |
| static constexpr float | skfMinAltitude_ {-1000.0F} |
| static constexpr float | skfMinPressureInHPa_ {300.0F} |
| static constexpr float | skfMaxPressureInHPa_ {1250.0F} |
Friends | |
| class | CSoftwareComponent< CCanOutputHandler, 1U > |
Additional Inherited Members | |
Protected Member Functions inherited from CSoftwareComponent< CCanOutputHandler, 1U > | |
| CSoftwareComponent ()=default | |
| ~CSoftwareComponent ()=default | |
CAN Output Handler software component.
| using CCanOutputHandler::CFrameHanleArray = std::array<SCanFrameHandle, skiSupportedFrameCount_> |
| typedef void(*const CCanOutputHandler::SendFrameFunction_t) () |
|
strong |
RTE Supported CANAerospace output messages.
|
privatedelete |
|
privatedelete |
|
private |
|
privatedefault |
|
static |
Get a reference to the array of CAN output frame handles.
|
staticprivate |
|
static |
Provides the period expressed in [ms] for a given frequency.
|
overridevirtual |
Initialize the software component.
Implements CSoftwareComponent< CCanOutputHandler, 1U >.
|
overridevirtual |
Get initialization status of the software component.
Implements CSoftwareComponent< CCanOutputHandler, 1U >.
|
staticprivate |
Check if the signal is in the specified range.
The function returns false if any of the input arguments is not finite, i. e. is infinity or NaN.
The function returns true if the signal is in the specified range, including MIN and MAX values.
| [in] | fSignal | Signal to check |
| [in] | fSignalMin | Minimum value of the signal |
| [in] | fSignalMax | Maximum value of the signal |
|
privatedelete |
|
privatedelete |
|
static |
Compose and send the altitude rate.
|
static |
Compose and send the body lateral acceleration.
|
static |
Compose and send the body longitudinal acceleration.
|
static |
Compose and send the body normal acceleration.
|
static |
Compose and send the body pitch angle.
|
static |
Compose and send the body pitch rate.
|
static |
Compose and send the body roll angle.
|
static |
Compose and send the body roll rate.
|
static |
Compose and send the body yaw rate.
|
static |
Compose and send the magnetic heading.
|
static |
Compose and send the standard altitude.
|
static |
Compose and send the static pressure.
|
friend |
|
private |
An array of CAN frame handles. Allows easy looping through all the frames.
|
private |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexpr |
Number of supported output frames.