diff --git a/MainModesArbiter.c b/MainModesArbiter.c index 17e7374..e9afa07 100644 --- a/MainModesArbiter.c +++ b/MainModesArbiter.c @@ -73,22 +73,54 @@ static _Noreturn void Mma_Thread(tMma *env) { */ // Использование - float Rwa_desired_100k = 21000.0f; + float Rwa_desired_100k = 1000.0f; float R_ab_100k = 100000.0f; int32_t D100 = calc_D_for_Rwa(Rwa_desired_100k, R_ab_100k, Rw_typ); - float Rwa_desired_10k = 3000.0f; + float Rwa_desired_10k = 0.0f; float R_ab_10k = 10000.0f; int32_t D10 = calc_D_for_Rwa(Rwa_desired_10k, R_ab_10k, Rw_typ); - for (;;) { -/* - GpioPinSet(&env->gpios->Led.ledR1, true); - SystemDelayMs(100); - GpioPinSet(&env->gpios->Led.ledR1, false); - SystemDelayMs(100); -*/ + uint32_t step = 0; + for (;;) { + + GpioPinSet(&env->gpios->Led.ledR1, true); + SystemDelayMs(1500); + GpioPinSet(&env->gpios->Led.ledR1, false); + SystemDelayMs(1500); + + + Rwa_desired_100k += 1000.0f; + D100 = calc_D_for_Rwa(Rwa_desired_100k, R_ab_100k, Rw_typ); + + if (Rwa_desired_100k > 100000) { + Rwa_desired_100k = 0; + } + + + Rwa_desired_10k += 1000.0f; + D10 = calc_D_for_Rwa(Rwa_desired_10k, R_ab_10k, Rw_typ); + + if (Rwa_desired_10k > 10000) { + Rwa_desired_10k = 0; + } + + + + + result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_3, 255); + asm("nop"); + ++step; + + if (step> 255) + step =0; + + + result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_4, D10); + asm("nop"); + +/* result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_1, D100); asm("nop"); result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_2, D10); @@ -97,7 +129,7 @@ static _Noreturn void Mma_Thread(tMma *env) { asm("nop"); result = setSpiSensor(&env->sensorSPI, SENSOR_TYPE_A, SENSOR_ADR_4, D10); asm("nop"); - +*/ /*