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

View File

@ -50,9 +50,6 @@
/* USER CODE BEGIN PV */ /* USER CODE BEGIN PV */
uint8_t myi; uint8_t myi;
// uint8_t ticktime = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 0,01 <20>
uint8_t update1 = 0; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20><><EFBFBD> 1
uint8_t update2 = 0;
extern uint16_t vi; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> 0..599 extern uint16_t vi; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> 0..599
uint16_t v1[30]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) [0] - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, [1-29] - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uint16_t v1[30]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) [0] - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, [1-29] - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16_t v2[30]; uint16_t v2[30];
@ -593,7 +590,6 @@ void TIM3_IRQHandler(void)
prev_capture1 = current_capture1; prev_capture1 = current_capture1;
TIM3->SR &= ~TIM_SR_CC1IF; // Сброс флага захвата сигнала TIM3->SR &= ~TIM_SR_CC1IF; // Сброс флага захвата сигнала
update1 = 0;
} }
// Обработка захвата сигнала для канала 2 // Обработка захвата сигнала для канала 2
@ -623,7 +619,6 @@ void TIM3_IRQHandler(void)
prev_capture2 = current_capture2; prev_capture2 = current_capture2;
TIM3->SR &= ~TIM_SR_CC2IF; // Сброс флага захвата сигнала TIM3->SR &= ~TIM_SR_CC2IF; // Сброс флага захвата сигнала
update2 = 0;
} }
/* USER CODE END TIM3_IRQn 0 */ /* USER CODE END TIM3_IRQn 0 */
@ -667,7 +662,7 @@ void I2C1_ER_IRQHandler(void)
void USART3_IRQHandler(void) void USART3_IRQHandler(void)
{ {
/* USER CODE BEGIN USART3_IRQn 0 */ /* USER CODE BEGIN USART3_IRQn 0 */
CDC_Transmit_FS(uart_rx_buffer, UART_BUFFER_SIZE); // CDC_Transmit_FS(uart_rx_buffer, UART_BUFFER_SIZE);
HAL_UART_Receive_IT(&huart3, uart_rx_buffer, UART_BUFFER_SIZE); HAL_UART_Receive_IT(&huart3, uart_rx_buffer, UART_BUFFER_SIZE);
/* USER CODE END USART3_IRQn 0 */ /* USER CODE END USART3_IRQn 0 */