Commit Graph

8061 Commits

Author SHA1 Message Date
Andrew Tridgell
f50ee4c44c GCS_MAVLink: all vehicles now use functors 2015-06-01 15:18:33 +10:00
Andrew Tridgell
9379e79489 DataFlash: all vehicles now use functors 2015-06-01 15:18:32 +10:00
Andrew Tridgell
f24e69f4a0 AP_Vehicle: all vehicles now use functors 2015-06-01 15:18:32 +10:00
Andrew Tridgell
dd691ae75c AP_Scheduler: all vehicles now use functors 2015-06-01 15:18:31 +10:00
Andrew Tridgell
ec2d429513 AP_Mission: all vehicles now use functors 2015-06-01 15:18:31 +10:00
Andrew Tridgell
bd5a58e4c4 AP_Menu: all vehicles now use functors 2015-06-01 15:18:31 +10:00
Andrew Tridgell
4dd47ead0e AP_HAL: removed old fastdelegate code 2015-06-01 15:18:30 +10:00
Andrew Tridgell
9ed0ee12fb AP_Vehicle: all vehicle types now use functors 2015-06-01 15:06:31 +10:00
Andrew Tridgell
96737a3982 SITL: fixed yaw wrap in simulated AntennaTracker 2015-06-01 14:08:45 +10:00
Andrew Tridgell
d57eca9de8 HAL_SITL: enable simulated antenna tracker 2015-06-01 12:53:50 +10:00
Andrew Tridgell
edb54cabb5 SITL: added simulated antenna tracker 2015-06-01 12:53:30 +10:00
Andrew Tridgell
14bdfe2889 SITL: started to use C++11 variable initialisation 2015-06-01 08:04:51 +10:00
Andrew Tridgell
b541bfb739 SITL: fixed build warnings 2015-05-30 22:51:38 +10:00
Andrew Tridgell
d5da9fcca6 AP_NavEKF: fixed build warnings 2015-05-30 22:51:30 +10:00
Andrew Tridgell
6a2c585632 AP_InertialSensor: fixed build warnings 2015-05-30 22:51:19 +10:00
Andrew Tridgell
ac3fc2f373 AP_HAL: fixed build warnings 2015-05-30 22:51:09 +10:00
Andrew Tridgell
084521243e AP_GPS: fixed some build warnings 2015-05-30 22:51:00 +10:00
Andrew Tridgell
249b339e6c HAL_SITL: fixed a build warning 2015-05-30 22:16:37 +10:00
Andrew Tridgell
73445fdae9 DataFlash: added error checking and fixed a warning 2015-05-30 22:16:22 +10:00
Andrew Tridgell
1088e72fda AP_Vehicle: make copter use functors 2015-05-30 15:21:22 +09:00
Robert Lefebvre
1424b17a83 AP_Motors_Heli: Change default RSC_SETPOINT to 700 2015-05-29 17:46:25 +09:00
Robert Lefebvre
4da54783fd AC_AttitudeControl_Heli: Semantic Change. Motor Runup to Rotor Runup. 2015-05-29 17:46:23 +09:00
Robert Lefebvre
d24664ccf9 AP_MotorsHeli: Semantic change. Motor Runup to Rotor Runup 2015-05-29 17:46:18 +09:00
Robert Lefebvre
65ca09600c AP_Motors: Heli eliminate _dt member and fix rsc_runup calculation 2015-05-29 17:46:09 +09:00
Robert Lefebvre
18bac524a3 Copter: TradHeli, change Rate FF LPF to 10Hz 2015-05-29 17:46:05 +09:00
Andrew Tridgell
f39063e023 DataFlash: don't do PID logging on APM2 2015-05-29 16:32:05 +10:00
Randy Mackay
19b021f729 RCMap: added RebootRequired param description 2015-05-28 19:32:38 +09:00
svefro
b02bbcd289 RCMap: added Reboot required to rcmap parameter descriptions
Added Reboot required to rcmap throttle, yaw, pitch, roll
2015-05-28 19:32:20 +09:00
Andrew Tridgell
b6eba0842a DataFlash: fixed CAM message format 2015-05-27 22:10:39 +10:00
Andrew Tridgell
00ca493860 AP_AHRS: prevent a floating exception in update_trig 2015-05-27 22:10:39 +10:00
Randy Mackay
b121d83beb RC_Channel: add EPM, LandingGear to FUNCTION param description 2015-05-27 18:05:01 +09:00
Andrew Tridgell
8454246fae AP_Param: make it safe to change the type of a parameter
if the type is changed then the value will revert to its default value
2015-05-27 15:29:40 +10:00
Andrew Tridgell
95ff71940c DataFlash: fixed rebase errors 2015-05-27 14:28:50 +10:00
Andrew Tridgell
8f34ed5b76 DataFlash: added PIDA message
for logging Z accel PID in copter
2015-05-27 14:28:50 +10:00
Andrew Tridgell
a57889e3b0 GCS_MAVLink: re-generate headers 2015-05-27 14:28:49 +10:00
Andrew Tridgell
0ed7fda41d GCS_MAVLink: added ACCZ and STEER PID_TUNING axes 2015-05-27 14:28:49 +10:00
Andrew Tridgell
521dae1c65 AC_AttitudeControl: use set_desired_rate() on PID controllers
this sets them up for logging of PIDs
2015-05-27 14:28:49 +10:00
Andrew Tridgell
3ec8857fbc AC_PID: added set_desired_rate() interface
used to setup _pid_info for logging
2015-05-27 14:28:48 +10:00
Andrew Tridgell
6000bb0c32 AC_PID: log desired rate for VFF as well as AFF 2015-05-27 14:28:48 +10:00
Andrew Tridgell
b45ab52015 DataFlash: added desired rate to PID logging 2015-05-27 14:28:48 +10:00
Andrew Tridgell
86a3bca88c APM_Control: added FF parameters to roll and pitch controllers
these are much easier to tune with the new PID_TUNING messages
2015-05-27 14:28:47 +10:00
Robert Lefebvre
353879cd2b AC_AttitudeControl_Heli: Add Rate Accel FF to Yaw control 2015-05-27 14:28:47 +10:00
Robert Lefebvre
366f87c91c AC_HELI_PID: Add Acceleration FF method. 2015-05-27 14:28:47 +10:00
Robert Lefebvre
7ab628521e DataFlash: Add Acceleration Feedforward to PID_Info. 2015-05-27 14:28:47 +10:00
Robert Lefebvre
810b12a1ac AC_AttitudeControlHeli: Change Rate Yaw FF LPF from 5Hz to 10Hz. 2015-05-27 14:28:46 +10:00
Andrew Tridgell
e79a21d8c2 AC_PID: fill in desired rate for heli PID 2015-05-27 14:28:46 +10:00
Andrew Tridgell
d148c38f68 DataFlash: added desired rate to PID_Info 2015-05-27 14:28:45 +10:00
Andrew Tridgell
0fe04a93ce GCS_MAVLink: rebuilt headers 2015-05-27 14:28:45 +10:00
Andrew Tridgell
cc80fdf593 GCS_MAVLink: added PID_TUNING message 2015-05-27 14:28:45 +10:00
Andrew Tridgell
216a78a9f0 APM_Control: added get_pid_info() interface 2015-05-27 14:28:44 +10:00
Robert Lefebvre
23adf2773c AC_AttitudeControl: Remove To-Do comments for Attitude Rate logging. 2015-05-27 14:28:44 +10:00
Robert Lefebvre
967071ca62 AC_PID: Integrate PID Logging functionality. 2015-05-27 14:28:44 +10:00
Robert Lefebvre
753be18c17 DataFlash: Add PID Logging Method 2015-05-27 14:28:44 +10:00
Andrew Tridgell
d8df31c023 SITL: initialise a couple of variables to prevent a valgrind error 2015-05-27 11:54:18 +10:00
Andrew Tridgell
2a22ae5404 DataFlash: support 64 bit TimeUS log dumping 2015-05-27 11:54:18 +10:00
Andrew Tridgell
1400d0155c AP_Mount: fixed valgrind error with gimbal code 2015-05-27 11:54:17 +10:00
Andrew Tridgell
4705be97bf AP_HAL: support %lld and %llu in internal printf
useful for log messages with 64 bit timestamps
2015-05-27 11:54:17 +10:00
Peter Barker
8be9e99fad AP_InertialSensor_PX4: 64-bit timestamps for ACCx and GYRx messages 2015-05-27 11:54:17 +10:00
Peter Barker
988f3277de DataFlash: 64-bit timestamps for ACCx and GYRx messages 2015-05-27 11:54:17 +10:00
Peter Barker
f489f6b696 AP_InertialSensor: use 64-bit timestamps in dataflash logs 2015-05-27 11:54:17 +10:00
Peter Barker
9ae85ed9ab APM_Control/AP_AutoTune: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:17 +10:00
Peter Barker
457f77314e AP_TECS: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:16 +10:00
Peter Barker
feb85ef7d5 AP_GPS: unused SBP struct gets 64-bit timestamp 2015-05-27 11:54:16 +10:00
Peter Barker
4d67ccb338 AP_GPS: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:16 +10:00
Peter Barker
9e0b5910e2 AP_Terrain: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:16 +10:00
Peter Barker
88015503ac SITL: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:16 +10:00
Peter Barker
617043f468 DataFlash: convert GPS and CAM dataflash messages to 64-bit timestamps
GPS structures remove 32-bit apm_time and replace with standard time_us
Significant change to GPS and GPS2 messages:
	    Add TimeUS as first field
	    Remove T field
	    Due to length restrictions on labels:
	    	Renamed TimeMS to GMS (Gps MilliSeconds)
		Renamed Week to GWk (Gps WeeK)
		Renamed RelAlt to RAlt
Significant change to CAM messages:
	    Removed GPSTime (uin32_t), added TimeUS (uint64_t)
2015-05-27 11:54:15 +10:00
Peter Barker
769982b8f2 DataFlash: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:14 +10:00
Randy Mackay
114c4f4077 AP_Match: fix example sketch 2015-05-27 09:47:24 +09:00
Randy Mackay
fb2d29364e Mount_SToRM32_serial: fix angle request 2015-05-26 21:05:29 +09:00
Randy Mackay
9b04a67e63 Mount_SToRM32_serial: rename sent_do_mount_control 2015-05-26 21:05:26 +09:00
Randy Mackay
72eb25b166 Mount: add SToRM32 serial to front end 2015-05-26 21:05:24 +09:00
Sergey Kirillov
c133511431 Mount: add SToRM32 serial support 2015-05-26 21:05:22 +09:00
Sergey Kirillov
69959a4214 SerialManager: add SToRM32 serial enum and baudrates 2015-05-26 21:05:19 +09:00
Andrew Tridgell
c7044c4f91 AP_Terrain: make terrain request times per channel
otherwise we can miss sending one if we send first to a channel not
being listened to
2015-05-26 17:27:51 +10:00
Andrew Tridgell
3a9d7363ea HAL_VRBRain: fixed functor comparison 2015-05-26 15:17:06 +10:00
Andrew Tridgell
e589ca9b80 HAL_Flymaple: fixed functor comparison 2015-05-26 15:16:51 +10:00
Andrew Tridgell
7e264b44df HAL_Linux: fixed functor comparison 2015-05-26 15:14:50 +10:00
Andrew Tridgell
96b921d4cc AP_Scheduler: fixed example build 2015-05-26 14:37:14 +10:00
Andrew Tridgell
4fdfa47ca3 GCS_MAVLink: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:35:12 +10:00
Andrew Tridgell
8624a262e7 DataFlash: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:35:04 +10:00
Andrew Tridgell
83e6181024 AP_Vehicle: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:34:58 +10:00
Andrew Tridgell
e3f8e22fc6 AP_Mission: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:34:51 +10:00
Andrew Tridgell
85f87b6d9c AP_Menu: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:34:47 +10:00
Andrew Tridgell
1a2b02a563 AP_HAL: removed AVR special case
no longer needed
2015-05-26 14:34:13 +10:00
Andrew Tridgell
7db9da6545 AP_Scheduler: removed delegate ptr handling
no longer needed
2015-05-26 14:33:30 +10:00
Andrew Tridgell
edc21cfa38 AP_Compass: make having no compass backends non-fatal
thanks to Daniel for spotting this
2015-05-26 14:23:40 +10:00
Andrew Tridgell
43fb1202f2 HAL_PX4: fixed functor comparison with NULL 2015-05-26 13:54:38 +10:00
Lucas De Marchi
0daeeb9518 ArduPlane: Start using new Functor implementation
It both reduces flash size and move symbols to read-only sections.
The scheduler_tasks table is one known not to be in read-only section before due
to the FastDelegate implementation. Before and after this patch:

	ArduPlane $ size ArduPlane.elf{.old,}
	   text	   data	    bss	    dec	    hex	filename
	 733368	   8252	  67352	 808972	  c580c	ArduPlane.elf.old
	 730632	   8236	  64792	 803660	  c434c	ArduPlane.elf

	ArduPlane $ nm -C ArduPlane.elf.old|grep scheduler_tasks
	0000000000402800 t _GLOBAL__sub_I__ZN5Plane15scheduler_tasksE
	00000000006b54c0 B Plane::scheduler_tasks

	ArduPlane $ nm -C ArduPlane.elf|grep scheduler_tasks
	0000000000490900 R Plane::scheduler_tasks

As can be seen above, now the scheduler_tasks symbol is in a read-only data
section and in all of them we decreased the total size.

For APM2 we have a little increase in the text size size.

	ArduPlane $ size ArduPlane.elf{.old,}
	   text	   data	    bss	    dec	    hex	filename
	 241940	    942	   4447	 247329	  3c621	ArduPlane.elf.old
	 242222	    942	   4431	 247595	  3c72b	ArduPlane.elf

	ArduPlane $ nm -C ArduPlane.elf.old|grep scheduler_tasks
	00001f8f T Plane::scheduler_tasks

	ArduPlane $ nm -C ArduPlane.elf|grep scheduler_tasks
	00001f8f T Plane::scheduler_tasks
2015-05-26 13:46:55 +10:00
Lucas De Marchi
84f399ec3c APMrover2: Start using new Functor implementation
It both reduces flash size and move symbols to read-only sections.
The scheduler_tasks table is one known not to be in read-only section before due
to the FastDelegate implementation. Before and after this patch:

	APMrover2 $ size APMrover2.elf{.old,}
	   text	   data	    bss	    dec	    hex	filename
	 611406	   4832	  40920	 657158	  a0706	APMrover2.elf.old
	 609686	   4824	  38936	 653446	  9f886	APMrover2.elf

	APMrover2 $ nm -C APMrover2.elf{.old,} |grep tasks
	0000000000696f80 B Rover::scheduler_tasks
	000000000047c440 R Rover::scheduler_tasks

As can be seen above, now the scheduler_tasks symbol is in a read-only data
section and in all of them we decreased the total size.

For APM2 we have a similar situation, but the table was already in text section
because it was using plain C pointers:

	APMrover2 $ size APMrover2.elf{.old,}
	   text	   data	    bss	    dec	    hex	filename
	 189518	   1038	   3494	 194050	  2f602	APMrover2.elf.old
	 189216	   1038	   3480	 193734	  2f4c6	APMrover2.elf

	APMrover2 $ nm -C APMrover2.elf{.old,} |grep tasks
	00001f92 T Rover::scheduler_tasks
	00001f8a T Rover::scheduler_tasks
2015-05-26 13:46:55 +10:00
Lucas De Marchi
20ef7efaf6 AP_HAL: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:55 +10:00
Lucas De Marchi
c894a1349e DataFlash: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Lucas De Marchi
6ae2591cad AP_Terrain: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Lucas De Marchi
9764bb2452 AP_Notify: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Lucas De Marchi
3aa46e3213 AP_InertialSensor: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:53 +10:00
Lucas De Marchi
4c97d92982 AP_HAL_Linux: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:53 +10:00
Lucas De Marchi
9b7c1d8f93 AP_HAL_FLYMAPLE: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:53 +10:00
Lucas De Marchi
dcf992b558 AP_HAL_AVR: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:53 +10:00
Lucas De Marchi
435613de69 AP_Frsky_Telem: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:53 +10:00
Lucas De Marchi
95627cf412 AP_Compass: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:52 +10:00