Stay up to date on releases
Aug 15, 2010 The ArduPilot source above is meant to be used at 9600 baud. You can adjust this by changing the GPSNMEA tab of the ArduPilot source. Edit the function called 'initgps' and change the line that reads 'Serial.begin(9600)' to whatever baud your GPS runs. Ie Serial.begin(38400).
Create your free account today to subscribe to this repository for notifications about new releases, and build software alongside 40 million developers on GitHub.
Sign up for free See pricing for teams and enterprises - Choose a tag to compare
- Choose a tag to compare
ljalves released this Dec 2, 2016 · 103 commits to master since this release
Major changes:
- Home: AlceOSD no longer tries to determine home location. Instead it will use the same method as a GCS (Mission Planner) which is: When the vehicle is ARMED it will request WP0 (home).
- RC Channels: All 18 channels should now work for: tab switching, RSSI widget and video input switch on 0v4 board.
- AlceOSD mavlink heartbeat: Added option to disable it so that GCS don't detect the OSD (Mission Planner has issues dealing with more than one mavlink device)
- A bunch of other fixes
Widget changes:
- RSSI widget: Added ADC input as signal source.
- Throttle: Now also display the throttle %.
Windows config tool:
- Some settings are now saved between sessions (like COM port)
- It should be very easy now to setup yout OSD layout:
- There is a canvas window that gets loaded when you connect to the board.
- You can click and drag a widget to move it
- A LOT of changes - explore it...
- This windows tool doesn't work with previous FW releases - save your config to a file using the previous tool version. Later you can upload it to FW 0v11 using the new version.
Note: Configuration data will NOT be preserved. Make sure you save your config using the previous config tool.
Timer in Visual Studio 2010 C#
A timer is used in the APM Joystick form to continuously inputvalues from the joystick. Timers can be use if you wish the APM Planner to readuser input at an interval and carry out specific task.
To insert a Timer, go to your Toolbox andsearch under Components.
ExampleSetting the Enabled to False on the Timer will disable it fromrunning automatically when the form loads. Setting the Enable to True on theTimer will enable it to run automatically when the form loads.
If we want the Timer to trigger with aclick of a certain button, we do the following,
![Build Build](/uploads/1/2/5/8/125844883/161162718.jpg)
- Set the Enable option to False
- Create a button, startbutton
- privatevoid startbutton_Click(objectsender, EventArgs e)
timer1.Start(); //start timer1
}
- To stop a timer with a click of abutton, simply put timer1.Stop();
- Add your code under the timerfunction.
MAVLink
MAVLink is a very lightweight, header-onlymessage marshalling library for micro air vehicles.
Link: http://qgroundcontrol.org/mavlink/start
MAVLink is used in the Arducopter System because it provides us witha fast serial communication that actually allows us to control the quadcopterfrom the ground station directly. Using the conventional serial read/writeslows down the communication and results in an unresponsive system.
The flight data you see on the APM Planner make use of MAVLink aswell. When we power up the APM, it begins sending serial information throughthe serial port. Upon receiving the data, the APM Planner decodes and displaysthe data on the Artificial Horizon, flight gauges and flight status menu.
MAVLink sends packet data to from the APM to the APM Planner andvice-versa.
MAVLink RC_override - Joystick
The APM Planner comes with the Joystick feature thatallows us to control our quadcopter using a joystick instead of the RCTransmitter. In order to fly using a joystick from the ground station, we haveto link up the APM and APM Planner using XBEEs.
Figure 35: Mission Planner - Joystick
When we enable joystick control, theRC transmitter will no longer be able to work. The function below can be foundin MainV2.cs. It will setup the joystick control.
privatevoidMainV2_Load(object sender, EventArgs e)
Under the JoystickSetup.cs, there is atimer1_Tick function like the one shown below.
privatevoidtimer1_Tick(object sender, EventArgs e)
UnderMainV2.cs – privatevoidjoysticksend()
MAVLink RC_override - Simple Example
In the following example, we willcreate a new function, mycontrolsend, to replace the joysticksend.
We will create a mycontrol.csfirst and have the following below. Mycontrol.cs should follow the samestructure as Joystick.cs.
- int rxString1,
- int rxString2
- int rxString3;
gcoverridechn1, gcoverridechn2,gcoverridechn3 are declared under CurrentState.cs. This is also where rcoverridechn1to rcoverridechn8 are declared.
In this example, we read 3 serial data fromour serial port and store the values to rxString1, rxString2 and rxString3.
The instruction MainV2.cs.gcoverridech1 =rxString1; simply pass the rxString1value to gcoverridech1which will be used in the Form MainV2.cs.
UnderMainV2.cs – privatevoid mycontrolsend()
Values from gcoverridechn1 to gcoverridechn8are then assigned to rc.chan1_raw to rc.chan8_raw. This ishow the values from my mode of control override the RC transmitter.