123 lines
3.7 KiB
C
123 lines
3.7 KiB
C
//
|
|
// Created by xemon on 18.11.22.
|
|
//
|
|
|
|
#include "DeviceTesting_Env.h"
|
|
#include "DeviceTesting_TestingMethods.h"
|
|
#include "SpiPortIO.h"
|
|
#include "Accel.h"
|
|
#include "SpiPortNation.h"
|
|
|
|
|
|
#define DEVICE_TESTING_ADD_TEST(NAME, TEST_ENV, TEST_METHOD, MODES) \
|
|
DeviceTestsTableAdd( \
|
|
&env->testsTable, \
|
|
DEVICE_TEST_NAME(NAME), \
|
|
TEST_ENV, \
|
|
(TestMethod) (TEST_METHOD), \
|
|
MODES \
|
|
) \
|
|
|
|
|
|
bool DeviceTests_InitTestsTable(
|
|
tDeviceTesting *env,
|
|
tGpioPin *ignitionPin,
|
|
tAdcIO *speakerAdc,
|
|
tAdcIO *batteryAdc,
|
|
|
|
tAtCmd *gsm,
|
|
tAudioCodec *audioCodec,
|
|
tAccel *accel,
|
|
tAntTest *antCheck
|
|
) {
|
|
|
|
DeviceTestsTableInitStatic(
|
|
&env->testsTable,
|
|
env->testsTableAlloc
|
|
);
|
|
|
|
env->namedTests.firmware = DEVICE_TESTING_ADD_TEST(
|
|
"FIRMWARE", NULL, DeviceTesting_JustOk,
|
|
DEVICE_TESTING_MODE_NOT_ALWAYS |
|
|
DEVICE_TESTING_MODE_IGNITION_WITHOUT_GSM
|
|
);
|
|
|
|
env->namedTests.ignition = DEVICE_TESTING_ADD_TEST(
|
|
"IGNITION",
|
|
ignitionPin,
|
|
DeviceTesting_PinTest,
|
|
DEVICE_TESTING_MODE_ALWAYS |
|
|
DEVICE_TESTING_MODE_IGNITION_WITHOUT_GSM
|
|
);
|
|
|
|
env->namedTests.batteryConn = DEVICE_TESTING_ADD_TEST(
|
|
"BAT_CONNECT",
|
|
batteryAdc,
|
|
DeviceTesting_AdcBatteryConnectionTest,
|
|
DEVICE_TESTING_MODE_ALWAYS |
|
|
DEVICE_TESTING_MODE_PERIODICAL |
|
|
DEVICE_TESTING_MODE_IGNITION_WITHOUT_GSM
|
|
);
|
|
|
|
env->namedTests.batteryCharge = DEVICE_TESTING_ADD_TEST(
|
|
"BAT_CHARGE",
|
|
batteryAdc,
|
|
DeviceTesting_AdcBatteryChargeTest,
|
|
DEVICE_TESTING_MODE_ALWAYS |
|
|
DEVICE_TESTING_MODE_PERIODICAL |
|
|
DEVICE_TESTING_MODE_IGNITION_WITHOUT_GSM
|
|
);
|
|
|
|
if (antCheck->mode == false) {
|
|
env->namedTests.gnssAnt = DEVICE_TESTING_ADD_TEST(
|
|
"GNSS_ANT",
|
|
antCheck,
|
|
DeviceTesting_AntTest,
|
|
DEVICE_TESTING_MODE_ALWAYS |
|
|
DEVICE_TESTING_MODE_PERIODICAL |
|
|
DEVICE_TESTING_MODE_IGNITION_AFTER_GSM
|
|
);
|
|
} else {
|
|
env->namedTests.gnssAnt = DEVICE_TESTING_ADD_TEST(
|
|
"GNSS_ANT",
|
|
antCheck,
|
|
DeviceTesting_AntTest,
|
|
DEVICE_TESTING_MODE_ALWAYS |
|
|
DEVICE_TESTING_MODE_PERIODICAL |
|
|
DEVICE_TESTING_MODE_IGNITION_AFTER_GSM
|
|
);
|
|
}
|
|
|
|
env->namedTests.speakConnect = DEVICE_TESTING_ADD_TEST(
|
|
"SPEAKER_CONNECT",
|
|
speakerAdc,
|
|
DeviceTesting_AdcSpeakerTest,
|
|
DEVICE_TESTING_MODE_ALWAYS |
|
|
DEVICE_TESTING_MODE_PERIODICAL |
|
|
DEVICE_TESTING_MODE_IGNITION_AFTER_GSM
|
|
);
|
|
|
|
|
|
env->namedTests.accel = DEVICE_TESTING_ADD_TEST(
|
|
"ACCEL", accel, DeviceTesting_TestAccel,
|
|
DEVICE_TESTING_MODE_NOT_ALWAYS |
|
|
DEVICE_TESTING_MODE_IGNITION_WITHOUT_GSM
|
|
);
|
|
|
|
env->namedTests.gsm = DEVICE_TESTING_ADD_TEST(
|
|
"GSM", gsm, DeviceTesting_TestAt,
|
|
DEVICE_TESTING_MODE_NOT_ALWAYS |
|
|
DEVICE_TESTING_MODE_IGNITION_AFTER_GSM
|
|
);
|
|
|
|
|
|
env->namedTests.audioCodec = DEVICE_TESTING_ADD_TEST(
|
|
"AUDIO_CODEC", audioCodec, DeviceTesting_TestAudioCodec,
|
|
DEVICE_TESTING_MODE_NOT_ALWAYS |
|
|
DEVICE_TESTING_MODE_IGNITION_AFTER_GSM
|
|
);
|
|
|
|
|
|
return true;
|
|
|
|
} |