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 */
/* 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)
{

View File

@ -50,9 +50,6 @@
/* USER CODE BEGIN PV */
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
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];
@ -593,7 +590,6 @@ void TIM3_IRQHandler(void)
prev_capture1 = current_capture1;
TIM3->SR &= ~TIM_SR_CC1IF; // Сброс флага захвата сигнала
update1 = 0;
}
// Обработка захвата сигнала для канала 2
@ -623,7 +619,6 @@ void TIM3_IRQHandler(void)
prev_capture2 = current_capture2;
TIM3->SR &= ~TIM_SR_CC2IF; // Сброс флага захвата сигнала
update2 = 0;
}
/* USER CODE END TIM3_IRQn 0 */
@ -667,7 +662,7 @@ void I2C1_ER_IRQHandler(void)
void USART3_IRQHandler(void)
{
/* 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);
/* USER CODE END USART3_IRQn 0 */