Code Monkey home page Code Monkey logo

gentlenav's People

Watchers

 avatar

gentlenav's Issues

unintended long variables

A few variables (such as GPSvelocity) were accidentally changed from ints to 
longs.

We can save some memory space by switching them back to ints, in those cases 
were longs are not needed.

Original issue reported on code.google.com by [email protected] on 24 May 2010 at 1:08

Create and use a Library

I think we should pull out the following code into a library (libmatrix?  
libdonut?)

 - radio in, servo out
 - gps code
 - DCM code
 - navigation code
 - utility code to do things like sending telemetry

We'll have to decide what the interface to this library should look like.  It 
should be able to be 
fairly simple.

Then MatrixPilot will mostly be made up of code that configures the library, 
the main state 
machine, code to control the surfaces based on the rmat and waypoints, and code 
to send out 
telemetry data.

Then the Helicopter code could either be integrated with MatrixPilot, or could 
be built as another 
small program that uses the same big library.

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:57

  • Merged into: #10

Rework interrupt priorities and servo output

Suggested priority levels from Bill:

analog2digital.c:41:      _ADCInterrupt(void)   Priority 6
background.c:35:          _T1Interrupt(void)    Priority 5
radioIn.c:47:             _IC7Interrupt(void)   Priority 6
radioIn.c:71:             _IC8Interrupt(void)   Priority 6
radioIn.c:95:             _IC2Interrupt(void)   Priority 6
radioIn.c:119:            _IC1Interrupt(void)   Priority 6
radioIn.c:149:            _INT0Interrupt(void)  Priority 7  - measure edges of 
pulses
servoOut.c:69:            _PWMInterrupt(void)   Priority 4
servoOut.c:189:           _T4Interrupt(void)    Priority 7  - send pulses high 
and low
serialIO.c:114:           _U1RXInterrupt(void)  Priority 5
serialIO.c:200:           _U1TXInterrupt(void)  Priority 5
gpsParseCommon.c:57:      _U2RXInterrupt(void)  Priority 5 (setup in 
gpsParseUbx.c)
                                                Priority 5 (setup in gpsParseStd.c )
gpsParseCommon.c:90:      _T3Interrupt(void)    Priority 3

and there will be a new one to handle the formatting of the telemetry:

???                       _T5Interrupt(void)    Priority 1


Also suggested is moving servo output to the ADC interrupt.  We'd then just 
compute but not set 
the servo values in the pwm interrupt, and then in the ADC interrupt, have it 
choose based on 
mode whether to do a straight passthrough (manual mode) or use the computed 
values 
(stabilized/waypoint/rtl modes).

Original issue reported on code.google.com by benjie on 22 Apr 2010 at 8:13

r824 has compilation error

r824 has compilation error, while compiling, build failed with error "cannot 
find -legacy-libc Link step failed."

Original issue reported on code.google.com by [email protected] on 26 Mar 2011 at 7:23

Add a way to loiter at the current location

Maybe by adding a Flag that lets you set a waypoint relative to the current 
location instead of relative to the origin.

Original issue reported on code.google.com by benjie on 30 Nov 2010 at 6:50

UART1 ISR optimization

What steps will reproduce the problem?

In the function _U1TXInterrupt(void)
change:

<code>
if (txchar) { U1TXREG = txchar; }
<\code>

to:

<code>
while (txchar && (U1STAbits.UTXBF == 0)) {
U1TXREG = txchar;
txchar = udb_serial_callback_get_char_to_send(); }
<\code>

Also, in the function udb_init_USART(void)
change:

<code>
U1STA  = 0b0000010100010000;
<\code>

to:

<code>
U1STA  = 0b1000010100010000 ;
<\code>

This is setting the UTXISEL bit so it would be the same as simply adding the 
line U1STAbits.UTXISEL=1; after the current r713 version.

What is the expected output? What do you see instead?
same thing but lower cpu usage

What version of the product are you using? On what operating system?
r713

Original issue reported on code.google.com by magicrub on 29 Nov 2010 at 6:33

Add more configurability to RTL mode

Currently RTL mode just navigates back to relative point 0,0 with the throttle 
off.

I'd like to allow the following RTL options:
 - Allow configuring RTL mode to just continue following the main waypoint set
 - Allow configuring RTL mode to use a separate waypoint set

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:27

Flaps and Flaperons

Add Flap input and output channels.
Add code to allow mixing a flap value into ailerons when FLAPERONS are enabled.
Possibly add an F_FLAPS flag to allow automating the addition of a configurable 
flap value for specific flight legs.

Original issue reported on code.google.com by benjie on 1 Mar 2011 at 1:46

Merge MavLink branch back into trunk

Step 1: (Pete)
   Update MavLink branch to include all the latest trunk changes.
   Then reassign to ben.

Step 2: (Ben)
   Review, and then merge the MavLink branch into trunk, and test.

Original issue reported on code.google.com by benjie on 1 Mar 2011 at 1:41

Update Docs for 3.1

- Copy relevant wiki pages into MP30 versions 

- describe each board type
- all new features: OSD, PPM, Logo, ...
- Add a page describing all compatible extra hardware
   - mag, spektrum, OSD, PPM, OpenLog, XBee, Remzibi, Extra Servos
- Describe compatible software tools: flan, WaypointEditor, UDBLogoEditor, HKGCS

- Add and seed a FAQ

Original issue reported on code.google.com by benjie on 1 Mar 2011 at 1:35

If my transmitter has no 3-way switch

Can i ask what must i go if i have no 3-way switch transmitter. Do i need to 
buy a new one because it is costly and i already have a transmitter. Can the 3 
modes still work if i use only a 2 way switch? How do i control the mode if it 
is able to work? Please advice. Thanks!

Joseph from Singapore

Original issue reported on code.google.com by [email protected] on 30 Jan 2011 at 5:26

Stay in RTL mode until the Mode is manually switched

Add RTL options to: after entering RTL, stay in RTL mode until mode switch is 
manually moved.  But manual override should still start working as soon as 
TX-RX connection returns.

Original issue reported on code.google.com by benjie on 30 Oct 2010 at 8:25

loss of GPS communications is not detected and leads to stabilization issues

What will trigger the issue: disconnecting the GPS after initial GPS lock:

Every once in a while, someone reports the following symptom: roll and pitch 
oscillations in stabilized mode while the plane is motionless on the ground. 
Recently, "eagleeye" reported the symptom. Sid was the first to observe it in 
the earliest version of MatrixPilot. Over the course of the project, I have run 
into it myself once in a while.

A long time ago, I figured out the basic mechanism that produces the effect: 
whenever the yaw error fails to get updated, a constant yaw error feeds into 
the integrator of the PI yaw feedback controller, and ramps the yaw rate 
adjustment to infinity. This causes the plane to think it is in a terrific flat 
spin, and it causes an error in the DCM computations that I have termed 
"coning", in which the plane also thinks it has rolled and pitched as well. 
Basically, the computations get entirely wrong.

We have gradually fixed the various ways the yaw error could "get stuck", but I 
see that there is a mechanism that we have missed: if the UDB loses 
communications with the GPS entirely, there will be two problems:

1. The logic for detecting loss of GPS lock will fail.
2. The DCM computations will produce gibberish, so stabilization will fail.

Original issue reported on code.google.com by [email protected] on 31 Oct 2010 at 3:58

Fix Delta Wing control in 2.5

Fix this regression as reported by Ric.

Original issue reported on code.google.com by benjie on 21 Apr 2010 at 6:03

Update Documentation for MatrixPilot 2.5

Should we keep versioned documentation on the wiki?

If so, we should move the current docs to a 2.0 area, and then copy those to a 
2.5 area, and only 
then update them.

Original issue reported on code.google.com by benjie on 21 Apr 2010 at 6:01

Fix problems with HIL simulation

We should integrate the HIL simulation code into trunk as a compile-time option.

Original issue reported on code.google.com by benjie on 21 Apr 2010 at 12:37

gyro and accelerometer offsets are recorded after wagging

In just about all recent versions of MatrixPilot, gyro and accelerometer 
offsets are recorded a few seconds after the first set of wags are completed.

It would be better if they were recorded just before the wags start.

The recommended fix is to increase the time delay before the wags start, to 
greater than 10 seconds. I suggest 12 seconds, to provide a margin.

Original issue reported on code.google.com by [email protected] on 3 Jul 2010 at 3:51

Create a Users Wiki page with config info

This could be a fun community-building opportunity, and could encourage 
list-members to ask 
each other for, and offer advice on setting up planes.

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:44

Allow disabling Telemetry RX Pin

Maybe we should have a separate SERIAL_INPUT on/off setting like this:

#define SERIAL_OUTPUT_FORMAT           SERIAL_NONE
#define SERIAL_INPUT                                0

Original issue reported on code.google.com by benjie on 22 Nov 2010 at 7:38

Telemetry Data

Hi All,

I wanted to know if I hook up a 868MHz XBee will it work with the UAV V3? 

And does the telemetry allow for the airspeed to be sent to the Ground station? 
I see the variable name air_speed_3DIMU. So I assume it does send this?

I am using the Matrix Pilot v3.0 on a delta wng airframe.

Original issue reported on code.google.com by [email protected] on 5 Jul 2011 at 6:40

Battery voltage input?

When using PPM input, we should be able to use IN 1 and IN 2 as analog inputs 
for things like battery voltage or RSSI.

This could then be added to telemetry and/or added into the OSD.

Original issue reported on code.google.com by benjie on 22 Nov 2010 at 7:41

gentlenav hardware?

What gentlenav hardware is open source it? Where can I down to gentlenav eagle? 
Because I am in more remote countries, to purchase non-
Often inconvenient, so as make their own PCB


Original issue reported on code.google.com by [email protected] on 12 Jan 2011 at 2:43

Scale controls with the airspeed

This could help maintain tighter control during a slow takeoff/landing, while 
avoiding oscillation at 
higher speeds.

Original issue reported on code.google.com by benjie on 22 Apr 2010 at 8:03

Dead Reckoning

Dead reckoning will allow the UDB to keep better track of its current location, 
independent of the 
refresh rate of the GPS.

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:32

Customizable telemetry for Remzibi OSD

Add customizable telemetry for Remzibi OSD (SERIAL_REMZIBI). The Remzibi OSD 
device supports 
overlay of additional information ('telemetry') by using custom NMEA sentences. 
Adding the support 
for sending these from the UDB.

Original issue reported on code.google.com by [email protected] on 21 Apr 2010 at 11:16

  • Blocked on: #19

Add camera chase feature

This feature is made up of three main components:
 - Output of positional data, controlled by a flag in options.h (the UDB should send out its position 
(lat, long, altitude) and an identifier)
 - Parsing of received positional data from other planes, with a configurable filter (we only parse for 
a specified identifier)
 - Option in the camera_viewport field of the waypoints to target a specified UDB, by identifier. When 
this viewport is defined, the camera target will be set to the parsed position 
of the UDB matching 
the identifier.

Original issue reported on code.google.com by [email protected] on 21 Apr 2010 at 11:49

  • Blocking: #22

Serial bootloader for UDB4, UDB5 and AUAV3

Develop a serial bootloader (and accompanying cross-platform PC client) for the 
UDB firmware. The 
bootloader needs to program the dsPIC on the UDB with a HEX file (Intel HEX 
format created by 
MPLAB tool chain).

If possible, design the firmware so that the bootloader linked code and 
non-bootloader linked code 
can be easily switched, based on developer (user) preference.

I will start developing this for the new UDB (v3?) but based on feedback and 
comments below, I'm 
willing to also develop a boot loader for the current ('redboard') series of 
UDB.

Original issue reported on code.google.com by [email protected] on 21 Apr 2010 at 11:14

Update the code to handle the new board

We'll need to at least update the following:

 - The pin mappings will need to depend on the board type

 - radioIn.c will need to be updated to offer a larger number of real PWM inputs when available

 - servoOut.c will need to be updated to allow outputting to a larger number of real PWM outputs 
when available

 - no hardware switches on the new board

 - other things I'm forgetting?

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:40

Mahoney-esque Controls

This will allow the plane to control all control surfaces more efficiently, and 
will involve reworking 
the entire control layer of the code including yawControl.c, rollControl.c, 
pitchControl.c, and 
possibly altitudeControl.c, servoMix.c, and parts of servoOut.c.

Bill and Ben may want to coordinate and work on this one together.

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:35

  • Blocked on: #56

Remzibi support without UBlox

Add support for Remzibi OSD (SERIAL_REMZIBI) without the need for a UBlox GPS. 
This can be 
accomplished by recreating the NMEA sentences Remzibi requires (RMC and GGA) 
from the data 
available.

Original issue reported on code.google.com by [email protected] on 21 Apr 2010 at 11:22

Repository Reorganization

We need to move some files around inside MatrixPilot.

 - The source files should move to a new src directory.

 - We should look again at splitting options.h and waypoints.h into 3 files, and offer a repository of 
airframes.h files for different planes.

 - We should add common open source text files: AUTHORS, README, INSTALL, COPYING, etc...

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:50

Improved waypoint following

Explicit and/or implicit ellipsoid waypoint legs, and code (likely intertwined 
with dead reckoning and 
Mahoney-esque control) to tighten up the UDB's ability to keep close to the 
defined waypoint 
course.

Original issue reported on code.google.com by benjie on 21 Apr 2010 at 12:01

Improve comments around board definition line in options.h

Just a quick note to remoind us to improve the comments around #define 
BOARD_TYPE so that the comments explain to new users how to decide whether they 
have a UDB2 or UDB3 (both boards are red). Joseph Lai defined the wrong board 
because he had a Red board., and the result was that his rudder moved instead 
of the elevator. Changing the definition of board type from UDB2 to UDB3  fixed 
his problem.

Original issue reported on code.google.com by [email protected] on 12 Feb 2011 at 8:06

Add support for 2Hz ublox

Allow choosing either 2 or 4 Hz when using a ublox gps.

Original issue reported on code.google.com by benjie on 23 Apr 2010 at 4:38

Fix HILSIM

Fix the accelerometer problem with HILSIM

Original issue reported on code.google.com by benjie on 22 Nov 2010 at 8:01

Implement the F_TAKEOFF flag

Setting this flag on the first waypoint will have the following effect:

Navigation is disabled for this waypoint leg.  The plane will remain in 
stabilized mode until a 
configurable number of seconds has passed.  A timer will start when the 
throttle value rises above 0.  
When the timer hits the configured duration, we will move on to the next 
waypoint which will then 
perform navigation.

This will allow cleaner autonomous takeoffs.

Original issue reported on code.google.com by benjie on 20 Apr 2010 at 11:23

Implement circular buffer for serial link

Need to implement a circular buffer for the serial link. Besides making the 
best use of available 
resources, this also needs to address the case where the serial end index is 
updated durring a call to 
sprintf in serial_output (causing the serial interrupt handler to ignore 
remaining data in the buffer)

Original issue reported on code.google.com by [email protected] on 21 Apr 2010 at 11:18

  • Blocking: #18

Barometric altitude sensor

Integrate a barometric altitude sensor to allow for much tighter altitude 
control.  This will be 
especially useful for:
 - automated landings
 - hovering helicopters and quadcopters
 - vertical hovering of fixed-wing planes
 - flying low around the SparkFun building next year

Original issue reported on code.google.com by benjie on 21 Apr 2010 at 12:05

Ability to follow a moving target

Add the ability for the UDB to navigate towards a moving target (say, another 
plane being filmed).

The requirements and specifications of this enhancement still need to be 
defined before any work 
can begin.

Original issue reported on code.google.com by [email protected] on 21 Apr 2010 at 11:52

  • Blocked on: #21

Renaming the camera targeting options

I think the code would be easier to read if the camera targeting options all 
started with a common 
prefix, like maybe CAM_.  Otherwise options with names like PITCH_SERVO_THROW 
are not obviously 
camera related.

Original issue reported on code.google.com by benjie on 25 Apr 2010 at 2:46

Add support for OpenServo modules

This is to add support for OpenServo modules 
(http://www.sparkfun.com/commerce/product_info.php?products_id=9014) into 
MatrixPilot. The 
communication with the Open Servo module uses I2C and the initial development 
will support only 
setting the servo position.

Original issue reported on code.google.com by [email protected] on 12 May 2010 at 3:28

frozen yaw correction

What steps will reproduce the problem?
1. If you disconnect the GPS after intial GPS lock

What happens is that the input to the yaw drift correction becomes frozen as 
a consequence. This continuosly ramps the integrator in the PI feedback loop.

This ultimately causes extremely large errors in roll and pitch estimation.

Original issue reported on code.google.com by [email protected] on 6 May 2010 at 2:43

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.