You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
962 B
48 lines
962 B
/* |
|
* based on Cleanflight 4way driver |
|
* |
|
*/ |
|
#pragma once |
|
|
|
#include <stdint.h> |
|
#include <stdbool.h> |
|
|
|
#include <AP_HAL/AP_HAL.h> |
|
#include <hal.h> |
|
#include <systick.h> |
|
|
|
#include "serial_4way_impl.h" |
|
|
|
#define USE_SERIAL_4WAY_BLHELI_BOOTLOADER |
|
#define USE_SERIAL_4WAY_SK_BOOTLOADER |
|
|
|
#define imC2 0 |
|
#define imSIL_BLB 1 |
|
#define imATM_BLB 2 |
|
#define imSK 3 |
|
#define imARM_BLB 4 |
|
|
|
|
|
|
|
typedef union __attribute__ ((packed)) { |
|
uint8_t bytes[2]; |
|
uint16_t word; |
|
} uint8_16_u; |
|
|
|
typedef union __attribute__ ((packed)) { |
|
uint8_t bytes[4]; |
|
uint16_t words[2]; |
|
uint32_t dword; |
|
} uint8_32_u; |
|
|
|
|
|
extern uint16_t _crc_xmodem_update (uint16_t crc, uint8_t data); |
|
extern bool isMcuConnected(void); |
|
|
|
extern uint8_t esc4wayInit(const uint8_t *output_channels, uint8_t nm); |
|
|
|
// rem: App: Wait at least appx. 500 ms for BLHeli to jump into |
|
// bootloader mode before try to connect any ESC |
|
// Start to activate here |
|
extern void esc4wayProcess(AP_HAL::UARTDriver *uartPort); |
|
|
|
|