dRonin
adbada4
dRonin firmware
|
Files | |
file | common.h |
Common definitions across the bootloaders. | |
file | main.c |
Start PiOS and bootloader functions. | |
file | op_dfu.c |
This file contains the DFU commands handling code. | |
file | op_dfu.h |
This file contains the DFU commands handling code. | |
Data Structures | |
struct | Device |
Macros | |
#define | USB 0 |
#define | SPI 1 |
#define | DownloadDelay 100000 |
#define | MAX_DEL_RETRYS 3 |
#define | MAX_WRI_RETRYS 3 |
#define | BSL_HOLD_STATE ((PIOS_USB_DETECT_GPIO_PORT->IDR & PIOS_USB_DETECT_GPIO_PIN) ? 0 : 1) |
#define | COMMAND 0 |
#define | COUNT 1 |
#define | DATA 5 |
Typedefs | |
typedef void(* | pFunction )(void) |
Enumerations | |
enum | DownloadAction { start, keepgoing } |
enum | DFUStates { DFUidle, uploading, wrong_packet_received, too_many_packets, too_few_packets, Last_operation_Success, downloading, BLidle, Last_operation_failed, uploadingStarting, outsideDevCapabilities, CRC_Fail, failed_jump } |
enum | DFUCommands { Reserved, Req_Capabilities, Rep_Capabilities, EnterDFU, JumpFW, Reset, Abort_Operation, Upload, Op_END, Download_Req, Download, Status_Request, Status_Rep } |
enum | DeviceType { High_Density, Medium_Density } |
enum | DFUTransfer { FW, Descript } |
enum | DFUPort { Usb, Serial } |
enum | DFUProgType { Self_flash, Remote_flash_via_spi } |
Functions | |
void | PIOS_Board_Init (void) |
void | FLASH_Download () |
uint32_t | LedPWM (uint32_t pwm_period, uint32_t pwm_sweep_steps, uint32_t count) |
uint8_t | processRX () |
void | jump_to_app () |
int | main () |
void | sendData (uint8_t *buf, uint16_t size) |
uint32_t | CalcFirmCRC (void) |
void | DataDownload (DownloadAction action) |
void | processComand (uint8_t *xReceive_Buffer) |
void | OPDfuIni (uint8_t discover) |
uint32_t | baseOfAdressType (DFUTransfer type) |
uint8_t | isBiggerThanAvailable (DFUTransfer type, uint32_t size) |
bool | flash_read (uint8_t *buffer, uint32_t adr, DFUProgType type) |
uint32_t | baseOfAdressType (uint8_t type) |
uint8_t | isBiggerThanAvailable (uint8_t type, uint32_t size) |
#define BSL_HOLD_STATE ((PIOS_USB_DETECT_GPIO_PORT->IDR & PIOS_USB_DETECT_GPIO_PIN) ? 0 : 1) |
enum DeviceType |
enum DFUCommands |
enum DFUProgType |
enum DFUStates |
enum DFUTransfer |
enum DownloadAction |
uint32_t baseOfAdressType | ( | uint8_t | type | ) |
uint32_t baseOfAdressType | ( | DFUTransfer | type | ) |
void DataDownload | ( | DownloadAction | action | ) |
void FLASH_Download | ( | ) |
bool flash_read | ( | uint8_t * | buffer, |
uint32_t | adr, | ||
DFUProgType | type | ||
) |
uint8_t isBiggerThanAvailable | ( | uint8_t | type, |
uint32_t | size | ||
) |
uint8_t isBiggerThanAvailable | ( | DFUTransfer | type, |
uint32_t | size | ||
) |
uint32_t LedPWM | ( | uint32_t | pwm_period, |
uint32_t | pwm_sweep_steps, | ||
uint32_t | count | ||
) |
int main | ( | void | ) |
dRonin Main function:
Initialize PiOS
Create the "System" task (SystemModInitializein Modules/System/systemmod.c)
Start the RTOS Scheduler
CortexM3 CPU vectors
CortexM3 CPU vectors
void PIOS_Board_Init | ( | ) |
PIOS_Board_Init() initializes all the core subsystems on this specific hardware called from System/openpilot.c
Initialise PWM Output for black/white level setting PIOS_Board_Init() initializes all the core subsystems on this specific hardware called from System/openpilot.c
PIOS_Board_Init() initializes all the core subsystems on this specific hardware
PIOS_Board_Init() initializes all the core systems on this specific hardware called from System/openpilot.c
Definition at line 44 of file pios_board.c.
DFUProgType currentProgrammingDestination |
DFUTransfer downType = 0 |