Обновление

This commit is contained in:
cfif 2026-04-28 10:38:59 +03:00
parent 0d6a40adef
commit b59f90e72b
2 changed files with 20 additions and 5 deletions

View File

@ -7,16 +7,20 @@
#include "memory.h" #include "memory.h"
#include "HVAC_model.h" #include "HVAC_model.h"
#define LOG_SIGN "ADC"
#define LOGGER env->logger
void Adc_0_Init(tAdcTask *env, void Adc_0_Init(tAdcTask *env,
osMutexId_t modelTaskAccess, osMutexId_t modelTaskAccess,
tAdcIO *adcIO, tAdcIO *adcIO,
tGpios *gpios tGpios *gpios,
tLoggerInterface *logger
) { ) {
env->adcIO = adcIO; env->adcIO = adcIO;
env->modelTaskAccess = modelTaskAccess; env->modelTaskAccess = modelTaskAccess;
env->access = osMutexNew(NULL); env->access = osMutexNew(NULL);
env->logger = logger;
env->gpios = gpios; env->gpios = gpios;
env->queueRandom = osMessageQueueNew(10, 4, NULL); env->queueRandom = osMessageQueueNew(10, 4, NULL);
@ -117,6 +121,8 @@ static _Noreturn void Adc0_Thread(tAdcTask *env) {
osMutexRelease(env->modelTaskAccess); osMutexRelease(env->modelTaskAccess);
} else {
LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error Adc0_Thread");
} }
SystemDelayMs(50); SystemDelayMs(50);
@ -147,10 +153,12 @@ void Adc_0_StartThread(tAdcTask *env) {
void Adc_1_Init(tAdcTask *env, void Adc_1_Init(tAdcTask *env,
osMutexId_t modelTaskAccess, osMutexId_t modelTaskAccess,
tAdcIO *adcIO, tAdcIO *adcIO,
tGpios *gpios) { tGpios *gpios,
tLoggerInterface *logger) {
env->adcIO = adcIO; env->adcIO = adcIO;
env->modelTaskAccess = modelTaskAccess; env->modelTaskAccess = modelTaskAccess;
env->logger = logger;
env->access = osMutexNew(NULL); env->access = osMutexNew(NULL);
env->gpios = gpios; env->gpios = gpios;
@ -178,6 +186,8 @@ static _Noreturn void Adc1_Thread(tAdcTask *env) {
rtDW.ADC_Data_Model.VN7008AJ_RearLINActuatorPowerDriverC = pData[4]; rtDW.ADC_Data_Model.VN7008AJ_RearLINActuatorPowerDriverC = pData[4];
osMutexRelease(env->modelTaskAccess); osMutexRelease(env->modelTaskAccess);
} else {
LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error Adc1_Thread");
} }
SystemDelayMs(50); SystemDelayMs(50);

View File

@ -9,6 +9,7 @@
#include "stdbool.h" #include "stdbool.h"
#include <cmsis_os.h> #include <cmsis_os.h>
#include "Gpios.h" #include "Gpios.h"
#include "LoggerInterface.h"
typedef struct { typedef struct {
uint16_t Sensor_Ambient_Temp; uint16_t Sensor_Ambient_Temp;
@ -81,6 +82,8 @@ typedef struct {
osMessageQueueId_t queueRandom; osMessageQueueId_t queueRandom;
tLoggerInterface *logger;
struct { struct {
osThreadId_t id; osThreadId_t id;
uint32_t stack[384]; uint32_t stack[384];
@ -95,14 +98,16 @@ uint32_t getRandom32(tAdcTask *env);
void Adc_0_Init(tAdcTask *env, void Adc_0_Init(tAdcTask *env,
osMutexId_t modelTaskAccess, osMutexId_t modelTaskAccess,
tAdcIO *adcIO, tAdcIO *adcIO,
tGpios *gpios); tGpios *gpios,
tLoggerInterface *logger);
void Adc_0_StartThread(tAdcTask *env); void Adc_0_StartThread(tAdcTask *env);
void Adc_1_Init(tAdcTask *env, void Adc_1_Init(tAdcTask *env,
osMutexId_t modelTaskAccess, osMutexId_t modelTaskAccess,
tAdcIO *adcIO, tAdcIO *adcIO,
tGpios *gpios); tGpios *gpios,
tLoggerInterface *logger);
void Adc_1_StartThread(tAdcTask *env); void Adc_1_StartThread(tAdcTask *env);