DevGuide/DesignOverview

From PaparazziUAV
Revision as of 06:21, 13 May 2008 by Poine (talk | contribs)
Jump to navigation Jump to search

Functional Diagram

Functional diagram.png


Design Goals

-Static approach
-Modularity
-Hardware absraction
-Runtime efficiency

Static Approach

 -only "things that needs to be changed during flight are changeable
 -maximise compilation time resolutions
 advantages
   Error checking
   Efficiency
   Safety/Robustness

Modularity

Modularity.png

 -Separation of concerns
 -Maintenability
 -Interface
 -C provide no dedicated mechanism for modularity
 -Main issues with modularity are configuration and dependancies

Dependancies example.png

Hardware abstraction

 -Segregate hardware dependant modules

Hardware abstraction.png


Runtime Efficiency

 bad :

switch(UART) { case UART0 : UARTO_write(...); break; case UART1 : UART1_write(...); break; } good : #define UartWrite(x) UART ## _write(x) UartWrite(...);