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
a*morale
789746151a
Fixes the selection of the oversample settings from the pios_ms5611_cfg.oversapling configuration
2012-08-25 11:29:01 +02:00
Stacey Sheldon
1f1b240b2a
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
shared/uavobjectdefinition/manualcontrolsettings.xml
shared/uavobjectdefinition/taskinfo.xml
2012-08-20 21:22:02 -04:00
James Cotton
44dc01126e
Merge branch 'next' into revo
2012-08-12 16:12:54 -05:00
Stacey Sheldon
07fde38887
hid joystick: factor out min/max range from report items
2012-08-10 23:29:34 -04:00
Stacey Sheldon
5902c19cc3
hid joystick: compress local usages since they're all in the same page
2012-08-08 10:38:43 -04:00
Stacey Sheldon
030d9e84f9
hid joystick: remove unnecessary usage page definitions
2012-08-08 10:15:08 -04:00
Stacey Sheldon
449c7aab7a
hid joystick: use 32-bits to represent max range
2012-08-08 00:50:03 -04:00
Stacey Sheldon
94f6344fc5
hid joystick: restructure joystick HID report to work on windows
2012-08-07 21:34:25 -04:00
Stacey Sheldon
ef0c12b1b6
hid joystick: emulate a USB HID joystick using RC Transmitter
...
Adds a new RCTransmitter setting for the USB HID interface which
emulates a USB HID joystick. The scaled RC receiver channels
from any RCVR protocol are passed through to the various emulated
joystick controls.
The main use for this feature is to allow you to use your own RC
transmitter with any RC simulator on a PC.
This is known to work with CRRCsim but should work with any simulator
that supports joystick input.
2012-08-05 21:45:27 -04:00
Sambas
e59f99bc8e
Wave audio player test app.
2012-07-30 11:45:36 +03:00
Sambas
52c3627bb2
OSD uSDcard support, settings save/load works (tested on 128MB card). booting takes some time for some reason.
2012-07-30 11:45:22 +03:00
Sambas
ad0473e646
proper use of i2c transfer, return 0 is all ok, original code locked the transfer when all ok.
2012-07-30 11:41:25 +03:00
Sambas
79be7613b5
CC mag&baro for OSD, bmp needed some black magic hacking
2012-07-30 11:40:16 +03:00
James Cotton
61c1771862
Change the constant so LED flashing works properly on Revo
2012-07-28 11:24:28 -05:00
Kenz Dale
1d976b3095
dded support for multiple airspeed sources. Added GPS airspeed estimation. Extended BaroAirspeed UAVO. Added new AirspeedSettings UAVO.
2012-07-20 13:08:54 +02:00
James Cotton
8d4e221412
Remove the disable IRQ commands in PIOS_COM since they aren't needed.
2012-07-13 11:54:12 -05:00
Stacey Sheldon
54a161a3d4
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-08 18:14:09 -04:00
Laura Sebesta
4f20a0f9a1
Added drivers for analog airspeed sensors: MPXV5004 and MPXV7002.
2012-07-08 21:46:59 +02:00
James Cotton
cd311642dd
Merge branch 'next' into revo
2012-06-28 10:35:47 +02:00
Stacey Sheldon
154d971d4d
flash: don't call vTaskDelay() before OS init
...
PIOS_Flash_Jedec_EraseChip is called during early
init when the table_magic has changed. This call
happens on CC/CC3D prior to the OS being initialized
so it is not OK to call vTaskDelay() yet.
This was leading to boards locking up (no flashing blue
LED) immediately after jumping to the application when
the table_magic had changed or was being init'd for the
very first time.
2012-06-24 12:23:34 -04:00
Stacey Sheldon
f475088585
Merge remote-tracking branch 'op-public/next' into revo-next
2012-06-20 22:45:41 -04:00
James Cotton
01d47d6373
Accidental semicolon led to MPU6000 always failing self test. Another bug
...
masked that behavior. I suck.
2012-06-11 12:22:24 -05:00
James Cotton
a029fc4656
Merge branch 'next' into revo
...
Conflicts:
Makefile
2012-06-11 12:05:38 -05:00
James Cotton
93b77becc0
More the system task priority down and increase the timeout for erasing the
...
flash so it says completed. However, it still blocks the system for a long
time. During an erase the heartbeat will flash at 10 Hz to indicate what's
happening.
This still blocks telemetry even after lowering hte system priority (and there
is a vTaskDelay) which makes me think that the SPI bus being locked is blocking
Sensors or somethign else. This should not be permited when the system is
armed.
The reason the system locks up during the erase is that the file system
operations occur within the event dispatcher thread. It is very bad practice
for anything to block this (i.e. callbacks should never take very long). We
should probably move the object persistence handling into the system thread or
something but that can be a separate issue.
2012-06-11 12:03:32 -05:00
Stacey Sheldon
c73cffce59
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
Makefile
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/System/inc/pios_config.h
package/Makefile
Fixed CRLF line end clobbering in:
flight/Bootloaders/Revolution/inc/pios_config.h
flight/Modules/OveroSync/inc/overosync.h
flight/Modules/Sensors/inc/sensors.h
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/Common/pios_usb_util.c
flight/PiOS/STM32F4xx/pios_iap.c
flight/PiOS/inc/pios_rfm22b_priv.h
flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
f5845cb037
Fix self test for MPU6000 so it returns negative values per our standard
2012-06-09 11:18:14 -05:00
James Cotton
f5b2575c88
Merge branch 'next' into revo
...
Conflicts:
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/System/inc/pios_config.h
package/Makefile
2012-06-07 12:45:06 -05:00
James Cotton
7b8110a457
Merge branch 'MikeL' into next
2012-06-07 11:31:41 -05:00
James Cotton
c689bcfb80
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo
2012-06-07 09:49:18 -05:00
Brian Webb
861bcc46fe
Fixed RSSI reporting on PipX.
2012-06-06 21:14:31 -07:00
Brian Webb
e9d0909a68
Further improvements in link reliability on the PipX.
2012-06-06 17:44:56 -07:00
James Cotton
5e01617cbd
Merge branch 'next' into MikeL
...
Conflicts:
ground/openpilotgcs/src/plugins/config/airframe.ui
ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp
ground/openpilotgcs/src/plugins/config/configoutputwidget.h
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.h
2012-06-06 11:58:06 -05:00
Brian Webb
5876df250d
Improved lockups on dropped packets.
2012-06-05 21:10:32 -07:00
Mike LaBranche
0ba8345c51
Merge branch 'next' into MikeL
...
Conflicts:
flight/Bootloaders/Revolution/inc/pios_config.h
flight/Modules/OveroSync/inc/overosync.h
flight/Modules/Sensors/inc/sensors.h
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/STM32F4xx/pios_iap.c
flight/Revolution/System/inc/pios_config.h
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 16:59:31 -07:00
James Cotton
9f93c9cbec
Get PIOS_GCSRCVR working on revo
2012-06-04 09:48:05 -05:00
James Cotton
71e14a691e
Merge branch 'next' into revo
2012-06-03 19:00:51 -05:00
James Cotton
e8cf606f16
Add the chip size to the flashfs configuration (should probably go in the chip
...
configuration)
2012-06-02 11:00:42 -05:00
Sambas
06a814c8a9
Fixing most warnings from osd fw
2012-06-02 15:52:38 +03:00
Sambas
ed1a4dada6
Merge remote-tracking branch 'remotes/origin/sambas/osd_test_v1' into revo-next
...
Conflicts:
flight/PiOS/STM32F4xx/pios_adc.c
2012-05-30 16:30:09 +03:00
Sambas
147100bc2f
Merge remote-tracking branch 'remotes/origin/revo-next' into osd_test_v1
...
Conflicts:
Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-28 19:06:25 +03:00
James Cotton
8a6073fbaf
Merge remote-tracking branch 'revo/revo-next' into testing
...
Conflicts:
Makefile
flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
flight/Revolution/Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp
shared/uavobjectdefinition/taskinfo.xml
2012-05-28 09:13:26 -05:00
Corvus Corax
978ab5b96c
Merge remote branch 'origin/stac/etasv3' into revo-next
2012-05-28 12:56:27 +02:00
Sambas
7eefe83335
Cleanup and fix
2012-05-26 13:38:01 +03:00
Sambas
a9cfc4a0af
*float sprintf
...
*h/v deadbands
2012-05-25 21:12:03 +03:00
Sambas
a3b9451bcd
Merged some stuff to make original hardware work better
2012-05-24 20:14:15 +03:00
James Cotton
b3150500d5
Change the buffers to byte buffers and update most of the drawing code to use
...
it accordingly. Large fonts broken.
2012-05-24 18:25:09 +03:00
James Cotton
8411b9cc98
Remove the disable IRQ commands in PIOS_COM since they aren't needed.
2012-05-24 18:04:49 +03:00
Brian Webb
6cb13aa2ba
Fixed failed merge with next.
2012-05-20 18:36:08 -07:00
Brian Webb
2f1a9e3e7d
Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout.
2012-05-20 18:30:37 -07:00
Stacey Sheldon
698ea8e86e
usb util: Add common utility functions for USB descriptors
...
Make a home for generic functions related to USB.
2012-05-19 16:14:10 -04:00
zedamota
eb83afdcf1
Working compliant VCP+HID descriptors for Windows.
2012-05-19 15:40:46 -04:00
James Cotton
848f1b0e29
For some reason the gyro needs 300 ms after reset in order to work after the
...
bootloader jumps to code. Nothing in datasheet to imply what.
2012-05-12 13:00:51 -05:00
Brian Webb
454144f46c
Pairing and saving settings working.
2012-05-06 20:47:21 -07:00
Brian Webb
3cf4fe6512
Reverted some USB changes.
2012-05-05 10:10:40 -07:00
Brian Webb
480371a43e
Resolving merge with origin/next
2012-05-05 09:53:54 -07:00
Brian Webb
e83fec0463
Merged latest origin/next.
2012-05-05 09:40:44 -07:00
Brian Webb
8da4b9c745
Merge remote-tracking branch 'origin/stac/pt-win-vcp-fix' into Brian-PipXtreme-V2
2012-05-02 06:42:30 -07:00
Brian Webb
1048eb7e2c
Added pios_eeprom for saving settings.
2012-04-28 19:29:25 -07:00
James Cotton
f06439ecf5
Fix a bug in calculating air temperature in baro sensor when it goes below 20
...
deg C.
2012-04-22 18:43:07 -05:00
Brian Webb
f726cc6a9d
Added a RTC supervisor timer to RFM22B driver.
2012-04-21 18:31:49 -07:00
zedamota
4968df183a
Working compliant VCP+HID descriptors for Windows.
2012-04-20 08:38:24 -04:00
Corvus Corax
d125abf335
Baro calibration
2012-04-18 10:48:31 +02:00
Brian Webb
62c5036220
Added PipXStatus and PipXSetting UAVobjects and some initial support for them.
2012-04-17 17:36:05 -07:00
Corvus Corax
3da88601a1
Airspeed module works, needs conversion
2012-04-17 20:32:56 +02:00
Stacey Sheldon
6a37e433b6
etasv3: Add driver for Eagle Tree Airspeed Sensor v3
2012-04-17 09:39:00 -04:00
Brian Webb
4936cd8fd2
Added PipXStatus and PipXSettings UAVObjects and added support the sending/receiving UAVTalk objects on the PipX.
2012-04-10 20:22:53 -07:00
Brian Webb
7b49a6b820
Added watchdog to radio com bridge in PipXtreme.
2012-04-07 19:12:49 -07:00
Sambas
d399469b88
Last push before summit
2012-04-07 14:30:04 +03:00
Brian Webb
bc1adb2519
Some cleanup of rfm22 driver.
2012-04-06 17:36:35 -07:00
Brian Webb
fff93910e2
RFM22B device now fully interrupt driven. Packet handeling moved to RadioComBridge module.
2012-04-05 20:24:50 -07:00
James Cotton
e82323af32
Make revolution work with the FreeRTOS queue based MPU6000 driver
2012-04-03 03:41:52 -05:00
James Cotton
d7cb232315
Add MPU6000 accel range to config structure. Also put in correct values.
2012-04-03 02:07:04 -05:00
James Cotton
35854b35f6
MPU6000 accel value coming out twice as high as it should. Need to store scale
...
in cfg structure to fix this properly.
2012-04-03 02:07:04 -05:00
James Cotton
a960f3d07e
Switch the MPU6000 driver to using a FreeRTOS queue. Need to update Revo code
...
to take advantage of this.
2012-04-03 02:07:03 -05:00
James Cotton
1415728762
Get the MPU6000 CC3D working. Right now the ADC system is commented out, which
...
will break regular CC.
2012-04-03 02:07:03 -05:00
Brian Webb
823b111d60
Added Reed-Solomon error correction to PipXtreme. The code is a slight modification of rsscode ( http://rscode.sourceforge.net ). Packet acking has also been turned on as the default, so each packet is error corrected, and if errors remain, the packet is NACKed, otherwise it is ACKed. Also temporarily turned off UAVTalk parsing. This was causing the CC to be identified as a PipX due to the PipX sending UAVObjects (I believe) from the system module. The system module is going to have to be modified/replaced for the PipX.
2012-03-18 17:43:29 -07:00