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
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
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
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
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
127ca1e7e1
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
ground/openpilotgcs/src/plugins/hitl/plugin.pro
ground/openpilotgcs/src/plugins/hitlnew/fgsimulator.cpp
ground/openpilotgcs/src/plugins/hitlnew/hitlconfiguration.cpp
ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.cpp
ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.ui
ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
ground/openpilotgcs/src/plugins/hitlnew/simulator.cpp
ground/openpilotgcs/src/plugins/hitlnew/simulator.h
ground/openpilotgcs/src/plugins/hitlnew/xplanesimulator.cpp
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-20 13:56:18 -04:00
James Cotton
17f3c4d4e0
Re-add our code for accessing the run time information in freertos.
2012-10-09 09:57:57 -05:00
James Cotton
72c84fc49c
Upgrade to FreeRTOS 7.2.0
2012-10-09 09:48:02 -05:00
Brian Webb
9ea572f4f7
RFM22B: Fixed the signedness of the return value of the RSSI function.
2012-10-04 21:23:44 -07:00
Brian Webb
5724fa083c
RFM22B: Added link quality calculation based on number of dropped packets. Also added packet error correction, which apparently wasn't being done before.
2012-10-04 21:11:40 -07:00
Brian Webb
9b9d0c0d1e
RFM22B: Added back configuration of the RF Power and RF Datarate. Also added setting of the destination ID in the rfm22b driver.
2012-10-03 20:03:35 -07:00
Brian Webb
3cdb9df05f
RFM22B: Removed setting register 0x58 in the rfm22_setDatarate call, which was breaking all data rates < 100000 bps. Also temporatily fixed the datarate at 64kbps.
2012-10-02 20:59:43 -07:00
Brian Webb
a8590045a8
RFM22B: Moved radio status reporting from the radio module into the rfm22b driver task.
2012-10-02 19:52:21 -07:00
a*morale
be752b8075
Fixed some declaration to Exti functions to make it compile.
2012-09-30 17:04:36 +02:00
James Cotton
b0d8487e27
PIOS_RFM22: Make the irq return false for the exti changes
2012-09-28 02:14:15 -05:00
James Cotton
5c13c31c08
Merge branch 'next' into revo
...
Conflicts:
ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
ground/openpilotgcs/src/libs/utils/homelocationutil.h
ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
ground/openpilotgcs/src/plugins/uavobjectutil/uavobjectutilmanager.cpp
2012-09-28 01:00:10 -05:00
James Cotton
8979c00fba
Merge branch 'exti_end_switching_isr' into next
2012-09-28 00:41:08 -05:00
Stacey Sheldon
9896a0d416
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
ground/openpilotgcs/src/libs/utils/homelocationutil.h
ground/openpilotgcs/src/plugins/uavobjectutil/uavobjectutilmanager.cpp
shared/uavobjectdefinition/taskinfo.xml
2012-09-27 22:42:44 -04:00
James Cotton
1721479a12
Fix for vinz' merge to pios_mpu6000 exti changes
2012-09-27 14:34:11 -05:00
Brian Webb
6972c29813
RFM22B: Added check for timeout wating for sync on receive. This virtually eliminates the number of timeouts.
2012-09-25 18:10:15 -07:00
Brian Webb
88be2ddf1e
RFM22B: Added a message timeout event to the RFM22B state machine that will fire if a packet takes too long to transmit / receive.
2012-09-24 20:51:34 -07:00
Brian Webb
a070e1cc3e
RFM22B: Added PIOS_RFM22B_Receive_Packet function and removed rx buffer.
2012-09-23 08:36:38 -07:00
Brian Webb
a46e3cdec3
RFM22B: All outgoing data to the radio is now going through the PIOS_RFM22B_Send_Packet call. Also removed all global variables with the exception of the rx buffer.
2012-09-22 20:13:11 -07:00
Brian Webb
61200f01f5
RFM22B: Major refactoring of te RFM22B driver to implement a state machine for the driver. The state machine should now be complete, and the driver seems to be working pretty well on both the RM and the pipx.
2012-09-22 20:13:10 -07:00
Brian Webb
80509d264e
RFM22B: Start at cleaning up the processing interrupt handling, and starting to make it more of a state machine. Also removed the supervisor, which was causing unnecessary resets. The supervisor functionality is not in the the driver thread.
2012-09-22 20:13:08 -07:00
Brian Webb
8ca2e85f4c
RFM22B: Removed incorrect defaulting of tx power level.
2012-09-22 20:13:05 -07:00
Brian Webb
6623c55846
RFM22B: Moved ISR processing thread into the rfm22b driver.
2012-09-22 20:13:03 -07:00
lilvinz
a6a7ed8157
pios_exti: added returnvalues to exti handlers which allows to use portEND_SWITCHING_ISR
2012-09-16 21:44:09 +02:00
lilvinz
524cff1c40
pios_mpu6000: fixed masked locals mistake
2012-09-16 21:25:06 +02:00
James Cotton
88b483f37d
PIOS_MPU6000: Make the driver perform the rotation to bring it into the OP
...
coordinate system
Previously there were hacks spread throughout to deal with various ways of
positioning the chips. Now the driver structure specifies the rotation
of the chip relative to the board layout and the output X/Y/Z are already
in OP convention.
This flag seems to do the right thing for Revolution, CC3D, and RevoMini
2012-09-11 01:46:22 -05:00
James Cotton
527edcbee9
RFM22b: Get rid of the burst read commands and do a block transfer
2012-09-08 12:39:14 -05:00
James Cotton
1f0004e9db
RFM22b: Abstract out the port into the driver initiation
...
Also use a separate function to claim the bus semaphore and
assert the CS line.
2012-09-08 12:38:54 -05:00
James Cotton
68fa464ccf
RM: Make the direction of the TX/RX lines come from the configuration file
2012-09-04 23:22:56 -05:00
James Cotton
844d14e2f5
RM (NOT FOR PIPX) Properly select the GPIO->RX/TX mapping
2012-09-04 10:22:04 -05:00
James Cotton
0b947b243d
Revert "RFM22b: More block claims for rfm22_txStart"
...
This reverts commit fa4ca426abf5671fc7d0b7206f85f14bcbf92c3d.
2012-09-02 22:44:58 -05:00
James Cotton
dce4f36328
RFM22b: More block claims for rfm22_txStart
...
Warning: This patch makes the modem work more poorly
2012-09-02 22:44:58 -05:00
James Cotton
311bbcb539
RFM22b: Block transfers for more large SPI transfers
...
Preallocated buffers with various preambles etc. Used SPI_TransferBlock for
anything over a few bytes instead of burstWrite. Also make more of the
communications wrappered in a large semaphore grab using a new rfm22_write_noclaim()
Still needs work - probably because most of the methods to repeated calls they should
all use the noclaim, or more specifically that function becomes rfm22_write/read.
2012-09-02 14:35:56 -05:00
James Cotton
588297806c
RFM22b: Use SPI block transfers for filling the RFM22b FIFO
...
Also removed the disable irq line since that was introducing
flight glitches.
2012-09-01 21:24:42 -05:00
James Cotton
997319ae80
RFM22b: Begin doing blocks of transfers when possible between semaphore claims
...
The abstraction should probably be improved but ideally we start using
the DMA SPI transfers for PipX and grabbing/releasing the semaphore less
frequently (e.g. not for each 1-2 bytes).
2012-09-01 21:07:38 -05:00
James Cotton
d9ec6454c2
PipX: Since we are calling the PipX ISR from user space looks ensure the frequency stays correct.
...
Previously it was polling too fast and the PipXStatus was incorrect as a result. Now make
sure the stats loop only runs at 500 ms.
2012-09-01 19:13:11 -05:00
James Cotton
b888a137f0
TOFIX: Temporarily remove the transaction lock from the settings as it was causing a deadlock with the radio coms.
2012-08-26 05:02:14 -05:00
James Cotton
042055b29a
RFM22b: Call the pendingISR routine from all the user space tasks. Got a valid connection with this.
2012-08-26 04:18:17 -05:00
James Cotton
f7cda1c0c4
RFM22b: No need to initialize the SPI. Done already.
2012-08-26 02:42:18 -05:00
James Cotton
477385ca25
RFM22b: Start to move the ISR into userspace
2012-08-26 02:41:19 -05:00
James Cotton
b1bd6d8583
PIOS_RFM22b: No need to set the SPI clock speed in the RFM22b module - it can be set by the driver configuration.
2012-08-26 00:00:39 -05:00
James Cotton
84d327c46a
RFM22b: Claim the bus semaphore before reading and writing.
2012-08-25 23:17:52 -05:00
James Cotton
982750a58f
Merge remote-tracking branch 'revo/brian/revo_link' into revo-mini
...
Conflicts:
ground/openpilotgcs/src/plugins/plugins.pro
2012-08-25 15:05:47 -05:00
Brian Webb
fad32dcc29
Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs.
2012-08-25 11:41:32 -07:00