Доделаны обновления

This commit is contained in:
cfif 2026-09-01 14:25:17 +03:00
parent d69de48d13
commit 7da947cb85
13 changed files with 65 additions and 11 deletions

View File

@ -70,6 +70,14 @@ void vApplicationStackOverflowHook(TaskHandle_t xTask, const char *pcTaskName) {
void FirmwareStopThread() { void FirmwareStopThread() {
ModelTask_StopThread(&MAIN_ENV.ModelTask); ModelTask_StopThread(&MAIN_ENV.ModelTask);
Lin123_StopThread(&MAIN_ENV.linTaskActuator1);
Lin123_StopThread(&MAIN_ENV.linTaskActuator2);
Lin123_StopThread(&MAIN_ENV.linTaskActuator3);
Lin4_StopThread(&MAIN_ENV.linTaskSensor4);
Lin5_StopThread(&MAIN_ENV.linTaskSensor5);
ADC0_StopThread(&MAIN_ENV.adcTask0);
ADC1_StopThread(&MAIN_ENV.adcTask1);
} }
int main(void) { int main(void) {

View File

@ -76,6 +76,12 @@ void Adc_0_Init(tAdc0Task *env,
// osPriorityNormal); // osPriorityNormal);
} }
void ADC0_StopThread(tAdc0Task *env) {
if (env->thread.id) {
osThreadSuspend(env->thread.id);
}
}
void BTS5180_120(tAdc0Task *env, char *desc, uint16_t adc_value) { void BTS5180_120(tAdc0Task *env, char *desc, uint16_t adc_value) {
float kILIS = 550.0f; float kILIS = 550.0f;
@ -638,6 +644,11 @@ void Adc_1_Init(tAdc1Task *env,
// osPriorityNormal); // osPriorityNormal);
} }
void ADC1_StopThread(tAdc1Task *env) {
if (env->thread.id) {
osThreadSuspend(env->thread.id);
}
}
static _Noreturn void Adc1_Thread(tAdc1Task *env) { static _Noreturn void Adc1_Thread(tAdc1Task *env) {

View File

@ -279,6 +279,7 @@ void Adc_0_Init(tAdc0Task *env,
tLoggerInterface *logger); tLoggerInterface *logger);
void Adc_0_StartThread(tAdc0Task *env); void Adc_0_StartThread(tAdc0Task *env);
void ADC0_StopThread(tAdc0Task *env);
void getCmdBusADCData(tAdc0Task *env, CmdBusADCData *cmdBusADCData); void getCmdBusADCData(tAdc0Task *env, CmdBusADCData *cmdBusADCData);
@ -288,6 +289,7 @@ void Adc_1_Init(tAdc1Task *env,
tLoggerInterface *logger); tLoggerInterface *logger);
void Adc_1_StartThread(tAdc1Task *env); void Adc_1_StartThread(tAdc1Task *env);
void ADC1_StopThread(tAdc1Task *env);
void getCmdBusADC2Data(tAdc1Task *env, CmdBusADC2Data *cmdBusADC2Data); void getCmdBusADC2Data(tAdc1Task *env, CmdBusADC2Data *cmdBusADC2Data);

View File

@ -23,18 +23,19 @@
#define timeout_session_S3_Server 7000 #define timeout_session_S3_Server 7000
#define ADR_HEX_BlockBoot 0x01000000
#define ADR_HEX_BlockMain 0x01010000
#define ADR_HEX_BlockCalib 0x010C0000
#define ADR_HEX_Mapped_BlockBoot 0x01100000
#define ADR_HEX_Mapped_BlockMain 0x01110000
#define ADR_HEX_Mapped_BlockCalib 0x011C0000
#define SIZE_HEX_BlockBoot (64 * 1024) #define SIZE_HEX_BlockBoot (64 * 1024)
#define SIZE_HEX_BlockMain (768 * 1024) #define SIZE_HEX_BlockMain (768 * 1024)
#define SIZE_HEX_BlockCalib (192 * 1024) #define SIZE_HEX_BlockCalib (192 * 1024)
#define ADR_HEX_BlockBoot 0x01000000
#define ADR_HEX_BlockMain 0x01010000
#define ADR_HEX_BlockCalib (0x01010000 + SIZE_HEX_BlockMain)
#define ADR_HEX_Mapped_BlockBoot 0x01100000
#define ADR_HEX_Mapped_BlockMain 0x01110000
#define ADR_HEX_Mapped_BlockCalib (0x01110000 + SIZE_HEX_BlockMain)
#define LEN_DEBUG_UDS_BUFF 128 #define LEN_DEBUG_UDS_BUFF 128

View File

@ -10,6 +10,15 @@
char bufSprintf[1024]; char bufSprintf[1024];
const char* eTaskState_Strings[] = {
"Running",
"Ready",
"Blocked",
"Suspended",
"Deleted",
"Invalid"
};
int32_t vTaskGetRunTime(void *env, tCliCmd *cli) { int32_t vTaskGetRunTime(void *env, tCliCmd *cli) {
tCommandLine *envCommandLine = env; tCommandLine *envCommandLine = env;
@ -27,9 +36,10 @@ int32_t vTaskGetRunTime(void *env, tCliCmd *cli) {
for (x = 0; x < uxArraySize; x++) { for (x = 0; x < uxArraySize; x++) {
sprintf(&bufSprintf[p], "%lu\t%d\t%s\n", sprintf(&bufSprintf[p], "%lu\t%d\t%s\t%s\n",
pxTaskStatusArray[x].xTaskNumber, pxTaskStatusArray[x].xTaskNumber,
pxTaskStatusArray[x].usStackHighWaterMark, pxTaskStatusArray[x].usStackHighWaterMark,
eTaskState_Strings[pxTaskStatusArray[x].eCurrentState],
pxTaskStatusArray[x].pcTaskName); pxTaskStatusArray[x].pcTaskName);
p = strlen(bufSprintf); p = strlen(bufSprintf);

View File

@ -1392,6 +1392,13 @@ void Lin3_StartThread(tLinTaskActuator *env) {
} }
} }
void Lin123_StopThread(tLinTaskActuator *env) {
if (env->threadLin.id) {
osThreadSuspend(env->threadLin.id);
}
}
//конец----------------------------------------- LIN 3 ---------------------------------------------------------------- //конец----------------------------------------- LIN 3 ----------------------------------------------------------------
//конец----------------------------------------- LIN 3 ---------------------------------------------------------------- //конец----------------------------------------- LIN 3 ----------------------------------------------------------------
//конец----------------------------------------- LIN 3 ---------------------------------------------------------------- //конец----------------------------------------- LIN 3 ----------------------------------------------------------------

View File

@ -518,5 +518,6 @@ void Lin3_StartThread(tLinTaskActuator *env);
void GetLin123CallbackHandler(tLinData *env, uint8_t u8LinIndex, void *state); void GetLin123CallbackHandler(tLinData *env, uint8_t u8LinIndex, void *state);
void Lin123_StopThread(tLinTaskActuator *env);
#endif //HVAC_LIN_TASKS_H #endif //HVAC_LIN_TASKS_H

View File

@ -539,6 +539,12 @@ void Lin4_StartThread(tLin4TaskSensor *env) {
} }
} }
void Lin4_StopThread(tLin4TaskSensor *env) {
if (env->threadLin.id) {
osThreadSuspend(env->threadLin.id);
}
}
//конец----------------------------------------- LIN 4 ---------------------------------------------------------------- //конец----------------------------------------- LIN 4 ----------------------------------------------------------------
//конец----------------------------------------- LIN 4 ---------------------------------------------------------------- //конец----------------------------------------- LIN 4 ----------------------------------------------------------------
//конец----------------------------------------- LIN 4 ---------------------------------------------------------------- //конец----------------------------------------- LIN 4 ----------------------------------------------------------------
@ -917,6 +923,12 @@ void Lin5_StartThread(tLin5TaskSensor *env) {
} }
} }
void Lin5_StopThread(tLin5TaskSensor *env) {
if (env->threadLin.id) {
osThreadSuspend(env->threadLin.id);
}
}
//конец----------------------------------------- LIN 5 ---------------------------------------------------------------- //конец----------------------------------------- LIN 5 ----------------------------------------------------------------
//конец----------------------------------------- LIN 5 ---------------------------------------------------------------- //конец----------------------------------------- LIN 5 ----------------------------------------------------------------
//конец----------------------------------------- LIN 5 ---------------------------------------------------------------- //конец----------------------------------------- LIN 5 ----------------------------------------------------------------

View File

@ -421,6 +421,7 @@ void Lin_4_Init(tLin4TaskSensor *env,
tLoggerInterface *logger); tLoggerInterface *logger);
void Lin4_StartThread(tLin4TaskSensor *env); void Lin4_StartThread(tLin4TaskSensor *env);
void Lin4_StopThread(tLin4TaskSensor *env);
void Lin4_Input_Set_From_Model(tLin4TaskSensor *env); void Lin4_Input_Set_From_Model(tLin4TaskSensor *env);
void Lin4_Output_Get_From_Model(tLin4TaskSensor *env); void Lin4_Output_Get_From_Model(tLin4TaskSensor *env);
@ -431,6 +432,7 @@ void Lin_5_Init(tLin5TaskSensor *env,
tLoggerInterface *logger); tLoggerInterface *logger);
void Lin5_StartThread(tLin5TaskSensor *env); void Lin5_StartThread(tLin5TaskSensor *env);
void Lin5_StopThread(tLin5TaskSensor *env);
void Lin5_Output_Get_From_Model(tLin5TaskSensor *env); void Lin5_Output_Get_From_Model(tLin5TaskSensor *env);

View File

@ -45,7 +45,7 @@ void VarsTabDumpObserver_Init(
env->accessDumper = osMutexNew(NULL); env->accessDumper = osMutexNew(NULL);
env->thread.stack = tVarsTabDumpObserver_stack; env->thread.stack = tVarsTabDumpObserver_stack;
InitThreadAtr(&env->thread.attr,"Data",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tVarsTabDumpObserver_stack_size,osPriorityNormal); InitThreadAtr(&env->thread.attr,"DumpObserv",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tVarsTabDumpObserver_stack_size,osPriorityNormal);
env->thread.id = 0; env->thread.id = 0;
// InitThreadAtrStatic(&env->thread.attr, "Data", env->thread.controlBlock, env->thread.stack, osPriorityNormal); // InitThreadAtrStatic(&env->thread.attr, "Data", env->thread.controlBlock, env->thread.stack, osPriorityNormal);

Binary file not shown.

Binary file not shown.

View File

@ -60,7 +60,7 @@ echo -e "\n--- Converting to HEX ---"
objcopy -I binary -O ihex --change-addresses 0x01010000 HVAC_MAIN.bin HVAC_MAIN.hex && \ objcopy -I binary -O ihex --change-addresses 0x01010000 HVAC_MAIN.bin HVAC_MAIN.hex && \
echo "✓ HEX MAIN OK" || echo "✗ HEX MAIN failed" echo "✓ HEX MAIN OK" || echo "✗ HEX MAIN failed"
objcopy -I binary -O ihex --change-addresses 0x010C0000 HVAC_CALIB.bin HVAC_CALIB.hex && \ objcopy -I binary -O ihex --change-addresses 0x010D0000 HVAC_CALIB.bin HVAC_CALIB.hex && \
echo "✓ HEX CALIB OK" || echo "✗ HEX CALIB failed" echo "✓ HEX CALIB OK" || echo "✗ HEX CALIB failed"
objcopy -I binary -O ihex --change-addresses 0x01000000 HVAC_BOOT_OTA_M7.bin HVAC_BOOT_OTA_M7.hex && \ objcopy -I binary -O ihex --change-addresses 0x01000000 HVAC_BOOT_OTA_M7.bin HVAC_BOOT_OTA_M7.hex && \