commit 75d936bed077758a6e8e3f1ea246ec104506c1fa Author: cfif Date: Fri Jul 11 13:36:32 2025 +0300 Сборка нового проекта. Добавление основных модулей. diff --git a/inc/SystemMutexCmsis.h b/inc/SystemMutexCmsis.h new file mode 100644 index 0000000..85b43c3 --- /dev/null +++ b/inc/SystemMutexCmsis.h @@ -0,0 +1,17 @@ +// +// Created by xemon on 26.09.23. +// + +#ifndef MOTOTERMINAL_MAIN_ONAT435_SYSTEMMUTEXCMSIS_H +#define MOTOTERMINAL_MAIN_ONAT435_SYSTEMMUTEXCMSIS_H + +#include "SystemMutexInterface.h" +#include "cmsis_os.h" + +typedef osMutexId_t SystemMutexCmsis; + +void SystemMutexCmsis_init(SystemMutexCmsis *env, const osMutexAttr_t *attr); + +tSystemMutexInterface SystemMutexCmsis_getInterface(SystemMutexCmsis *env); + +#endif //MOTOTERMINAL_MAIN_ONAT435_SYSTEMMUTEXCMSIS_H diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..e2c0431 --- /dev/null +++ b/modular.json @@ -0,0 +1,22 @@ +{ + "dep": [ + { + "type": "git", + "provider": "HVAC", + "repo": "CmsisRtosInterface" + }, + { + "type": "git", + "provider": "HVAC", + "repo": "SystemSyncInterface" + } + ], + "cmake": { + "inc_dirs": [ + "./inc/" + ], + "srcs": [ + "./src/**.c" + ] + } +} \ No newline at end of file diff --git a/src/SystemMutexCmsis.c b/src/SystemMutexCmsis.c new file mode 100644 index 0000000..f7ca45e --- /dev/null +++ b/src/SystemMutexCmsis.c @@ -0,0 +1,29 @@ +// +// Created by xemon on 26.09.23. +// +#include +#include +#include "SystemMutexCmsis.h" + + +void SystemMutexCmsis_init(SystemMutexCmsis *env, const osMutexAttr_t *attr) { + *env = osMutexNew(attr); +} + +static bool SystemMutexCmsis_acquire(SystemMutexCmsis *env, int32_t timeout) { + return osMutexAcquire(*env, timeout) == osOK; +} + +static bool SystemMutexCmsis_release(SystemMutexCmsis *env, const osMutexAttr_t *attr) { + return osMutexRelease(*env) == osOK; +} + + +tSystemMutexInterface SystemMutexCmsis_getInterface(SystemMutexCmsis *env) { + return (tSystemMutexInterface) { + .env = env, + .acquire = (void *) SystemMutexCmsis_acquire, + .release = (void *) SystemMutexCmsis_release, + }; +} +