// // Created by xemon on 11.12.22. // #ifndef UVEOS_ON_NATION_MAINMODESARBITER_PRIVATE_H #define UVEOS_ON_NATION_MAINMODESARBITER_PRIVATE_H #include "MainModesArbiter.h" #define Mma_SetMode(ENV, VALUE) UserIndication_SetMode(&((ENV)->indication),(VALUE)) typedef enum { SUB_START_MODE_UNDEF = 0, SUB_START_MODE_EMER = 1, SUB_START_MODE_TESTING = 2, SUB_START_MODE_NOT_SEND_MSD = 3, } tSubStartMode; eCarType Mma_GetCarType(tString32 *env); void Mma_RunShortTest(tMma *env, bool blocEcall); void Mma_InitGSM_AudioProfile(tMma *env); tDeviceModes *UserIndication_GetMode(tMma *env); void Mma_ReleaseEcallSubSystems(tMma *env); void Mma_ProcessCallAnswer(tMma *env); void Mma_InitCrachDetectSettings(tMma *env); void Mma_SubstartTelematica(tMma *env); void Mma_AccompanMode(tMma *env); void Mma_ClearParams(tMma *env); void Mma_PassedMode(tMma *env); static _Noreturn void Mma_UserInputSubstartButtonThread(tMma *env); void InfoToUDS_InitSetDefault(tMma *env); void Mma_SystemSelector(tMma *env, eSubSystems subSystems); void Mma_SelectorOneSystem(tMma *env, eSubSystems subSystems); void Mma_RunTests(tMma *env); void Mma_gnssUpdateIndication(tMma *env); void Mma_RunUserTests(tMma *env, bool releaseAudioSubSystem); //void Mma_ControlCapture(tMma *env, eControlCapture Capture); void Mma_AudioSubSystemStart(tPowerManagement *power, tAmplifier *amplifier); void UserInputInfoSystemToUDS(tMma *env); void Mma_FirstStartupAudioSubsystem(tMma *env); void Mma_DeletSms(tMma *env); void Mma_AudioTestSetMode(tPowerManagement *env, bool fl); void Mma_FatalErrorOnInit(tMma *env, bool noinit, tDeviceModes errState); void Mma_delayNotBloc(uint32_t tim); void Mma_UserInputSubstartButtonThreadStart(tMma *env); void Mma_UserInputSubstartButtonThreadStop(tMma *env); void AccompanModeStartThread(tMma *env); void UserInputChekButton(tMma *env); void Mma_InitStage(tMma *env); void Mma_CheckShutdown(tMma *env) ; AtCommandResult Mma_CheckIncomingSms(tMma *env); void Mma_NetworkRequire(tMma *env); void TMR2_CanMute_Start(tMma *env); void Mma_EcallManual(tMma *env); bool Mma_StartCrachDetectSubsystem(tMma *env); void Mma_EcallAutomatic(tMma *env, tUveosEmergencyEvent emergencyEvent); void Mma_GetHardVers(tMma *env); void Mma_GetSoftVers(tMma *env); //void Mma_GetCCID(tMma *env); //void Mma_GetCGSN(tMma *env); void Mma_AudioSubSystemRelease(tMma *env); void Mma_AudioSubSystemRequire(tMma *env); //bool Mma_GetNewSms(tMma *env, uint8_t *binaryData, uint16_t size, uint16_t *binaryDataSize); // //void Mma_SmsProcrssing(tMma *env, uint8_t *binaryData, const uint16_t *binaryDataSize); void setGeneralGNSS(tMma *env, eCanGnssCallByButton GNSS_Call_By_button, eCanGnssStatus GNSS_Status, eCanGnssCallAuto GNSS_Call_Auto, eCanGnssCallTest GNSS_Call_Test ); //void Mma_SetAccessProtection(); #endif //UVEOS_ON_NATION_MAINMODESARBITER_PRIVATE_H