ardupilot/Tools/AP_Bootloader/support.h

51 lines
1.1 KiB
C
Raw Normal View History

2018-06-21 03:41:07 -03:00
#pragma once
#define LED_ACTIVITY 1
#define LED_BOOTLOADER 2
/* board info forwarded from board-specific code to booloader */
struct boardinfo {
2018-06-21 03:41:07 -03:00
uint32_t board_type;
uint32_t board_rev;
uint32_t fw_size;
} __attribute__((packed));
extern struct boardinfo board_info;
int16_t cin(unsigned timeout_ms);
void cout(uint8_t *data, uint32_t len);
void cfini(void);
void flash_init();
uint32_t flash_func_read_word(uint32_t offset);
void flash_func_write_word(uint32_t offset, uint32_t v);
uint32_t flash_func_sector_size(uint32_t sector);
void flash_func_erase_sector(uint32_t sector);
uint32_t flash_func_read_otp(uint32_t idx);
uint32_t flash_func_read_sn(uint32_t idx);
uint32_t get_mcu_id(void);
uint32_t get_mcu_desc(uint32_t len, uint8_t *buf);
void led_on(unsigned led);
void led_off(unsigned led);
void led_toggle(unsigned led);
// printf to USB
void uprintf(const char *fmt, ...);
// generate a LED sequence forever
void led_pulses(uint8_t npulses);
2018-06-21 03:41:07 -03:00
typedef struct mcu_des_t {
uint16_t mcuid;
const char *desc;
char rev;
} mcu_des_t;
typedef struct mcu_rev_t {
uint16_t revid;
char rev;
} mcu_rev_t;