Начало
This commit is contained in:
commit
e7b5254a33
|
|
@ -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
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"dep": [
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "HVAC_M7",
|
||||
"repo": "CmsisRtosInterface"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"provider": "HVAC_M7",
|
||||
"repo": "SystemSyncInterface"
|
||||
}
|
||||
],
|
||||
"cmake": {
|
||||
"inc_dirs": [
|
||||
"./inc/"
|
||||
],
|
||||
"srcs": [
|
||||
"./src/**.c"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// Created by xemon on 26.09.23.
|
||||
//
|
||||
#include <cmsis_os2.h>
|
||||
#include <SystemMutexInterface.h>
|
||||
#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) {
|
||||
(void)(attr);
|
||||
return osMutexRelease(*env) == osOK;
|
||||
}
|
||||
|
||||
|
||||
tSystemMutexInterface SystemMutexCmsis_getInterface(SystemMutexCmsis *env) {
|
||||
return (tSystemMutexInterface) {
|
||||
.env = env,
|
||||
.acquire = (void *) SystemMutexCmsis_acquire,
|
||||
.release = (void *) SystemMutexCmsis_release,
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue