Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Todo List
File abi.h
explain how to use ABI
Global adc_buf_channel (uint8_t adc_channel, struct adc_buf *s, uint8_t av_nb_sample)
: fx a more general ADC
Global add_byte_to_buffer (uint8_t value)
Add a protection against overflows
File adxl345_i2c.c
IRQ handling
File adxl345_spi.c
Use SPICallback to copy data from rx_buf when transaction is successful, instead of checking transaction status for SPITransSuccess in event loop. Problem is that in the callback we don't have a reference to the Adxl345_Spi struct.
File ahrs_float_dcm_algebra.h
get rid of this and use pprz math lib.
Global autopilot_static_init (void)

: properly implement/fix a triggered attitude loop

, properly implement or remove

Global BARO_ETS_PRESSURE_OFFSET
find real value)
Global BARO_ETS_SCALE
check value At low altitudes pressure change is ~1.2 kPa for every 100 meters. So with a scale ADC->meters of 0.32 we get: 12 Pascal = 0.32 * ADC -> SCALE = ~ 12 / 0.32 = 37.5
Global boardInit (void)
Add your board-specific code, if any.
File gpio_arch.c
implement gpio_set|clear
File gpio_arch.h
implement gpio_set|clear
Global guidance_hybrid_set_cmd_i (struct Int32Eulers *sp_cmd)
calc sp_quat in fixed-point
File hmc58xx.c
DRDY/IRQ handling
Global imu_aspirin_i2c_init (void)

drdy int handling for adxl345

eoc interrupt for itg3200, polling for now (including status reg)

Global imu_aspirin_init (void)

drdy int handling for adxl345

eoc interrupt for itg3200, polling for now (including status reg)

Global ins_int_update_gps (struct GpsState *gps_s)
maybe use gps_s->ned_vel directly??
File itg3200.c
DRDY/IRQ handling
Global memory_read_id (void)
change the cb function to actualy read the value returned
File nav_line_osam.c
compare with normal flight line
Global quat_from_earth_cmd_f (struct FloatQuat *quat, struct FloatVect2 *cmd, float heading)
optimize yaw angle calculation
Global read_rc_setpoint_speed_i (struct Int32Vect2 *speed_sp, bool in_flight, struct RadioControl *rc)
calc proper scale while making sure a division by zero can't occur
Global run_memory_management (void)
We don't need two buffers as far as they are imadiatly copied when sended to the memory
Global sdcard1
Add support for multiple SD cards.
File sdcard_spi.c
CRC checksums are not implemented. Fake values of 0xFF are used and they are ignored by the card.
Global spi0
SPI error struct
Global spi_arch_int_enable (struct spi_periph *spi)
fix priority levels if necessary
Global start_new_log (void)

Add the size of the values sended (in Bytes : SIZE_OF_LOGGED_VALUES).

Add a space to writte the total size of that log (for the progress bar in the downloading application)

Global stateGetAngleOfAttack_f (void)
only float for now
Global stateGetSideslip_f (void)
only float for now
Global stateSetAngleOfAttack_f (uint16_t id, float aoa)
no integer yet
Global stateSetSideslip_f (uint16_t id, float sideslip)
no integer yet
Global waypoint_set_xy_i (uint8_t wp_id, int32_t x, int32_t y)
: how to handle global waypoints?