From ca8937626d6c85e7197508cd58a9c9bdbc97ac22 Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 31 Mar 2026 15:02:37 +0300 Subject: [PATCH] Init --- MainModesArbiter.c | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/MainModesArbiter.c b/MainModesArbiter.c index f9b23a0..edc703b 100644 --- a/MainModesArbiter.c +++ b/MainModesArbiter.c @@ -28,19 +28,55 @@ static _Noreturn void Mma_Thread(tMma *env) { bool result; - for (;;) { +/* + uint32_t step_100 = 100000 / 256; // ОМ + uint32_t R100 = 100000; + uint32_t R2 = 100000 - R100; // Для записи в регистр + uint32_t steps = R2 / step_100; + uint32_t step_10 = 10000 / 256; // ОМ + uint32_t R10 = 10000; + uint32_t R3 = 10000 - R10; // Для записи в регистр + uint32_t steps2 = R3 / step_10; +*/ + + float Rwa = 60.0f; + + float R100 = 21000.0f; // Это сколько нужно + float R100ab = 100000.0f; + int32_t D100 = (int32_t) (256.0f - (((R100 - Rwa) / R100ab) * 256.0f)); + + if (D100 > 255) + D100 = 255; + + if (D100 < 0) + D100 = 0; + + + float R10 = 3000.0f; // Это сколько нужно + float R10ab = 10000.0f; + int32_t D10 = (int32_t) (256.0f - (((R10 - Rwa) / R10ab) * 256.0f)); + + if (D10 > 255) + D10 = 255; + + if (D10 < 0) + D10 = 0; + + + for (;;) { +/* GpioPinSet(&env->gpios->Led.ledR1, true); SystemDelayMs(1000); GpioPinSet(&env->gpios->Led.ledR1, false); SystemDelayMs(1000); +*/ - -// result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_1, 3); + result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_1, D100); asm("nop"); -// result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_2, 1); + result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_2, D10); asm("nop");