Brian Webb
43f6b4150f
RFM22: Don't send status until the link is connected.
2012-12-15 09:56:27 -07:00
Brian Webb
3a1803b7a1
Added RFM22B (OPLink) receiver.
2012-12-13 21:07:19 -07:00
Brian Webb
6e929d7a92
Fixed configuration of PPM input.
2012-12-12 20:27:08 -07:00
Brian Webb
90e0746ade
RFM22B: Changed default (initial) air baud rate to 9600. Also some code cleanup.
2012-12-11 19:23:59 -07:00
Brian Webb
1d7e4e0fc2
Reduced length of transmit window period to 8 ms from 16 ms.
2012-12-11 17:44:22 -07:00
Brian Webb
8ead1200b9
RFM22B: Added timing synchronization on transmit to try to eliminate both sides transmitting at the same time. This now achieves virtually 0 re-transmissions for close range transmission while transmitting both full telemety and PPM at 64k.
2012-12-11 17:44:20 -07:00
Brian Webb
7f6a718354
RFM22B: Added optional debug signals on the telemetry port of the PipX. Also fixed a couple of bugs that were causing excessive re-transmissions (found using the debug signals).
2012-12-11 17:44:19 -07:00
Brian Webb
fecc23eb49
RFM22B/OPLink: Auto-configuration of remote com port now working.
2012-12-11 17:44:17 -07:00
Brian Webb
6ffe518509
RFM22B: Improved link stability, and added tracking of error encountered in the processes of transmitting and receiving.
2012-12-11 17:44:15 -07:00
Brian Webb
4cb311538a
RFM22B: Improved reliability, especially with reconnection after a timeout, although there is still too many resent packets.
2012-12-11 17:44:14 -07:00
Brian Webb
7a930807aa
RM: Fixed initialization of the debug console.
2012-12-11 17:44:12 -07:00
Brian Webb
6ed9b63da9
RFM22B: Changing configuration parameters over-the-air working. Added tracking of Tx/Rx sequence number. Still seeing too many resent packets.
2012-12-11 17:44:11 -07:00
Brian Webb
0dce12e984
RFM22B: Finised handshacking on ACK and changed the link quality metric to use resent packets rather than missed packets.
2012-12-11 17:44:09 -07:00
Brian Webb
7aaa02268f
RFM22B: Added TX Resent to OPLink status. Also removed the need for the packet queue.
2012-12-11 17:44:08 -07:00
Brian Webb
fa5f7a8fdd
RFM22B: All packets are now ACKed, and added a formal connection request / accept that will be used or auto-configuring the remote modem.
2012-12-11 17:44:06 -07:00
Brian Webb
98026966f7
RFM22B: Added PPM packets to rfm22 driver.
2012-12-11 17:44:04 -07:00
Brian Webb
04da5d2377
USB/COM/RFM22B: Added a standard com callback to test for link availability. This replaces the PIOS_USB_CheckAvailable function with a generic PIOS_COM_Available function. This is now used by the RFM22B com driver to test if a good link is up. This was originally written by James, and Brian merged it into the latest RFM22B branch.
2012-12-11 17:44:03 -07:00
Brian Webb
e36bd678e1
RFM22B: Allow a receive to happen between transmitts.
2012-12-11 17:44:01 -07:00
Brian Webb
9f43e1151c
RFM22B: Fixed status reporting and connection status for OPLink.
2012-12-11 17:44:00 -07:00
Brian Webb
15fc29560a
RM: Remove configuration of the RFM22B from the RevoMini pios_board.c. This is in preparation for auto-configuration.
2012-12-11 17:43:58 -07:00
Brian Webb
bd42083376
RFM22B: Changed the way the frequencies and power settings are set for the rfm22b device.
2012-12-11 17:43:55 -07:00
Brian Webb
dae382564a
RFM22B/RM: Added rfm22b com device, moved remaining functionality in the radio module to the rfm22 driver, and simplified configuration of the PipX/OPLink. The radio device now presents itself completely as a com device, both in RadioComBridge (OPLink devices) and Telemetry (RM). Also change the PipXStatus and PipXSettings UAVOs to OPLinkStatus/OPLinkSettings.
2012-12-11 17:43:53 -07:00
Brian Webb
0113b6a748
Added UAVTalkRelayInputStream to the UAVTalk library that parses a UAVTalk packet and sends it when it is complete. This allows the interlieving of packets on an output UAVTalk stream, and is used by the OPLink device to relay packets from an input com port to a different output com port without sending one packet in the middle of another packet.
2012-12-11 17:43:50 -07:00
Brian Webb
4b90f81f6f
RFM22B: Modified the method of tracking RX errors, and now reporting Good, Corrected, Error, and Missed packets to the GCS. Also removed some less useful fields from the PipXStatus.
2012-12-11 17:43:49 -07:00
Corvus Corax
7ac258352a
OP-753 - prevent flying in wrong direction in FlyVector mode.
2012-12-04 16:18:24 +01:00
a*morale
3dc11b297b
Enabled airspeed module on RevoMini target
2012-12-02 17:14:54 +01:00
Oleg Semyonov
9420a76820
[OP-724] Better name for dT according to OPReview-368 comment
2012-12-02 14:09:21 +02:00
Oleg Semyonov
41d56b282e
[OP-724] Remove LPF from throttle input channel (not necessary)
2012-12-02 13:50:03 +02:00
Oleg Semyonov
cc98962c36
[OP-724] Provide generic gimbal type
2012-11-29 18:03:05 +02:00
Oleg Semyonov
8adc2abd77
[OP-724] Now most camera options can be set independently per each axis.
2012-11-29 17:39:10 +02:00
Oleg Semyonov
5784ea8b36
[OP-724] Provide Actuator option to disable selected channels and use it for 7s camera boot delay
...
Actuator did not provide an option to completely shutdown selected channels
(set PWM pulse = 0). It is useful for camera stabilization boot delay (we
want few seconds of gimbal servo inactivity to calibrate gyros). It also
might be useful for failsafe on some channels. This option is now available.
It is used to disable camera outputs during fixed 7s delay after boot
instead of setting them to minimum position.
As a side effect, few bugs are fixed (ticks should be multiplied by
portTICK_RATE_MS, not divided, to get time in ms). And few floating point
operations were optimized out as well.
ActuatorCommand.UpdateTime was promoted to uint16 because it is not unusual
to have it 20000ms during flash updates (was seen on the CC after UAV
settings import). So it should be 16bit as well.
2012-11-29 17:39:09 +02:00
Oleg Semyonov
8f5fb5aeb0
[OP-724] Add camera gimbal filtering and feed forward options
...
This is a partial rework of Cossacs' camera gimbal software.
This patch adds LPF to airframe attitude used for camera stabilisation
and feed forward for camera actuators. Either of options can be
disabled on the compilation level to save flash and RAM if not
required.
Original Cossacs' code was optimized and code flow shortcuts were
added where applicable.
2012-11-29 17:39:08 +02:00
Oleg Semyonov
ee333f1569
[OP-724] Add manual control input filtering (useful for camera gimbal)
...
This is a partial rework of Cossacs' camera gimbal software.
This patch adds LPF to some of manual control inputs. Mostly
useful are accessory channels (for camera gimbal control) and
yaw channel (for smooth filming). The code may be used for
stand-alone CC[3D]-based gimbal software, but also should work
for complete FC+camera system.
2012-11-29 17:39:07 +02:00
Oleg Semyonov
ea1199603b
Merge remote-tracking branch 'origin/rel-12.10.2' into next
...
Conflicts:
MILESTONES.txt
2012-11-29 17:31:50 +02:00
Erik Gustavsson
4312652241
Use enum to index array.
...
Replace 0 with 0.0f in assignment.
2012-11-29 00:03:39 +02:00
Erik Gustavsson
5e14f5352f
Minor codestyle/whitespace cleanup
2012-11-29 00:03:38 +02:00
Erik Gustavsson
dc5394dcf3
Add setting to suppress axis output from Stabilization module until armed and throttle is applied. Useful to keep the tail prop out of the grass while arming a tri.
2012-11-29 00:03:37 +02:00
Oleg Semyonov
96c7ec37a9
Merge remote-tracking branch 'origin/hyper/flight_uavo_access_type_safety' into next
2012-11-24 16:33:19 +02:00
a*morale
20eb2d7b98
Fixed RTC clock
2012-11-23 19:43:31 +01:00
a*morale
2d83e8a779
Fixes for SBUS support on RM2.
...
Note: it needs the RTC timing to be fixed as it seems that it runs at half its nominal 625Hz value
2012-11-23 19:41:23 +01:00
Corvus Corax
c6effbbb0f
bugfix to pathplanner
2012-11-23 12:29:25 +01:00
Corvus Corax
55f0d41016
bugfix in fixed wing path follower
2012-11-23 11:49:17 +01:00
Richard Flay (Hyper)
5864219d27
Removed __attribute__((always_inline)) after review discussions.
2012-11-23 07:15:28 +10:30
Corvus Corax
7059d4f032
changed some details as to dschin's suggestions
2012-11-22 13:26:45 +01:00
Corvus Corax
264f631df6
Merge branch 'corvuscorax/baro_fixes' into revo-fixes
2012-11-22 11:51:36 +01:00
Oleg Semyonov
1fbaaddcd4
Merge branch 'stac/stop-wasting-ram' into next
2012-11-19 01:51:37 +02:00
Stacey Sheldon
f0fb22c090
uavobjectmanager: initialize new uavo_handles section
...
The uavo_handles section is not part of the .data segment so
it doesn't get automatically zeroed during the startup code.
This led to random data being stored in the table which resulted
in bus errors at runtime.
This change ensures that the table is zeroed before we start to
use it.
2012-11-18 16:48:13 -05:00
Stacey Sheldon
c1fc605696
uavobjectmanager: remove linked list for UAVOs
2012-11-14 23:38:24 -05:00
Richard Flay (Hyper)
6c0b91dee7
Minor tweak for coding standard compliance.
2012-11-15 07:45:35 +10:30
Oleg Semyonov
79f95983da
Merge remote-tracking branch 'origin/rel-12.10.2' into next
2012-11-14 17:26:18 +02:00
Oleg Semyonov
22173d96e5
Merge remote-tracking branch 'origin/cyr/accel_filter' into rel-12.10.2
2012-11-14 04:44:11 +02:00
Erik Gustavsson
f9f58f22d8
Take the magnitude of the correct gravity vector
2012-11-12 17:16:28 +01:00
Stacey Sheldon
e5c54cca00
freertos: change default alignment to 4-byte from 8-byte
...
There shouldn't be any reason to need 8-byte alignment on the
F1 platform. This allows better packing of all malloc'd data.
Reducing this below 4-byte alignment is not recommended and will
likely result in misaligned pointers being passed to peripherals.
RAM savings is another 300 bytes.
2012-11-11 22:16:00 -05:00
Erik Gustavsson
e38ba912cd
Clarify comment about gravity vector
2012-11-11 21:13:05 +01:00
Erik Gustavsson
04c194fa48
Coding style fixes
2012-11-11 21:10:52 +01:00
Corvus Corax
4e32413954
removed pathplannersettings from flight
2012-11-11 14:57:52 +01:00
Stacey Sheldon
e2b019edd9
telemetry: stop registering periodic events for non-periodic UAVOs
...
Telemetry module was iterating over all UAVOs including
meta UAVOs and creating a periodic event item for each
object. These items cost us about 32 bytes for each list
item.
This is wasteful for two main reasons. First, meta UAVOs can't
meaningfully have periodic updates so excluding them entirely
makes sense. That halves the number of objects in this list since
there is one meta object for every data object. This is worth
about 500 bytes of RAM on CC.
Second, about half of the remaining UAVOs are not periodic by
default so they're wasting memory unless someone happens to want
to make them periodic at runtime. This is worth another 450 bytes
of RAM on CC.
So, objects that are configured as periodic during board init will
support all of the periodic config at runtime. Objects that are
*not* periodic during board init can only be made periodic on the
next boot.
Each object that you make periodic during init will cost you an
extra 32 bytes of RAM.
With erased settings, free RAM comparison for CC is:
Before: 2736 bytes free
After: 4048 bytes free
Total RAM savings with this update is 1312 bytes!
2012-11-10 18:04:16 -05:00
Richard Flay (Hyper)
54ebcb1ea8
Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug.
2012-11-11 00:31:08 +02:00
lilvinz
a7029baa32
pios_jedec: fixed usage of uninitialized memory
...
When reading the jedec device id the code only transfered one byte via spi leaving
the expected input buffer uninitialized. This may lead to the problem that flash
initialization fails because the expected input may be whatever the stack was set
when entering the function. The impact of the bug is somewhat limited tough as the
initialization usually takes place before starting up the rtos and thus is pretty
deterministic. So if the code passed init while testing it should pass init in
production as well.
2012-11-11 00:31:07 +02:00
Richard Flay (Hyper)
eda6b6a24a
Improved type-safety. Replaced flight side UAVO access macros with inline functions to ensure that correct pointer types are always passed to UAVO access functions.
2012-11-10 20:47:10 +10:30
Corvus Corax
064ed4087c
set AirspeedActual from attitude module, feed true airspeed estimation into EKF to allow more accurate INS
2012-11-08 11:30:58 +01:00
Corvus Corax
8dd5d5a68b
type fix in header file
2012-11-08 11:12:05 +01:00
Corvus Corax
e9da78406a
Merge branch 'corvuscorax/baro_fixes' into corvuscorax/airspeed_fixes
2012-11-08 09:48:01 +01:00
Corvus Corax
b09027afe5
Completely refactored airspeed module, now a pure sensor input module without any complex sensor fusion features -- changed driver for mpxv analog airspeed to be more versatile
2012-11-08 01:31:21 +01:00
Erik Gustavsson
104c61a174
Move accel filter to separate function, for cleaner code and easier filter alteration.
...
Optimize for filter disabled case (AccelTau = 0.0).
2012-11-06 20:17:10 +01:00
Corvus Corax
5981d9acd6
removed surplus NEDposition uavobject
2012-11-06 10:13:09 +01:00
Corvus Corax
3c8ffa9773
Revert "When in indoor mode reset the baro offset to zero"
...
This reverts commit 9c512261e6
.
2012-11-06 09:42:14 +01:00
Corvus Corax
e8232ba825
Pathplanner: removed pathPlannersettings and preprogrammed (hardcoded) paths
2012-11-05 16:04:45 +01:00
Corvus Corax
cc8e56f170
OP699: changed update rate to use constant
2012-11-05 15:59:13 +01:00
Corvus Corax
ce595a06d9
Merge remote-tracking branch 'baseorigin/revo/corvuscorax/airspeed_fixes' into corvuscorax/airspeed_fixes
...
Conflicts:
flight/RevoMini/UAVObjects.inc
2012-11-05 15:16:03 +01:00
Corvus Corax
8f5b2954ac
Airspeed module: use stored calibration if available
2012-11-05 10:59:06 +01:00
Corvus Corax
5bf18780c1
do not calibrate if there is a pre-stored calibration value
2012-11-05 10:41:24 +01:00
Corvus Corax
4367bd62bf
OP-699 : removed unnecessary object queue in pathplanner
2012-11-05 10:34:44 +01:00
Corvus Corax
e5ab038a89
removed unnecessary comment
2012-11-05 10:33:51 +01:00
Corvus Corax
e2ca9cbb45
OP-699 - refacor ugly buzzer code actuaor module
2012-11-05 10:09:43 +01:00
a*morale
774dde3da5
Normalized the HW configuration to point to _RM_ configuration settins
2012-11-04 13:37:06 +01:00
a*morale
920c2682d2
Fixed UAVObjects.inc for RM to cope with airsped fixes
2012-11-04 11:37:41 +01:00
a*morale
75730e7260
Merge branch 'revo-next' of ssh://git.openpilot.org/revo into revo-next
2012-11-03 21:36:51 +01:00
a*morale
0df1c22933
Fixed channel group for DSM on flexyport
2012-11-03 20:41:33 +01:00
Corvus Corax
3f248915cb
Merge remote-tracking branch 'origin/revo-next' into corvuscorax/airspeed_fixes
2012-11-03 20:03:18 +01:00
a*morale
553b49cdbf
Fixed Flexy serial assingment and added case for telemetry on flexy port
2012-11-02 23:27:15 +01:00
a*morale
3affe846db
Added support for TxPID for RM
2012-11-02 18:06:26 +01:00
a*morale
cfbdaddc94
Fixed invalid value for MS5611 oversample configuration
2012-11-02 17:31:51 +01:00
Erik Gustavsson
677f921b15
Take magnitude of filtered gravity vector into account.
2012-11-02 09:22:18 +01:00
Erik Gustavsson
f63db712d0
Disable accel smoothing during init/arming so it does not interfere
2012-11-02 09:12:24 +01:00
Erik Gustavsson
b7bdf9861d
Run rotated gravity vector through smoothing filter to match phase with filtered accelerometer data.
2012-11-01 12:14:33 +01:00
Richard Flay (Hyper)
10865221b9
Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug.
2012-11-01 18:15:47 +10:30
Corvus Corax
fbacf627ce
Added AirspeedActual to RevoMini
2012-11-01 05:04:55 +01:00
Corvus Corax
ffaab02479
Use Correct Airspeed object in PathPlanner, (and use CalibratedAirspeed, since its more relevant)
2012-11-01 03:46:29 +01:00
Corvus Corax
3458aec53e
Merge branch 'revo-next' into corvuscorax/airspeed_fixes
2012-11-01 03:40:20 +01:00
Erik Gustavsson
c207afbfef
Implement smoothing filter for accelerometer data.
2012-10-31 19:05:59 +01:00
Stacey Sheldon
492fbc88b0
revomini: remove references to POI UAVOs
2012-10-30 21:47:17 -04:00
Sambas
f189596b3d
bootfix, GPS module not included
2012-10-30 20:51:13 +01:00
Sambas
019691e49d
Compile fixes
2012-10-30 20:50:58 +01:00
Stacey Sheldon
5aa3777078
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
flight/Modules/Telemetry/telemetry.c
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-30 00:41:35 -04:00
Stacey Sheldon
2119067722
Merge remote-tracking branch 'op-revo/james/revo' into revo-next
...
Conflicts:
Makefile
flight/Modules/Attitude/revolution/attitude.c
flight/Modules/Battery/battery.c
flight/Modules/FixedWingPathFollower/fixedwingpathfollower.c
flight/Modules/GPS/GPS.c
flight/Modules/ManualControl/inc/manualcontrol.h
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/OveroSync/overosync.c
flight/Modules/PathPlanner/inc/pathplanner.h
flight/Modules/PathPlanner/pathplanner.c
flight/Modules/Sensors/sensors.c
flight/Modules/VtolPathFollower/vtolpathfollower.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/Boards/pios_board.h
flight/PiOS/STM32F4xx/library.mk
flight/PiOS/inc/pios_hmc5883.h
flight/PiOS/inc/pios_l3gd20.h
flight/PiOS/inc/pios_rfm22b_priv.h
flight/Revolution/Makefile
flight/Revolution/Makefile.osx
flight/Revolution/System/inc/pios_config.h
flight/Revolution/UAVObjects.inc
ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
ground/openpilotgcs/src/libs/utils/homelocationutil.h
ground/openpilotgcs/src/plugins/config/configrevowidget.cpp
ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
ground/openpilotgcs/src/plugins/plugins.pro
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
package/Makefile
shared/uavobjectdefinition/fixedwingpathfollowersettings.xml
shared/uavobjectdefinition/fixedwingpathfollowerstatus.xml
shared/uavobjectdefinition/flightstatus.xml
shared/uavobjectdefinition/hwsettings.xml
shared/uavobjectdefinition/manualcontrolsettings.xml
shared/uavobjectdefinition/pathdesired.xml
shared/uavobjectdefinition/vtolpathfollowersettings.xml
shared/uavobjectdefinition/waypoint.xml
2012-10-30 00:08:43 -04:00
Corvus Corax
6409dfb2df
Further cleanup in PathFollower. Should now be safe to fly again
2012-10-28 21:49:22 +01:00
Corvus Corax
f7dd5cc8ad
Refactored Airspeed and FixedWingPathFollowermodule to use AirspeedActual, which hitl writes to, too. Cleaned up both PathFollower and Airspeed a bit.
2012-10-28 17:45:40 +01:00
lilvinz
3db04ea174
pios_jedec: fixed usage of uninitialized memory
...
When reading the jedec device id the code only transfered one byte via spi leaving
the expected input buffer uninitialized. This may lead to the problem that flash
initialization fails because the expected input may be whatever the stack was set
when entering the function. The impact of the bug is somewhat limited tough as the
initialization usually takes place before starting up the rtos and thus is pretty
deterministic. So if the code passed init while testing it should pass init in
production as well.
2012-10-28 14:34:20 +01:00
Stacey Sheldon
bc3a90c6a9
Merge branch 'one-way-telemetry' into next
2012-10-25 22:48:43 -04:00