![]() |
AMS Advanced Air Mobility Sensors UG
|
The class that describes and implements the BAHRS serial protocol. More...
Classes | |
| struct | SAccuracyData |
| Accuracy message payload. More... | |
| struct | SAccuracyDataMessage |
| Navigation data accuracy message. More... | |
| struct | SHardwareVersionData |
| Payload of the "Hardware version" message. More... | |
| struct | SHardwareVersionMessage |
| struct | SInertialData |
| Inertial data message payload. More... | |
| struct | SInertialDataMessage |
| Inertial data message. More... | |
| struct | SMessageHeader |
| Message header struct. More... | |
| struct | SNavigationData |
| Navigation data message payload. More... | |
| struct | SNavigationDataMessage |
| Navigation data message. More... | |
| struct | SPacketNVMPage |
| Diagnostic message: One NVM page ( both: RX & TX ) More... | |
| struct | SPacketReadNVMPage |
| Diagnostic Mode Messages. More... | |
| struct | SPacketReceiveConfirmation |
| Diagnostic message: confirmation of request processing by the device. More... | |
| struct | SRunnableCallEventData |
| Debug information on runnable call. More... | |
| struct | SRunnableCallEventDebugMessage |
| A debug message with runnable call data. More... | |
| struct | SSoftwareVersionData |
| Payload of the "software version" message. More... | |
| struct | SSoftwareVersionMessage |
| Software version message. More... | |
| struct | STimeOfInertialData |
| Payload of the time of inertial data message. More... | |
| struct | STimeOfInertialDataMessage |
| Time of inertial data message. More... | |
| struct | STimeOfLatestSyncPulse |
| Payload of the "time of the latest pulse" message. More... | |
| struct | STimeOfLatestSyncPulseMessage |
| Time of the latest sync pulse message. More... | |
| struct | STimeOfNavigationData |
| Payload of the "time of navigation data" message. More... | |
| struct | STimeOfNavigationDataMessage |
| Time of navigation data message. More... | |
| struct | SWriteToPortEventPartialData |
| Partial data of the "write to port event". The struct does not include a variable size array of data written to a port. More... | |
Public Types | |
| enum class | EMessageIds : uint8_t { eInvalid = 0x00 , eInertialData = 0x01 , eNavigationData = 0x02 , eAccuracy = 0x03 , eTimeOfNavigationData = 0x04 , eTimeOfInertialData = 0x05 , eTimeOfSyncPulse = 0x06 , eSoftwareVersion = 0x0F , eHardwareVersion = 0x1F , eDebugEventWriteToPort = 0xC0 , eDebugEventRunnableCall = 0xC1 , eTypeOpenDiagnostic = 0xF0 , eTypeCloseDiagnostic = 0xF1 , eTypeReadNVMPage = 0xF2 , eTypeNVMPageData = 0xF3 , eTypeAccept = 0xFF } |
| enum class | ESignalHealthInfo : uint8_t { eUnavailable = 0U , eSafe , eIntegrityRisk } |
| using | CrcType_t = uint32_t |
Public Member Functions | |
| CSerialProtocol ()=default | |
| ~CSerialProtocol ()=default | |
Static Public Attributes | |
| static constexpr uint8_t | uMarker1_ { 0x4E } |
| Sync byte 1, symbol 'N'. | |
| static constexpr uint8_t | uMarker2_ { 0x45 } |
| Sync char 2, symbol 'E'. | |
| static constexpr uint16_t | uVersion_ { 3U } |
| Protocol version. | |
| static constexpr float | skfMaxHeight_ { 10000.0F } |
| static constexpr float | skfMinHeight_ { -1000.0F } |
| static constexpr float | skfMaxVelocityDown_ { 300.0F } |
| static constexpr float | skfMinVelocityDown_ { -300.0F } |
| static constexpr float | skfMaxAngularRate_ { 300.0F * (CMathConstants::skfPi_ / 180.0F) } |
| +-300 [deg/s] in [rad/s] | |
| static constexpr float | skfMaxSpecificForce_ { CGeoConstants::skfGravity * 5.0F } |
| +-5 [g] in [m/s^2] | |
| static constexpr float | skfSpecificForceScale_ { skfMaxSpecificForce_ / static_cast<float>(std::numeric_limits<int16_t>::max()) } |
| Integer to float, +-5g range. | |
| static constexpr float | skfAngularRateScale_ { skfMaxAngularRate_ / static_cast<float>(std::numeric_limits<int16_t>::max()) } |
| Integer to float, +-300 deg/s range. | |
| static constexpr float | skfHeightScale_ { 0.16784924F } |
| Integer to float, -1000 to 10000 m range. | |
| static constexpr float | skfHeighOffset_ { 1000.0F } |
| An offset to convert unsigned integer to float. | |
| static constexpr float | skfVelocityDownScale_ { 9.155413e-3F } |
| Integer to float, -300 to 300 m/s range. | |
| static constexpr float | skfAngleScale_ { 9.587526e-5F } |
| Integer to float, -pi to pi or 0 to 2 pi range. | |
The class that describes and implements the BAHRS serial protocol.
| using CSerialProtocol::CrcType_t = uint32_t |
|
strong |
|
strong |
|
default |
|
default |
|
staticconstexpr |
Integer to float, -pi to pi or 0 to 2 pi range.
|
staticconstexpr |
Integer to float, +-300 deg/s range.
|
staticconstexpr |
An offset to convert unsigned integer to float.
|
staticconstexpr |
Integer to float, -1000 to 10000 m range.
|
staticconstexpr |
+-300 [deg/s] in [rad/s]
|
staticconstexpr |
|
staticconstexpr |
+-5 [g] in [m/s^2]
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Integer to float, +-5g range.
|
staticconstexpr |
Integer to float, -300 to 300 m/s range.
|
staticconstexpr |
Sync byte 1, symbol 'N'.
|
staticconstexpr |
Sync char 2, symbol 'E'.
|
staticconstexpr |
Protocol version.