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

Implement simple interface for loadable modules. More...

Modules

 Actuator Module
 
 Airspeed Module
 
 Attitude and state estimation module
 Full attitude estimation method with selectable algorithms.
 
 Autotuning Module
 
 Battery Module
 
 Camera Stabilization Module
 
 Character OSD
 Process OSD information.
 
 Com Port to USB VCP Bridge Module
 
 Fault Module
 
 Read the firmware IAP values
 
 Fixed wing path follower module
 
 Stats Module
 
 GeoFence Module
 
 GPS
 Process GPS information.
 
 Logging Module
 
 Control Module
 Highest level control module which decides the control state.
 
 MSP to UAVO Bridge
 Bridges MSP (Multiwii Serial Protocol) telemetry to UAVOs.
 
 Pixel OSD
 Fonts for OSD.
 
 Path Planner Module
 
 Com Port to Radio Bridge Module
 
 Stabilization Module
 Header for sensor functions.
 
 Sensor acquisition module
 
 Storm32bgc Module
 
 System
 Implementation of annunciation and simple color blending for RGB LEDs.
 
 Telemetry Module
 
 TxPID Module
 
 UAVO to TBS Crossfire telemetry converter
 
 UAVO to FrSKY Bridge Module
 
 UAVO to FrSKY S.PORT Bridge Module
 
 HoTT Telemetry Module
 
 UAVO to Lighttelemetry Bridge Module
 
 
 UAVO to MSP Bridge Module
 
 UAVO to Taranis S.PORT converter
 
 Vibration analysis module
 
 VTOL path follower module
 
 Module
 

Macros

#define MOD_RAM_BEGIN   0x10000000
 
#define MOD_RODATA_BEGIN   0x20000000
 
#define MOD_CALLS_BEGIN   0xdf000000
 
#define CALL_DO_DUMB_TEST_DELAY   0xdf000001
 
#define CALL_PIOS_THREAD_CREATE   0xdf000003
 
#define CALL_PIOS_THREAD_SLEEP   0xdf000005
 
#define CALL_DO_DUMB_REGTASK   0xdf000007
 
#define CALL_ANNUNC_CUSTOM   0xdf000009
 
#define EXCEPTION_STACK_PC_OFFSET   6
 

Functions

static int32_t loadable_initialize (void)
 
static uint32_t construct_trampoline (struct loadable_extension *ext, void *data_seg, uint32_t got_addr)
 
static void * layout_extension_ram (struct loadable_extension *ext)
 
static void invoke_one_loadable (struct loadable_extension *ext)
 
static void invoke_loadables ()
 
static int32_t loadable_start (void)
 
static void do_dumb_regtask (struct pios_thread *h)
 
static void do_dumb_test_delay (int cycles)
 
void MemManageHandler_C (uint32_t *exception_stack)
 
void MemManageVector (void)
 

Variables

static bool module_enabled
 
void(* vtol_fsm_transition::entry_fn )()
 
int32_t(* vtol_fsm_transition::static_fn )()
 
uint32_t vtol_fsm_transition::timeout
 
enum vtol_fsm_state vtol_fsm_transition::next_state [FSM_EVENT_NUM_EVENTS]
 

Detailed Description

Implement simple interface for loadable modules.

Macro Definition Documentation

#define CALL_ANNUNC_CUSTOM   0xdf000009

Definition at line 45 of file loadable.c.

#define CALL_DO_DUMB_REGTASK   0xdf000007

Definition at line 44 of file loadable.c.

#define CALL_DO_DUMB_TEST_DELAY   0xdf000001

Definition at line 41 of file loadable.c.

#define CALL_PIOS_THREAD_CREATE   0xdf000003

Definition at line 42 of file loadable.c.

#define CALL_PIOS_THREAD_SLEEP   0xdf000005

Definition at line 43 of file loadable.c.

#define EXCEPTION_STACK_PC_OFFSET   6

Definition at line 268 of file loadable.c.

#define MOD_CALLS_BEGIN   0xdf000000

Definition at line 39 of file loadable.c.

#define MOD_RAM_BEGIN   0x10000000

Definition at line 37 of file loadable.c.

#define MOD_RODATA_BEGIN   0x20000000

Definition at line 38 of file loadable.c.

Function Documentation

static uint32_t construct_trampoline ( struct loadable_extension ext,
void *  data_seg,
uint32_t  got_addr 
)
static

Definition at line 66 of file loadable.c.

static void do_dumb_regtask ( struct pios_thread *  h)
static

Definition at line 259 of file loadable.c.

static void do_dumb_test_delay ( int  cycles)
static

Definition at line 264 of file loadable.c.

static void invoke_loadables ( )
static
Todo:
test the data seg related things for sanity
Todo:
alignment requirements
Todo:
check CRC

Definition at line 186 of file loadable.c.

static void invoke_one_loadable ( struct loadable_extension ext)
static
Todo:
check payload CRC.

Definition at line 160 of file loadable.c.

static void* layout_extension_ram ( struct loadable_extension ext)
static

Definition at line 110 of file loadable.c.

static int32_t loadable_initialize ( void  )
static

Definition at line 49 of file loadable.c.

static int32_t loadable_start ( void  )
static

Definition at line 245 of file loadable.c.

void MemManageHandler_C ( uint32_t *  exception_stack)

Definition at line 274 of file loadable.c.

void MemManageVector ( void  )

Definition at line 300 of file loadable.c.

Variable Documentation

void(* vtol_fsm_transition::entry_fn)()

Called when entering a state (i.e. activating a state)

Definition at line 96 of file vtol_follower_fsm.c.

bool module_enabled
static

Definition at line 47 of file loadable.c.

enum vtol_fsm_state vtol_fsm_transition::next_state[FSM_EVENT_NUM_EVENTS]

Definition at line 99 of file vtol_follower_fsm.c.

int32_t(* vtol_fsm_transition::static_fn)()

Called while in a state to update nav and check termination

Definition at line 97 of file vtol_follower_fsm.c.

uint32_t vtol_fsm_transition::timeout

Timeout in milliseconds. 0=no timeout

Definition at line 98 of file vtol_follower_fsm.c.