AMS Advanced Air Mobility Sensors UG
Loading...
Searching...
No Matches
Building block view

Level 0

BAHRS SW class diagram

Level 1

Target Application is devided into Application Software (ASW), Basic Software (BSW), Runtime Environment (RTE), and library collection.

BAHRS Target Application class diagram

Application software

ASW is a collection of software components that enable the device to perform its main functions.

Basic software

BSW is a collection of software components and libraries that implement generic embedded functionality, such as initialization of peripherals, scheduling, output data transmission, etc.

Runtime Environment

RTE is a middleware that enable safe data exchange between software components. RTE presents a collection of software component ports that are used by software components for data exchange.

Level 2

Basic software

Basic Software Class Diagram

Unlike application software components, basic software components can use HAL APIs.

List of basic software components

  1. BMP384 sensor driver: implemented by CBmp384Driver
  2. BMM150 sensor 1 driver: implemented by CBmm150Driver
  3. BMM150 sensor 2 driver: implemented by CBmm150Driver
  4. SCHA63T sensor driver: implemented by CScha63TDriver
  5. ICM20789 sensor 1 driver: implemented by CIcm20789Driver
  6. ICM20789 sensor 2 driver: implemented by CIcm20789Driver
  7. MMC5983 sensor driver: implemented by CMmc5983Driver
  8. RS232 output handler: implemented by CRs232OutputHandler
  9. CAN handler: implemented by CCanHandler
  10. CAN output handler: implemented by CCanOutputHandler
  11. Sync pulse handler: implemented by CSyncPulseHandler

Runtime environment

Runtime environment (RTE) is a collection of software component (SWC) ports and their attributes. RTE is responsible for initialization of SWC ports. A port is a mutex-protected memory that is used by software components for data exchange. Software component ports are implemented by the template CSoftwareComponentPort. RTE is implemented as a singleton object (CRte) with static memory allocation. SWC ports are private members of CRte. Only selected friend functions and classes are allowed to access SWC ports.

CRte class diagram

Application software

Application software is comprised of multiple software components that implement core functionality of the device. Application software components must not use HAL APIs directly.

List of application software components

  1. IMU Monitor: implemented by CImuMonitorSwc
  2. Barometer monitor: implemented by CBaroMonitorSwc
  3. Magnetometer compensator: implemented by CMagnetometerCompensator
  4. Output transformer: implemented by COutputTransformer
  5. BAHRS filter 1: implemented by CBahrsFilterSwc
  6. BAHRS filter 2: implemented by CBahrsFilterSwc
  7. BAHRS filter 3: implemented by CBahrsFilterSwc
  8. Attitude monitor: implemented by CAttitudeMonitorSwc
  9. Vertical channel monitor: implemented by CVerticalChannelMonitorSwc
  10. Magnetic heading filter: implemented by CMagneticHeadingFilterSwc

Level 3

Application software

UML component diagram

Component diagram: application software

Basic software

UML component diagram

Component diagram: basic software