Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

IOC Configuration

...

USART2

Basic Parameters

...

Don’t touch Advanced Parameters

...

DMA Configuration

...

NVIC Settings

...

...

Getting Code Running

Add these lines of your code to main.cpp.

...

Code Block
languagecpp
/* USER CODE BEGIN 2 */
  SBus sbus_data;
  RCControl control_data;
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
  	sbus_data = sbus_pointer->GetSBUS();
  	control_data = sbus_pointer->GetRCControl();
  	/* USER CODE BEGIN 3 */
  }

Building and Flashing

  1. Build using CMAKE with the appropriate command. Building inside STM32CubeIDE will give errors.

  2. When flashing, go to debug configurations and change the C/C++ Application to point to ZeroPilot.elf

  3. Also, select the “Disable auto build” option.

...

Troubleshooting

If all the values do not change and have a value of 1000 even when you move the controller, your ioc is probably not configured correctly. Otherwise, unplug and replug the tracer.

To Do

  •  Configure Nucleo pins
  •  Test data with a logic analyzer and RC controller
    •  Debug with interrupts
    •  Transmit receive signal to nucleo to check if the data is similar

...