DEENESPTFRRUARHIKOZHNL

структура ara::diag::CounterBased

[SWS_DM_00538] Upstream: RS_Diag_04068

struct CounterBased {...};

Represents the parameters for counter-based debouncing.

Header-Datei#include "ara/diag/monitor_types.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Руководство пользователяСОЗДАНО ИИ

Конфигурирует пороговые значения, величины шагов и значения скачка для устранения дребезга мониторов на основе счетчика.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 60957358c6ec Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Конфигурирует пороговые значения, величины шагов и значения скачка для устранения дребезга мониторов на основе счетчика.

Структура ara::diag::CounterBased определяет пороговые значения, величины шагов и параметры скачка для устранения дребезга диагностических событий на основе счетчика [SWS_DM_00538]. Она инстанцируется приложением и передается в конструктор ara::diag::Monitor для задания критериев квалификации ошибок и исправного состояния [SWS_DM_00549]. Diagnostic Management использует эти параметры для обновления счетчика, если в Diagnostic Extract (DEXT) не сохранены приоритетные данные устранения дребезга.

Контекст

Структура ara::diag::CounterBased представляет параметры конфигурации для устранения дребезга диагностических событий на основе счетчика [SWS_DM_00538] согласно спецификации AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 «Counter-based debouncing». Внутри диагностической подсистемы она служит для обмена параметрами устранения дребезга между применяющей реализацией монитора и Diagnostic Management (DM).

Взаимодействие происходит главным образом через четырех участников интерфейса:

  • Диагностическое приложение инстанцирует и заполняет CounterBased предельными значениями событий.
  • Конструктор монитора ara::diag::Monitor принимает структуру в качестве аргумента конфигурации [SWS_DM_00549] для настройки внутреннего устранения дребезга монитора SWS Diagnostics §8.40.1.1.2.2 «Monitor constructor for Monitors with Monitor-internal debouncing».
  • Diagnostic Extract (DEXT) определяет предшествующие параметры устранения дребезга; если в DEXT существуют подходящие параметры, они обязательно имеют приоритет, и значения, переданные через конструктор, игнорируются DM [SWS_DM_01099].
  • При отсутствии конфигурации DEXT Diagnostic Management оценивает значения из CounterBased [SWS_DM_01101] и ведет специфичный для события счетчик во время выполнения SWS Diagnostics §7.3.4.1.5.1 «Internal debounce counter incrementation».
CounterBasedContext Application Diagnostic Application CounterBased ara::diag::CounterBased Application->CounterBased konfiguriert Monitor ara::diag::Monitor Application->Monitor erzeugt CounterBased->Monitor uebergibt Parameter DM Diagnostic Management Monitor->DM meldet Aktionen DEXT DEXT Konfiguration DEXT->DM konfiguriert vorrangig

Контекстная диаграмма: взаимодействие приложения, монитора, CounterBased, Diagnostic Management и DEXT. Источники: [SWS_DM_00538], [SWS_DM_00549], [SWS_DM_01099], [SWS_DM_01101].

Жизненный цикл

В качестве структуры данных C++ (struct) SWS Diagnostics §8.41.2 «Struct: CounterBased» CounterBased создается применяющим программным компонентом в стеке или куче как чистый контейнер значений. Ее жизненный цикл обычно ограничен фазой конфигурации и инициализации до создания ara::diag::Monitor.

После того как атрибуты определены, структура передается по значению в конструктор Monitor [SWS_DM_00549]. Сама структура не содержит внутреннего динамического состояния и не имеет конечного автомата; непрерывное управление счетчиком возлагается исключительно на Diagnostic Management. Поскольку CounterBased спроектирована как пассивная структура данных и не имеет внутренних механизмов синхронизации, согласно интерпретации конфигурация перед передачей в монитор должна выполняться потоко-локально или синхронизированно.

Путь использования

Типичное использование подразделяется на определение параметров устранения дребезга, передачу в монитор и обработку счетчика во время выполнения:

  1. Приложение создает экземпляр CounterBased и задает предельные значения: failedThreshold для квалификации ошибки [SWS_DM_00621], а также passedThreshold для распознавания исправного состояния [SWS_DM_00622].
  2. Величины шагов определяются через failedStepsize для сообщаемых состояний ошибки [SWS_DM_00623] и passedStepsize для сообщений об исправном состоянии [SWS_DM_00624].
  3. Опционально настраиваются скачкообразные корректировки: через useJumpToFailed [SWS_DM_00627] и failedJumpValue [SWS_DM_00625] активируется скачок к минимальному значению ошибки. Аналогично useJumpToPassed [SWS_DM_00628] и passedJumpValue [SWS_DM_00626] управляют скачками в направлении исправного состояния.
  4. Заполненная структура передается в конструктор Monitor [SWS_DM_00549]. Если определения DEXT отсутствуют, DM использует эти значения [SWS_DM_01101].
  5. Во время выполнения контроль сообщает о действиях монитора через ReportMonitorAction SWS Diagnostics §7.3.4.1.5.1 «Internal debounce counter incrementation». При kPrefailed DM проверяет возможные условия скачка [SWS_DM_00022] и инкрементирует счетчик на failedStepsize [SWS_DM_00875].
  6. Если счетчик достигает failedThreshold, DM классифицирует событие как kFinallyDefective [SWS_DM_00024]. Соответствующее правило действует для сообщений об исправном состоянии посредством passedStepsize [SWS_DM_00876].
Инициализация и подавление дребезга на основе счетчикаApplicationCounterBasedMonitorDiagnostic ManagementUse Case: Конфигурация параметров и создание монитораУстановка порогов, шагов и значений скачкаMonitor(specifier, notifier, counterBased)altDEXT-Parameter vorhandenDEXT-Werte nutzen (CounterBased ignoriert)Параметры DEXT отсутствуютCounterBased-Werte verwendenUse Case: Laufzeit-EntprellungReportMonitorAction(kPrefailed)Ereignisstatus aktualisierenoptuseJumpToFailed == true && Zaehler < failedJumpValueУстановка счетчика в failedJumpValueZaehler um failedStepsize inkrementierenoptZaehler >= failedThresholdОграничение счетчика значением failedThresholdStatus kFinallyDefective setzen

Диаграмма последовательности: процесс от конфигурации параметров и инициализации монитора до квалификации счетчика. Источники: [SWS_DM_00549], [SWS_DM_00875], [SWS_DM_00022], [SWS_DM_00024].

Сценарии ошибок

При использовании CounterBased необходимо учитывать несколько граничных условий и правил приоритета:

  • Конфликт приоритета DEXT: если в DEXT присутствуют параметры устранения дребезга, DM полностью игнорирует параметры, определенные в CounterBased [SWS_DM_01099]. Ошибочная конфигурация возникает тогда, когда разработчики приложений ожидают динамического изменения параметров через конструктор, несмотря на то что активны статические значения DEXT.
  • Отсутствующие значения DEXT: если в DEXT отсутствуют указания, DM обязательно зависит от того, чтобы конструктор предоставил допустимый экземпляр CounterBased [SWS_DM_01101].
  • Превышение порога: если внутренний счетчик устранения дребезга вследствие сложения с failedStepsize возрастает выше порогового значения failedThreshold, DM сбрасывает счетчик точно на это пороговое значение и квалифицирует дефект [SWS_DM_00024], [SWS_DM_00875].
  • Условная логика скачка: если useJumpToFailed установлен, скачок на failedJumpValue совершается только тогда, когда значение счетчика до инкрементирования строго меньше failedJumpValue [SWS_DM_00022]. Для useJumpToPassed аналогично действует правило, что счетчик должен быть больше passedJumpValue [SWS_DM_00023].

Этот руководство базируется на спецификации AUTOSAR Adaptive Platform R25-11 и обобщает требования к устранению дребезга на основе счетчика.

Карта членов

Диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__CounterBased25 «struct» CounterBased + failedJumpValue + failedStepsize + failedThreshold + passedJumpValue + passedStepsize + passedThreshold + useJumpToFailed + useJumpToPassed

Подробный вид

Выберите элемент в оглавлении.

Константы

failedJumpValue переменная

failed to jump value

std::int16_t failedJumpValue;
failedStepsize переменная

Stepsize per pre-failed report.

std::uint16_t failedStepsize;
failedThreshold переменная

Threshold until qualified failed.

std::int16_t failedThreshold;
passedJumpValue переменная

passed to jump value

std::int16_t passedJumpValue;
passedStepsize переменная

Stepsize per pre-passed report.

std::uint16_t passedStepsize;
passedThreshold переменная

Threshold until qualified passed.

std::int16_t passedThreshold;
useJumpToFailed переменная

is jump supported

bool useJumpToFailed;
useJumpToPassed переменная

is jump supported

bool useJumpToPassed;

Документация констант / переменных

переменная failedJumpValue [SWS_DM_00625] Upstream: RS_Diag_04068

std::int16_t failedJumpValue;

failed to jump value

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolfailedJumpValue
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00625
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00625@rel:R25-11#82d91e8b
Content hash
82d91e8b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00625
Status: valid/unmigrated Version: rel:R25-11#dce9c004 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00625@rel:R25-11#dce9c004
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3d8ec9702026-09-30
  • R20-11rel:R20-11#f08528012026-10-14
  • R21-11rel:R21-11#3d8d66772026-10-14
  • R22-11rel:R22-11#4e10bb362026-10-14
  • R23-11rel:R23-11#dce9c0042026-10-14
  • R24-11rel:R24-11#dce9c0042026-10-14
  • R25-11rel:R25-11#dce9c0042026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная failedStepsize [SWS_DM_00623] Upstream: RS_Diag_04068

std::uint16_t failedStepsize;

Stepsize per pre-failed report.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolfailedStepsize
Typstd::uint16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00623
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00623@rel:R25-11#2e195788
Content hash
2e195788
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00623
Status: valid/unmigrated Version: rel:R25-11#dafec4f4 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00623@rel:R25-11#dafec4f4
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d4a093e42026-09-30
  • R20-11rel:R20-11#d8c07df52026-10-14
  • R21-11rel:R21-11#00dbada62026-10-14
  • R22-11rel:R22-11#ad00343e2026-10-14
  • R23-11rel:R23-11#dafec4f42026-10-14
  • R24-11rel:R24-11#dafec4f42026-10-14
  • R25-11rel:R25-11#dafec4f42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная failedThreshold [SWS_DM_00621] Upstream: RS_Diag_04068

std::int16_t failedThreshold;

Threshold until qualified failed.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolfailedThreshold
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00621
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00621@rel:R25-11#ae63de56
Content hash
ae63de56
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00621
Status: valid/unmigrated Version: rel:R25-11#08353fef Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00621@rel:R25-11#08353fef
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#c3037cc02026-09-30
  • R20-11rel:R20-11#25e7cfaa2026-10-14
  • R21-11rel:R21-11#196f4ac32026-10-14
  • R22-11rel:R22-11#6af287f12026-10-14
  • R23-11rel:R23-11#08353fef2026-10-14
  • R24-11rel:R24-11#08353fef2026-10-14
  • R25-11rel:R25-11#08353fef2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная passedJumpValue [SWS_DM_00626] Upstream: RS_Diag_04068

std::int16_t passedJumpValue;

passed to jump value

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolpassedJumpValue
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00626
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00626@rel:R25-11#fffa91fc
Content hash
fffa91fc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00626
Status: valid/unmigrated Version: rel:R25-11#ced89aeb Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00626@rel:R25-11#ced89aeb
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#48fa9fd72026-09-30
  • R20-11rel:R20-11#bca12a352026-10-14
  • R21-11rel:R21-11#ffcfafd22026-10-14
  • R22-11rel:R22-11#06c86bc12026-10-14
  • R23-11rel:R23-11#ced89aeb2026-10-14
  • R24-11rel:R24-11#ced89aeb2026-10-14
  • R25-11rel:R25-11#ced89aeb2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная passedStepsize [SWS_DM_00624] Upstream: RS_Diag_04068

std::uint16_t passedStepsize;

Stepsize per pre-passed report.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolpassedStepsize
Typstd::uint16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00624
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00624@rel:R25-11#ef74ccae
Content hash
ef74ccae
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00624
Status: valid/unmigrated Version: rel:R25-11#9a3eeb83 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00624@rel:R25-11#9a3eeb83
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fe1d69922026-09-30
  • R20-11rel:R20-11#1453700f2026-10-14
  • R21-11rel:R21-11#c63f63342026-10-14
  • R22-11rel:R22-11#4d2e11a52026-10-14
  • R23-11rel:R23-11#9a3eeb832026-10-14
  • R24-11rel:R24-11#9a3eeb832026-10-14
  • R25-11rel:R25-11#9a3eeb832026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная passedThreshold [SWS_DM_00622] Upstream: RS_Diag_04068

std::int16_t passedThreshold;

Threshold until qualified passed.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolpassedThreshold
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00622
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00622@rel:R25-11#79bfbcb3
Content hash
79bfbcb3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00622
Status: valid/unmigrated Version: rel:R25-11#24f4cdaa Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00622@rel:R25-11#24f4cdaa
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ce4c070e2026-09-30
  • R20-11rel:R20-11#a6d5e9c72026-10-14
  • R21-11rel:R21-11#72e5c6f22026-10-14
  • R22-11rel:R22-11#8565f7cc2026-10-14
  • R23-11rel:R23-11#24f4cdaa2026-10-14
  • R24-11rel:R24-11#24f4cdaa2026-10-14
  • R25-11rel:R25-11#24f4cdaa2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная useJumpToFailed [SWS_DM_00627] Upstream: RS_Diag_04068

bool useJumpToFailed;

is jump supported

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymboluseJumpToFailed
Typbool

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00627
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00627@rel:R25-11#a9ed5ff7
Content hash
a9ed5ff7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00627
Status: valid/unmigrated Version: rel:R25-11#3b6a9b1e Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00627@rel:R25-11#3b6a9b1e
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#4e142f5c2026-09-30
  • R20-11rel:R20-11#500659252026-10-14
  • R21-11rel:R21-11#b0c513c82026-10-14
  • R22-11rel:R22-11#fa011c9a2026-10-14
  • R23-11rel:R23-11#3b6a9b1e2026-10-14
  • R24-11rel:R24-11#3b6a9b1e2026-10-14
  • R25-11rel:R25-11#3b6a9b1e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

переменная useJumpToPassed [SWS_DM_00628] Upstream: RS_Diag_04068

bool useJumpToPassed;

is jump supported

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymboluseJumpToPassed
Typbool

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00628
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00628@rel:R25-11#3276e3f2
Content hash
3276e3f2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00628
Status: valid/unmigrated Version: rel:R25-11#6b5a1179 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00628@rel:R25-11#6b5a1179
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#2b7444452026-09-30
  • R20-11rel:R20-11#a21e0a812026-10-14
  • R21-11rel:R21-11#fac6d4792026-10-14
  • R22-11rel:R22-11#a2c3b6d22026-10-14
  • R23-11rel:R23-11#6b5a11792026-10-14
  • R24-11rel:R24-11#6b5a11792026-10-14
  • R25-11rel:R25-11#6b5a11792026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill