This commit is contained in:
2024-09-01 22:17:11 +03:00
parent e52fa2fc21
commit aee98543ed
2 changed files with 145 additions and 147 deletions

View File

@ -200,152 +200,155 @@ initcomlete = 1;
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
IR_CMD_Handler();
if (rxcomlite == 1)
{
txdata[0] = 'O';
txdata[1] = 'K';
txdata[2] = '?';
switch (rxdata[0])
{
case 1:
{
SetServo(0, rxdata[1]);
txdata[0] = 'O';
txdata[1] = 'K';
txdata[2] = '1';
CDC_Transmit_FS(txdata, 3);
break;
}
case 2:
{
SetServo(1, rxdata[1]);
txdata[0] = 'O';
txdata[1] = 'K';
txdata[2] = '2';
CDC_Transmit_FS(txdata, 3);
break;
}
case 3:
{
SetServo(2, rxdata[1]);
txdata[0] = 'O';
txdata[1] = 'K';
txdata[2] = '3';
CDC_Transmit_FS(txdata, 3);
break;
}
case 4:
{
SetServo(0, rxdata[1]);
SetServo(1, rxdata[2]);
SetServo(2, rxdata[3]);
Vz1 = rxdata[4]; // rolic verh 0..200
Vz2 = rxdata[5]; // rolic niz 0..200
vi = 0;
// shnek 0..100
if (rxdata[6] < 101)
{
TIM1->CCR1 = 0;
TIM1->CCR2 = (uint16_t)(40 * rxdata[6]);
}
else
{
TIM1->CCR1 = 0;
TIM1->CCR2 = 4000;
}
txdata[0] = 'O';
txdata[1] = 'K';
txdata[2] = '4';
CDC_Transmit_FS(txdata, 3);
break;
}
case 5:
{
txdata[0] = LOBYTE(timing1);
txdata[1] = HIBYTE(timing1);
CDC_Transmit_FS(txdata, 3);
break;
}
case 6:
{
CDC_Transmit_FS(velosety, 600);
break;
}
case 7:
{
rejim[0] = rxdata[1];
// copy to buffer
for (uint8_t i = 0; i < rejim[0]; i++)
{
rejim[(i * 6) + 1] = rxdata[(i * 6) + 2];
rejim[(i * 6) + 2] = rxdata[(i * 6) + 3];
rejim[(i * 6) + 3] = rxdata[(i * 6) + 4];
rejim[(i * 6) + 4] = rxdata[(i * 6) + 5];
rejim[(i * 6) + 5] = rxdata[(i * 6) + 6];
rejim[(i * 6) + 6] = rxdata[(i * 6) + 7];
}
// set rejim #1
SetServo(0, rejim[1]);
SetServo(1, rejim[2]);
SetServo(2, rejim[3]);
Vz1 = rejim[4];
Vz2 = rejim[5];
TIM1->CCR1 = 0;
TIM1->CCR2 = (uint16_t)(40 * rejim[6]);
// set avto
rejim_number = 1;
avto = 1;
break;
}
case 8:
{ // stop avto
avto = 0;
rejim_number = 1;
// stop mecanics
SetServo(0, 90);
SetServo(1, 90);
SetServo(2, 90);
Vz1 = 100;
Vz2 = 100;
TIM1->CCR1 = 0;
TIM1->CCR2 = 0;
break;
}
case 9:
{
txdata[0] = avto;
txdata[1] = rejim_number;
CDC_Transmit_FS(txdata, 3);
break;
}
default:
break;
}
rxcomlite = 0;
// // HAL_Delay(1000);
}
// if (rxcomlite == 1)
// {
//
// txdata[0] = 'O';
// txdata[1] = 'K';
// txdata[2] = '?';
//
// switch (rxdata[0])
// {
//
// case 1:
// {
// SetServo(0, rxdata[1]);
// txdata[0] = 'O';
// txdata[1] = 'K';
// txdata[2] = '1';
//// CDC_Transmit_FS(txdata, 3);
// break;
// }
//
// case 2:
// {
// SetServo(1, rxdata[1]);
// txdata[0] = 'O';
// txdata[1] = 'K';
// txdata[2] = '2';
//// CDC_Transmit_FS(txdata, 3);
// break;
// }
//
// case 3:
// {
// SetServo(2, rxdata[1]);
// txdata[0] = 'O';
// txdata[1] = 'K';
// txdata[2] = '3';
//// CDC_Transmit_FS(txdata, 3);
// break;
// }
//
// case 4:
// {
// SetServo(0, rxdata[1]);
// SetServo(1, rxdata[2]);
// SetServo(2, rxdata[3]);
//
// Vz1 = rxdata[4]; // rolic verh 0..200
// Vz2 = rxdata[5]; // rolic niz 0..200
// vi = 0;
//
// // shnek 0..100
// if (rxdata[6] < 101)
// {
// TIM1->CCR1 = 0;
// TIM1->CCR2 = (uint16_t)(40 * rxdata[6]);
// }
// else
// {
// TIM1->CCR1 = 0;
// TIM1->CCR2 = 4000;
// }
//
// txdata[0] = 'O';
// txdata[1] = 'K';
// txdata[2] = '4';
//// CDC_Transmit_FS(txdata, 3);
// break;
// }
//
// case 5:
// {
// txdata[0] = LOBYTE(timing1);
// txdata[1] = HIBYTE(timing1);
//// CDC_Transmit_FS(txdata, 3);
// break;
// }
// case 6:
// {
//// CDC_Transmit_FS(velosety, 600);
// break;
// }
//
// case 7:
// {
// rejim[0] = rxdata[1];
// // copy to buffer
// for (uint8_t i = 0; i < rejim[0]; i++)
// {
// rejim[(i * 6) + 1] = rxdata[(i * 6) + 2];
// rejim[(i * 6) + 2] = rxdata[(i * 6) + 3];
// rejim[(i * 6) + 3] = rxdata[(i * 6) + 4];
// rejim[(i * 6) + 4] = rxdata[(i * 6) + 5];
// rejim[(i * 6) + 5] = rxdata[(i * 6) + 6];
// rejim[(i * 6) + 6] = rxdata[(i * 6) + 7];
// }
// // set rejim #1
// SetServo(0, rejim[1]);
// SetServo(1, rejim[2]);
// SetServo(2, rejim[3]);
// Vz1 = rejim[4];
// Vz2 = rejim[5];
// TIM1->CCR1 = 0;
// TIM1->CCR2 = (uint16_t)(40 * rejim[6]);
// // set avto
// rejim_number = 1;
// avto = 1;
// break;
// }
// case 8:
// { // stop avto
// avto = 0;
// rejim_number = 1;
// // stop mecanics
// SetServo(0, 90);
// SetServo(1, 90);
// SetServo(2, 90);
// Vz1 = 100;
// Vz2 = 100;
// TIM1->CCR1 = 0;
// TIM1->CCR2 = 0;
//
// break;
// }
//
// case 9:
// {
// txdata[0] = avto;
// txdata[1] = rejim_number;
//// CDC_Transmit_FS(txdata, 3);
//
// break;
// }
//
// default:
// break;
// }
//
// rxcomlite = 0;
//
// // // HAL_Delay(1000);
// }
forTimer(blinkTimer, 500)
{