This commit is contained in:
cfif 2026-05-07 16:20:45 +03:00
parent 59db4b83e9
commit 3e6bff3214
3 changed files with 33 additions and 28 deletions

View File

@ -31,7 +31,7 @@ const float Rw_max = 120.0f; // Максимальное (для консе
* @return 0 - успех, -1 - ошибка * @return 0 - успех, -1 - ошибка
*/ */
int32_t CalculateSteps(float Rout_required, int32_t *CountStep100, int32_t *CountStep10) { int32_t CalculateSteps(float Rout_required, int32_t *CountStep100, int32_t *CountStep10) {
const float R_constL = 163.4f; const float R_constL = 0.0f;//150.4f;
const float R_ab_100k = 100000.0f; const float R_ab_100k = 100000.0f;
const float R_ab_10k = 10000.0f; const float R_ab_10k = 10000.0f;
@ -156,6 +156,8 @@ static _Noreturn void Mma_Thread(tMma *env) {
bool result = false; bool result = false;
// Rwa — желаемое сопротивление между выводами W и A. // Rwa — желаемое сопротивление между выводами W и A.
// Rab — полное номинальное сопротивление потенциометра (5, 10, 50 или 100 кОм). // Rab — полное номинальное сопротивление потенциометра (5, 10, 50 или 100 кОм).
// Rw — сопротивление движка (Wiper resistance). Типовое значение — 60 Ом (может варьироваться от 50 до 120 Ом). // Rw — сопротивление движка (Wiper resistance). Типовое значение — 60 Ом (может варьироваться от 50 до 120 Ом).
@ -214,9 +216,12 @@ static _Noreturn void Mma_Thread(tMma *env) {
*/ */
float required_resistance = 8000.00f; float required_resistance = 4486.29f;
CalculateSteps(required_resistance, &step100, &step10); CalculateSteps(required_resistance, &step100, &step10);
// step100 = 100;
// step10 = 0;
step100 = 255 - step100; step100 = 255 - step100;
step10 = 255 - step10; step10 = 255 - step10;

View File

@ -38,12 +38,12 @@ typedef struct {
tIndication Indication; tIndication Indication;
tTaskSerial TaskSerialUSB; tTaskSerial TaskSerialUSB1;
tTaskSerial TaskSerialUART; tTaskSerial TaskSerialUSB2;
tTaskReceivedSerial TaskReceivedSerialUSB; tTaskReceivedSerial TaskReceivedSerialUSB1;
tTaskReceivedSerial TaskReceivedSerialUART; tTaskReceivedSerial TaskReceivedSerialUSB2;
tTaskSerialToCanCyclic TaskSerialToCanCyclic0; tTaskSerialToCanCyclic TaskSerialToCanCyclic0;
tTaskSerialToCanCyclic TaskSerialToCanCyclic1; tTaskSerialToCanCyclic TaskSerialToCanCyclic1;

View File

@ -37,7 +37,7 @@ static void Mma_InitSubSystems(tMma *env) {
Mma_InitComIntLog(env); Mma_InitComIntLog(env);
LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "Subsystem initialization") LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "Subsystem initialization")
/*
TaskSerialToCanCyclic0_Init(&env->TaskSerialToCanCyclic0, TaskSerialToCanCyclic0_Init(&env->TaskSerialToCanCyclic0,
&env->canPorts->Can1_IO); &env->canPorts->Can1_IO);
@ -52,51 +52,51 @@ static void Mma_InitSubSystems(tMma *env) {
TaskSerialToCanSpontany_Init(&env->TaskSerialToCanSpontany, TaskSerialToCanSpontany_Init(&env->TaskSerialToCanSpontany,
&env->canPorts->Can1_IO, &env->canPorts->Can1_IO,
&env->serialPorts->DEBUG_USART3_IO, &env->serialPorts->SerialPortUsb1IO,
&env->serialPorts->SerialPortUsbIO &env->serialPorts->SerialPortUsb2IO
); );
TaskSerialToCanSpontany_StartThread(&env->TaskSerialToCanSpontany); TaskSerialToCanSpontany_StartThread(&env->TaskSerialToCanSpontany);
*/
TaskSerialUSB_Init(&env->TaskSerialUSB, TaskSerialUSB1_Init(&env->TaskSerialUSB1,
FROM_UART_USB, FROM_USB1,
&env->serialPorts->SerialPortUsbIO, &env->serialPorts->SerialPortUsb1IO,
&env->TaskSerialToCanCyclic0, &env->TaskSerialToCanCyclic0,
&env->TaskSerialToCanCyclic1, &env->TaskSerialToCanCyclic1,
&env->TaskSerialToCanSpontany &env->TaskSerialToCanSpontany
); );
TaskSerialUSB_StartThread(&env->TaskSerialUSB); TaskSerialUSB1_StartThread(&env->TaskSerialUSB1);
TaskSerialUART_Init(&env->TaskSerialUART, TaskSerialUSB2_Init(&env->TaskSerialUSB2,
FROM_UART, FROM_USB2,
&env->serialPorts->DEBUG_USART3_IO, &env->serialPorts->SerialPortUsb2IO,
&env->TaskSerialToCanCyclic0, &env->TaskSerialToCanCyclic0,
&env->TaskSerialToCanCyclic1, &env->TaskSerialToCanCyclic1,
&env->TaskSerialToCanSpontany &env->TaskSerialToCanSpontany
); );
TaskSerialUART_StartThread(&env->TaskSerialUART); TaskSerialUSB2_StartThread(&env->TaskSerialUSB2);
/*
Task_RECEIVED_SerialUART_Init(&env->TaskReceivedSerialUART, Task_RECEIVED_SerialUSB1_Init(&env->TaskReceivedSerialUSB1,
&env->canPorts->Can1_IO, &env->canPorts->Can1_IO,
FROM_UART, FROM_USB1,
&env->serialPorts->DEBUG_USART3_IO); &env->serialPorts->SerialPortUsb1IO);
Task_RECEIVED_SerialUART_StartThread(&env->TaskReceivedSerialUART); Task_RECEIVED_SerialUSB1_StartThread(&env->TaskReceivedSerialUSB1);
Task_RECEIVED_SerialUSB_Init(&env->TaskReceivedSerialUSB, Task_RECEIVED_SerialUSB2_Init(&env->TaskReceivedSerialUSB2,
&env->canPorts->Can1_IO, &env->canPorts->Can1_IO,
FROM_UART_USB, FROM_USB2,
&env->serialPorts->SerialPortUsbIO); &env->serialPorts->SerialPortUsb2IO);
Task_RECEIVED_SerialUSB_StartThread(&env->TaskReceivedSerialUSB);
Task_RECEIVED_SerialUSB2_StartThread(&env->TaskReceivedSerialUSB2);
*/
SensorSpi_Init(&env->sensorSPI, env->spiPorts, &env->gpios->conns); SensorSpi_Init(&env->sensorSPI, env->spiPorts, &env->gpios->conns);
LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "End of subsystem initialization") LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "End of subsystem initialization")