В Vector CANoe возможно ли определить функцию, которая принимает аргумент системной переменной, например системную функцию TestWaitForSignalMatch()
?
Для моего случая использования недостаточно указать текущее значение системной переменной, потому что я хочу передать системную переменную TestWaitForSignalMatch()
или аналогичным системным функциям.
Справка по CANoe, кажется, показывает примеры:
long TestWaitForSignalMatch (Signal aSignal, float aCompareValue, dword aTimeout); // form 1
long TestWaitForSignalMatch (sysvar aSysVar, float aCompareValue, dword aTimeout); // form 3
Я пробовал вот так
void foo(sysvar aSysvar) {}
^
или это
void foo(sysvar *aSysvar) {}
^
но я получаю ошибку разбора в отмеченной позиции ключевого слова sysvar
в обоих случаях.
Я успешно создал функции, которые принимают аргумент сигнала, но в отличие от синтаксиса в справке CANoe, я должен использовать указатель.
Это работает:
void foo(signal *aSignal) {}
Очевидно, что документация в справке не верна в этом пункте. Это приводит к ошибке разбора после ключевого слова signal
, когда я опускаю *
, как показано в справке:
void bar(signal aSignal) {}
^
Так какой же правильный синтаксис для определения функции, которая принимает аргумент sysvar? (если возможно)
В случае, если версия имеет значение, я сейчас тестирую с CANoe 9.0.53 (SP1), 9.0.135 (SP7) или 10.0.125 (SP6).