- STM32 Microcontroller
- FlySky FS - i6x (OpenI6x Software)
- FS-iA#B AFHDS2A (# : 6 or 10)
- Can receive 14 Channels of the FlySky FS - i6x
- Can send up to 16 sensor measurements
- Only iBus ports are used, minimazing the pin usage
- Each Servo and Sensor iBus requires one U(S)ART peripheral (Half-Dublex)
- Every transmission and reception is handled by state machine guided DMA operations, minimazing CPU load
SMT32F103C8T6 Based Example Project
- 14 Channel Servo Reception (DMA)
- 16 Channel Sensor Transmission (DMA)
- USART1 (iBus - Sensor) (Half-Dublex)
- USART2 (iBus - Servo) (Half-Dublex)
- Prints Servo Channels over SWO ITM
- HSE -> Crystal / Ceramic Resonator
- Debug -> Trace Asynchronous SW
- Timebase Source -> SysTick
- Mode -> Single Wire (Half-Dublex) (Transfer and Receive)
- BoudRate -> 115200 (8N1)
- DMA_RX -> Enabled
- DMA_TX -> Enabled
- NVIC -> USART1 Global Interrupt Enabled
- Mode -> Single Wire (Half-Dublex) (Only Receive)
- BoudRate -> 115200 (8N1)
- DMA_RX -> Enabled
- Register CallBacks -> UART -> Enabled
- Generate peripheral initilazation as pair of .c/.h files per peripheral -> Enabled
- OpenI6x Software for FlySky - i6x
- Configure Microcontroller Peripherals according to Example Project
- Copy
Telemetry.c/.h
Files to Inc and Src Folders - Add
***_UART_Telemetry_Init(&huart)
Functions inUSER_CODE_2
Field - Add Global
TelemetrySensorStruct SensorList[NUM_SENSOR]
Array According to iBus Sensor Types - Edit
NUM_SENSOR
@Telemetry.h
File