dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

In Application Programming module to support firmware upgrades by providing a means to enter the bootloader. More...

#include <stdint.h>
#include "pios.h"
#include <pios_board_info.h>
#include "openpilot.h"
#include <eventdispatcher.h>
#include "firmwareiap.h"
#include "firmwareiapobj.h"
#include "flightstatus.h"
#include "pios_servo.h"
#include "pios_thread.h"

Go to the source code of this file.

Macros

#define IAP_CMD_STEP_1   1122
 
#define IAP_CMD_STEP_2   2233
 
#define IAP_CMD_STEP_3   3344
 
#define IAP_CMD_STEP_3NB   4455
 
#define IAP_CMD_CRC   100
 
#define IAP_CMD_VERIFY   101
 
#define IAP_CMD_VERSION   102
 
#define IAP_STATE_READY   0
 
#define IAP_STATE_STEP_1   1
 
#define IAP_STATE_STEP_2   2
 
#define IAP_STATE_RESETTING   3
 
#define RESET_DELAY_MS   500 /* delay before sending reset to INS */
 

Functions

static void FirmwareIAPCallback (const UAVObjEvent *ev, void *ctx, void *obj, int len)
 FirmwareIAPCallback - callback function for firmware IAP requests. More...
 
static uint32_t get_time (void)
 Returns number of milliseconds from the start of the kernel. More...
 
static void resetTask (const UAVObjEvent *ev, void *ctx, void *obj, int len)
 
int32_t FirmwareIAPInitialize ()
 Performs object initialization functions. More...
 
int32_t FirmwareIAPStart ()
 
void FirmwareIAPSetBoardRev (uint8_t rev)
 

Variables

const uint32_t iap_time_2_low_end = 500
 
const uint32_t iap_time_2_high_end = 5000
 
const uint32_t iap_time_3_low_end = 500
 
const uint32_t iap_time_3_high_end = 5000
 
static uint8_t reset_count = 0
 
static uint32_t lastResetSysTime
 
static uint8_t board_rev = 0
 

Detailed Description

In Application Programming module to support firmware upgrades by providing a means to enter the bootloader.

Example module to be used as a template for actual modules.

Author
The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
Tau Labs, http://taulabs.org, Copyright (C) 2014
dRonin, http://dronin.org Copyright (C) 2015-2016
See Also
The GNU Public License (GPL) Version 3
Author
The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
See Also
The GNU Public License (GPL) Version 3

Definition in file firmwareiap.c.