Drone FW using STM32CubeIDE/4. Transmitter_Receiver
![[Drone Firmware using STM32CubeIDE] 4-2. FS-i6 Transmitter Setting](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fdmi6ug%2Fbtrd7SHOk2s%2FAAAAAAAAAAAAAAAAAAAAACi5f5yCOj3DA7iytD3aJgx8OlE5PSosbHeb1fcfCHf4%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DeFfiCCoR25tb2tG6SciBMRWpgwQ%253D)
[Drone Firmware using STM32CubeIDE] 4-2. FS-i6 Transmitter Setting
드론의 송신기로 사용할 FS-i6의 초기설정이다. 이는 생략하려 했으나 최근 FS-i6X 송신기의 구매로 이전에 사용했던 FS-i6 초기설정 과정을 다시 확인할 겸 포스팅을 진행한다. (FS-i6X는 최대 10채널 송신기로 기존의 최대 6채널 송신기인 FS-i6 보다 4채널이 더 많다.) 초기 설정의 과정은 다음과 같다. 공장 초기화 송신기 - 수신기 연결 스틱 모드 설정 Aux 채널 설정 Fail-safe 설정 Display 확인 1. Factory Reset 먼저 공장 초기화를 진행한다. 공장 초기화 과정은 이전에 연결되어있는 수신기와의 연결을 해제하는 것이다. 송신기를 처음 쓸때는 이 과정을 생략해도 되지만 그래도 한번씩 해주자. 오른쪽 상단의 OK 키를 길게 누르면 MENU 창이 뜨는데 여기서 S..
![[Drone Firmware using STM32CubeIDE] 4-3. i-Bus Message Recption & Parsing & Fail-safe](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fo9Tgi%2FbtrbvbwHyfd%2FAAAAAAAAAAAAAAAAAAAAAAQmaGmGawoM-pQp7D4XbyrsDpK1d3ViPLg5jZcE3nD7%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DnJY8dYjbCogbr5hlOD9vXgDCSuE%253D)
[Drone Firmware using STM32CubeIDE] 4-3. i-Bus Message Recption & Parsing & Fail-safe
이번시간에는 i-Bus 메시지를 받아와서 체크섬 검사 및 구조체 변수에 파싱하는 작업을 해보겠다. Process for i-Bus Message Reception and Parsing 메시지를 수신하고 파싱하는 과정은 UBX 메시지를 다룰 때와 거의 비슷하다. SYNC CHAR 검사 Byte0, Byte1이 각각 0x20 0x40 인지 검사 메시지 수신 Byte31 까지 모든 메시지 프레임을 수신하여 임시 버퍼에 저장 Checksum 검사 Byte0 ~ Byte29 까지 체크섬 계산 계산한 체크섬 LSB와 Byte30 비교 계산한 체크섬 MSB와 Byte31 비교 각 채널 데이터를 구조체 변수에 파싱 Byte2 ~ Byte29 -> 구조체 변수에 파싱 또한 메시지 수신 코드 작성에 있어서 전제 조건들이 ..
![[Drone Firmware using STM32CubeIDE] 4-1. i-Bus Protocol](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbSUfWn%2FbtraVEtiMO7%2FAAAAAAAAAAAAAAAAAAAAAI8pls8yyQweocnoSOQQLn-TXfzPPEMWQVhizMu3igll%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DK6O8PwK2OzxI8iG4bHlk6cYhkN4%253D)
[Drone Firmware using STM32CubeIDE] 4-1. i-Bus Protocol
i-Bus 프로토콜은 조종기의 조작 정보가 담긴 FlySky 사의 자체 통신 규약이다. i-Bus 프로토콜은 정식 문서가 없어서 설명하는 내용이 100% 정확한 내용은 아니다. 강의에서 배운 내용을 토대로 작성해보겠다. i-Bus Message Frame Structure i-Bus 메시지의 프레임 구조는 다음과 같다. 모든 메시지 프레임은 2byte의 SYNC CHAR(헤더)로 시작 : 0x20 0x40 그 후 CH1 ~ CH14까지의 데이터가 각각 2byte씩 Little Endian으로 전송 마지막 2byte는 체크섬 각 채널의 데이터는 2byte 부호없는 정수 형태로 표현 (unsigned short) 체크섬은 0xffff 에서 CHKSUM 2byte를 제외하고 SYNC CHAR을 포함한 모든 데..