Dmitry Kovalev
/
LG2
fork
Fork of LG by
Diff: SPI.c
- Revision:
- 140:1fbf117fc120
- Parent:
- 128:1e4675a36c93
- Child:
- 141:c6de20b9b483
diff -r 1716152517aa -r 1fbf117fc120 SPI.c --- a/SPI.c Mon Apr 25 10:30:21 2016 +0000 +++ b/SPI.c Mon Apr 25 13:33:57 2016 +0000 @@ -82,7 +82,7 @@ if(Gyro.RgConA&0x2) // если включон контур регулирования { - if (Gyro.PLC_Error2Mode > 0) {Gyro.PLC_Error2Mode --; Gyro.PLC_ADC_DOld = 0; } // если ошибка(нахожление в двух модовом) + if (Gyro.PLC_Error2Mode > 0) {Gyro.PLC_Error2Mode --; Gyro.PLC_ADC_DOld = 0; } // если ошибка(нахожление в двух модовом) else if ( Gyro.PLC_Delta > (3000 * 65536)) {Spi.DAC_B += 2500; Gyro.PLC_Error2Mode = 5; Gyro.PLC_ADC_DOld = 0;} // проверка на двух модовость else if ( Gyro.PLC_Delta < (-3000 * 65536)) {Spi.DAC_B += 2500; Gyro.PLC_Error2Mode = 5; Gyro.PLC_ADC_DOld = 0;} @@ -108,7 +108,21 @@ Gyro.PLC_Error2Mode = 1; Gyro.PLC_DeltaADD = 0; } - Spi.DAC_B += Gyro.PLC_ADC_DOld * 16; + + switch( Gyro.StrayPLC_flag) { + case 0: + Spi.DAC_B += Gyro.PLC_ADC_DOld * 16; + break; + case 1: + Spi.DAC_B += ((Gyro.PLC_ADC_DOld * 16)+Gyro.StrayPLC);//вносим помеху + break; + case 2: + Spi.DAC_B += ((Gyro.PLC_ADC_DOld * 16)+Gyro.StrayPLC_2Mode);//вгоняем в многомодовый режим + break; + } + //Spi.DAC_B += Gyro.PLC_ADC_DOld * 16; + + if ( Spi.DAC_B < 1000 ) {Spi.DAC_B = 32000; Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;} if ( Spi.DAC_B > 63000 ) {Spi.DAC_B = 32000; Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}