Commit Graph

5314 Commits

Author SHA1 Message Date
Freek van Tienen 0f7dc6b093 [vision] Small fixes and added periodic telemetry 2015-04-06 23:11:40 +02:00
Freek van Tienen abc2859fbe [vision] Added more documentation about optical flow 2015-04-06 23:11:40 +02:00
Freek van Tienen 5f49f54faa [vision] Add more settings to optical flow 2015-04-06 23:11:40 +02:00
Freek van Tienen e8895ae6cd [linux] Static link LIBC library 2015-04-06 23:11:32 +02:00
Freek van Tienen 712264cbee [vision] Fix optic flow calculations 2015-03-22 17:07:55 +01:00
Freek van Tienen 54145a2e88 [vision] Better FAST9 corner detection 2015-03-22 17:07:55 +01:00
Freek van Tienen 9be322692f [vision] Move folders and add general image struct 2015-03-22 17:07:54 +01:00
Freek van Tienen 0e0d1be8d0 [vision] Opticflow cleanup 2015-03-22 17:07:54 +01:00
Gautier Hattenberger 999029b5df [fix][ocaml] uint32 are actually stored in Int64
and converting md5sum to hex was really a bad idea (since server was not
aware of this change)
2015-03-20 18:15:50 +01:00
Felix Ruess 3987170152 [ocaml][simulator] remove myGtkInit by calling init directly in simsitl.ml 2015-03-19 13:16:40 +01:00
Gautier Hattenberger 72deb3577c [ocaml] fix formatting of values in pprz ocaml lib (#1135) 2015-03-18 13:35:33 +01:00
Felix Ruess e6c99050ae [simulator] add easystar FlightGear model 2015-03-11 15:00:59 +01:00
Felix Ruess 59c13b5384 [modules] video_rtp_stream doc 2015-03-11 14:35:37 +01:00
Felix Ruess a2cc6cbb9d move STRINGIFY macro to std.h and use it a bit more 2015-03-11 14:26:50 +01:00
Felix Ruess a207d15c98 [modules] video_rtp_stream: valid xml for strings 2015-03-11 13:27:59 +01:00
Felix Ruess 3c547fae7c [conf] jsbsim: update description for easystar model 2015-03-10 16:50:11 +01:00
Gautier Hattenberger 6520776cd5 [jsbsim] use aileron and not only rudder with easystar 2015-03-10 15:04:52 +01:00
Gautier Hattenberger 6c84b45e63 use easystar in jp airframe 2015-03-10 15:04:52 +01:00
Felix Ruess 478f95bc10 [nps] update crrcsim and cleanup accel 2015-03-10 14:47:13 +01:00
Gautier Hattenberger c96019cb8f [nps] update airframe and add a jsbsim model for NPS 2015-03-10 14:29:37 +01:00
Felix Ruess 8177db2e97 [nps] fdm_jsbsim: use GetAccelBody for accelerometer simulation 2015-03-10 13:52:19 +01:00
Felix Ruess 06b9456ad2 [nps] add easystar JSBSim model
Model from James Goppert's https://github.com/arktools/arkhangar

Use it for Microjet_LisaM, as it is at least a closer match than Malolo
2015-03-09 19:09:17 +01:00
Felix Ruess 73af245e1e [nps] fixedwings: no need for NPS_ACTUATOR_NAMES
If NPS_ACTUATOR_NAMES is not specified, use the standard throttle,roll,pitch and if used in airframe yaw commands
for throttle, aileron, elevator and rudder in JSBSim model.
2015-03-09 16:15:19 +01:00
Felix Ruess 9797c2998d [nps] imu sensors: take sign into account 2015-03-09 16:15:12 +01:00
Felix Ruess 59ae883f5b [nps] add sw/simulator to include dirs so that nps settings file works 2015-03-08 00:24:28 +01:00
Felix Ruess 4ee4d948c3 [modules] digital_cam: doc for DC_SHUTTER_DELAY and DC_POWER_OFF_DELAY 2015-03-07 14:39:08 +01:00
Felix Ruess 0b245c04db [modules] minor ctrl_module_demo cosmetics 2015-03-07 13:53:27 +01:00
Felix Ruess 9d0992220a [conf] bebop: comment file_logger module which has invalid xml 2015-03-06 22:03:42 +01:00
Felix Ruess 0f23e39f80 [bebop] ignore some unused result warnings and add to conf_tests 2015-03-06 20:43:11 +01:00
Felix Ruess 61d4c7f29e Merge pull request #1128 from paparazzi/linux_sys_time_clock_monotonic
[arch/linux] sys_time: get time from CLOCK_MONOTONIC

Instead of simply adding up the sys_time ticks, seconds, get current time from CLOCK_MONOTONIC and directly set sys_time from that (difference to clock monotonic time at startup).
2015-03-05 16:15:30 +01:00
Felix Ruess 2bc2ae4372 Merge pull request #1122 from paparazzi/single_udp_socket
Single udp socket

Only create one socket for sending and receiving, instead of two where you use one only to send and the other only to receive.
There should be no reason/need to create two separate ones...

Also add udp_socket.[ch] to make it easier to use only the UDP sockets without the UART like mcu_periph/udp interface around it.
Provides the functions:

- udp_socket_create
- udp_socket_send
- udp_socket_recv
- udp_socket_recv_dontwait
2015-03-05 16:12:35 +01:00
Felix Ruess b6c9619ec7 [arch/linux] sys_time: link against librt for glibc < 2.17 2015-03-03 21:52:05 +01:00
Gautier Hattenberger 420420aafa [fix] temporary fix, we need propagate freq for ardrone2 2015-03-03 18:39:32 +01:00
Felix Ruess ccc6f82160 [conf] add udp_socket for nps target 2015-03-03 18:23:56 +01:00
Felix Ruess f75b87f595 [arch/linux] more generic udp_socket 2015-03-03 18:23:56 +01:00
Felix Ruess 0fabdd4f44 Merge pull request #1094
linux_video_speedup_without_thread
2015-03-03 18:21:14 +01:00
Felix Ruess f1309a0f34 Merge pull request #1117 from paparazzi/linux_sys_time_thread
Since using SIGALRM to call the sys_tick_handler (via setitimer) can cause problems like interrupting some other syscalls
(i.e. read,write, ioctl), setup a separate thread and use timer_fd instead.
That is a Linux-specific set of functions that presents POSIX timers as file descriptors rather than signals.

If the thread runs with a normal priority it can happen that some timer events are missed (and hence sys_time not updated in time).
So added a function to set a higher prio for that thread (needs root rights or properly set up limits for the user).
In some simple tests no events were missed when running with prio 29 via SCHED_FIFO, even if events would be missed,
the sys_tick_handler is called the appropriate number of times (so that the time is correct again after)...

After these changes also fix some bugs discovered in the ardrone navdata reading.
Reading is now done in a separate thread which waits on a condition variable until the navdata_update event loop has copied the buffer.
2015-03-03 18:10:06 +01:00
Felix Ruess 1f49292dce Merge pull request #1126 from paparazzi/rm_ahrs_freq
[conf] remove AHRS_x_FREQUENCY defaults from imu/ahrs makefiles

As the dt is calculated from the actual timestamps by default now, and it doesn't really make that much sense to have global flags for the frequencies, simply remove the defaults....
2015-03-03 18:01:15 +01:00
Felix Ruess a4da623375 [conf] update infrared airframes 2015-03-03 11:55:47 +01:00
Felix Ruess c74f8821d7 [modules] convert ahrs_infrared to module 2015-03-03 11:55:46 +01:00
Felix Ruess 6afd24427d [conf] remove AHRS_x_FREQUENCY defaults from imu/ahrs makefiles 2015-03-03 11:44:21 +01:00
Felix Ruess 1a475f1699 [simulator] remove jsbsim target
as it is a subset of NPS (when using JSBSim as FDM)
2015-03-02 17:30:53 +01:00
Felix Ruess c7c05ebf10 [build] also fix nps build for crrcsim 2015-03-02 17:00:55 +01:00
Felix Ruess 8cd8c8c186 [build] also fix nps build for fixedwing 2015-03-02 16:44:07 +01:00
Felix Ruess 9189469316 [build system] also include deps for cpp files 2015-03-02 16:19:46 +01:00
Felix Ruess a4b0e34db7 [build system] use VPATH to specify search path for NPS files
add $(PAPARAZZI_SRC)/sw/simulator to VPATH, so that makes adds that to the search path.
This makes it possible to add NPS sources as nps/foo.c to $(TARGET).srcs,
and the object and dependency files will correctly be put into $(PAPARAZZI_HOME)/var/aircrafts/<ac>/nps/<src file>
So e.g. /home/<user>/paparazzi/var/aircrafts/Quad_LisaM_2/nps/nps/nps_main.o

While here, also generate the .d dependency files during the compilation run instead of a separate run.

fixes #798
2015-03-02 16:14:00 +01:00
Felix Ruess b0057528f8 Merge pull request #1095 from paparazzi/logger_modules_refactor
Logger modules refactor
2015-03-02 12:39:43 +01:00
Felix Ruess 45368a7479 [conf] openlog module for microjet 2015-03-02 11:58:50 +01:00
Felix Ruess 8a3b634bfe [modules] keep openlog.xml module name for now 2015-03-02 11:57:08 +01:00
Felix Ruess 2dd069e80a Merge pull request #856 from paparazzi/ahrs_refactor
AHRS API/Interface refactor

- each AHRS implementation has it's own function names, to basically make it possible to run multiple at the same time
- input data passed as pointer arguments
- wrappers that subscribe to ABI messages (gyro, accel, mag) which call the actual implementation
  - makes it easier to run the actual algorithm e.g. for testing without ABI
- body_to_imu quaternion is also set via ABI
- IMU measurements are published via ABI from the gyro/accel/mag callbacks from main for now
- each ahrs implementation has an `is_aligned` bool for now...
- MLKF: function to only update heading from mag (default now, define AHRS_MAG_UPDATE_ALL_AXES to update all axes as previously)
    
Merging now as it is already useful.
Still TODO:
- publish GPS via ABI as well (and get rid of global ahrs_update_gps)
- update all IMU implementations to publish ABI messages directly
- pimp or get rid of ahrs_register_impl (to actually handle multiple AHRS at the same time)
2015-03-01 22:07:23 +01:00