DragonOSD+ configuration
Posted: Wed 24 Mar 24 2010 3:16 pm
The DragonOSD+ has many features and options that allows the user to customize the behaviour of the OSD. You probably won't need to fiddle too much with the options if you are just using the OSD in the most basic form, but if you want to get the most out of the OSD and to use the more advanced features, it is imperative for you to understand how to properly configure the OSD and understand something about how the device works.
The very first thing you need to know is how you can begin to configure the DragonOSD+. You have two methods of doing this - either via the on-screen menu or via the serial port. Let us start with the on-screen menu.
On-Screen Menu
As you may know by now, the DragonOSD+ expects a PPM-stream as the input from the receiver. In other words, unless you have a PPM-stream output from your receiver (not a regular servo PWM output) you will not be able to access the on-screen menu and will be limited to confguring the OSD via the serial terminal. This is different from the older DragonOSD which uses normal servo channels (PWM signal). The advantage of the PPM-stream scheme is that you only need one signal cable from the receiver to the DragonOSD+ to replace the three or four required in the older scheme. If you have a receiver that outputs a PPM-stream (such as the DragonLink or Thomas's LRS) then it is just a matter of plugging in the cable from the PPM output on the receiver to the PPM input port on the DragonOSD+. If you have an analog receiver, you will need to read the post about how to modify the receiver to extract the PPM-stream:-
viewtopic.php?f=7&t=37
The PPM-stream carries the control information for multiple channels (usually up to 8, but can be as low as 5 or as high as 12). What you need to understand at this point is that different radios have different conventions for their channel assignments. For example, with J.R. radios - channel-1 is usually the throttle channel, whereas Futaba radios use channel-3 for the same. These conventions usually affect only the first four channels.
The DragonOSD+, when first powered up, does not know what kind of radio - and therefore what kind of channel assignment - is in use. As such it needs to have some way of identifying the radio. If the radio type has not been specified by any other means, the usual startup radio-mode is the "undefined" mode. In this mode, it will attempt to guess the radio type based on the PPM-stream it is receiving. Obviously then, if the receiver is not active at this point, or there is no PPM-stream available, the OSD will be unable to guess the radio type that is being used. In this scenario then, it will fall back to the default assignments which correspond to a J.R. radio (because this is what I use.) Note that many receivers will not output anything unless it is receiving a signal from the radio.
Assuming now that the receiver is active, and there is a PPM-stream going into the DragonOSD+ when it is powered up, it will attempt to analyze the received PPM-frame. It is looking to see which channel might be the throttle channel and for this to work, your throttle channel needs to be at the zero-throttle position or close to it. If it finds such a channel among the first four channels, it will assume that it is the throttle channel and assign the other channels according to the assumed radio type. This isn't perfect, of course, and there can be situations whereby the auto-detection of radio type fails. If it should fail, you will probably not be able to easily configure the radio via the on-screen menu until you manually assign the radio type via the serial terminal.
To summarize what we have discussed so far:-
1. When first powered up, radio type is undefined
2. When radio type is undefined, the OSD will attempt to guess the radio type from the PPM-stream
3. Therefore the PPM-stream needs to be present when the DragonOSD+ is powered up
4. The throttle stick needs to be at the zero position while the other usual sticks at the centered position
Assuming all these conditions are fulfilled, the radio type should be correctly detected. Right now, four conventions are recognized - J.R., Futaba, Multiplex and Sanwa. The detected radio type is not automatically saved until you perform a save to EEPROM from the main menu. Beyond this, you can also manually assign the channels you want to use for each of the control functions (we will get to this later.)
To configure the OSD via the on-screen menu, you will need three channels to be correctly assigned. These are:-
1. aileron channel
2. elevator channel
3. mode-control channel
The aileron and the elevator channels should be automatically detected in the above procedure. The default assignment for the mode-control channel is channel-5. This is the channel that is used to switch the OSD into any one of the four possible modes:-
1. normal flight mode
2. menu mode
3. auto-pilot mode
4. no OSD display mode
Note: It is quite possible that the value of the channel as you start up (before you start configuring the radio) is such that the OSD might go into any one of these modes - including mode 4 where nothing is displayed. You just need to get it configured.
As a rough guide - the servo PWM settings are as follows:-
MENU - above 1.9ms (>90%)
NORMAL - between 1.6ms to 1.9ms (60% to 90%)
AUTOPILOT - between 1.2ms to 1.6ms (20% to 60%)
NODISPLAY - less than 1.2ms (<20%)
Now, to begin configuring the OSD via the on-screen menu, you will need to make the channel-5 output such that it is at a level that triggers the menu mode. An easy way to do this will be to assign a slider or knob device to channel-5. This way you can just move the slider or knob until the menu shows up. Bear in mind that if you have adjusted your end points for the channel, you may need to move them back to the original positions so that your slider or knob can traverse the entire servo range. My preferred setup is to assign a 3-way switch device to the mode-control channel. I usually set it up so that the three positions of the switch corresponds to the autopilot, normal and menu mode respectively (I don't use the no-display mode.) This allows the most convenient access to the modes for my usage.
If you have done the above correctly, you should now be able to activate the menu and once inside, you will be able to use the aileron and elevator sticks to navigate the menu and adjust the settings. However, it is possible that you find the orientation of one or both of the sticks reversed in relation to how it moves the selection on the menu. In this case, you will need to go into the "Custom Settings" screen. Select that on the main menu with the elevator stick and move the aileron stick to the right (or left if reversed) and you will be inside that menu.
You will see two selections called "AIL direction" and "ELE direction" near the bottom of the list. You can go to these selections and reverse the orientation if you so wish. Bear in mind that it can get a bit tricky if you are reversing the aileron direction because the change takes effect instantaneously. Once you have done this, you should be able to normally navigate around the various menu pages and change the settings.
I should mention that the stick controls are proportional in the menu. This means that if you push the aileron stick further right or further left, the rate of change will increase accordingly. This will help if you need to make a big change in the settings. If you have dual-rates active on the sticks, this will limit the range of the sticks electronically and you may not be able to get the full proportional range to achieve the fastest rate of change. So if you find that your settings are changing too slowly even when the sticks are at the limit, you should check if you have DR active and if the end-points for that stick has been reduced. Many other settings can affect the limit of the stick - such as differential ailerons, which would give you more throw in one direction than the other.
In the "Custom Settings" menu, you will find that you can re-assign all the channels in use as well, including the control channel (CTRL channel). Bear in mind that the change here is instantaneous so if you make a change from 5 to 6, for example. It will immediately use channel-6 as the control channel and if channel-6 isn't already configured to activate the menu option, you may be kicked out of the menu into whatever mode channel-6 current corresponds to. Also, if you happen to overshoot the channel and accidentally go to 7, you will be stuck as well.
Fortunately, all these settings are not saved even though they come into effect for the current OSD session (which ends when you power down the board). So you can play with all the settings and when you are satisfied with it, go back to the main menu and select "Save to EEPROM" and move your stick right until you see the word "SAVED" appear on the line. These settings, including the radio mode and various assignments are now saved as default and will be used in all subsequent sessions. I should also mention that once the radio mode has been saved, it will no longer attempt to auto-detect this in the future so that even if the PPM-stream is not present or the receiver is not active when the DragonOSD+ is powered up, it will still used the saved settings.
Channel-5 is the default control channel because with some Futaba receivers, the internal PPM-stream only contains five channels. If, however, you want to use a different channel and are unable, for one reason or another, to use channel-5 - you should configure the mode-control channel via the serial terminal. Likewise, if the radio type detection fails or if you have an unconventional channel assignment, you can also do that via the serial terminal.
Initial Configuration via Serial Terminal
To configure the DragonOSD+ via the serial terminal, you will need to connect the serial port to a PC/laptop with a suitable terminal software (such as HyperTerm or TeraTerm). The connection is made through a UART/serial-to-TTL device such as described in the following link (5th post from the top):-
viewtopic.php?f=7&t=63&p=699#p699
You should also have the serial terminal software open and the correct COM port selected. The serial port should be set up for 38400 baud, 8-bits, No parity, and 1-stop bit (8N1 in short.) When you have this connected correctly, you should see a copyright and version message printed on the screen when the DragonOSD+ is powered up. You should also see a ">" cursor at which you can type various commands. At this point in the initial configuration, there are several commands of particular significance. You can assign the radio type manually by typing:-
SET RADIOMODE FUTABA
if you are using a Futaba radio. Other options are JR, SANWA and MPX. You can also assign the individual channels with the command:-
SET CTRLCHAN 7
if you want the mode-control channel to be channel-7. Other assignable channels are AILCHAN, AIL2CHAN, ELECHAN, THROTTLECHAN. These assignments determine how the OSD will interpret the incoming channels. The actual channel usage is determined on the radio itself.
Another setting that can only be done in via the serial terminal is setting of the callsign. The callsign can be no longer than 10-characters and will be displayed for one-minute at the top of every ten-minute interval if you have enabled the callsign display option. You assign the callsign as follows:-
SET CALLSIGN DRAGONOSD
and your callsign will become "DRAGONOSD". Anything longer than 10-characters will be ignored.
As with the on-screen menu, these settings are put into effect immediately but are not automatically saved. To do that, when you are satisfied with your changes, type:-
SAVE
and you're done. If for some reason you botch up the settings and want to revert to the original default state, just type:-
DEFAULTS
and cycle the power to the OSD. The OSD will come up in a default settings state. You can also accomplish the same effect using the "Boot from defaults" selection in the main menu. To activate this, you will need to go through the arming sequence of moving the aileron stick all the way to the right, then all the way to the left, and then all the way to the right again. After that, you will need to restart the board for the defaults to come into effect.
Daniel
The very first thing you need to know is how you can begin to configure the DragonOSD+. You have two methods of doing this - either via the on-screen menu or via the serial port. Let us start with the on-screen menu.
On-Screen Menu
As you may know by now, the DragonOSD+ expects a PPM-stream as the input from the receiver. In other words, unless you have a PPM-stream output from your receiver (not a regular servo PWM output) you will not be able to access the on-screen menu and will be limited to confguring the OSD via the serial terminal. This is different from the older DragonOSD which uses normal servo channels (PWM signal). The advantage of the PPM-stream scheme is that you only need one signal cable from the receiver to the DragonOSD+ to replace the three or four required in the older scheme. If you have a receiver that outputs a PPM-stream (such as the DragonLink or Thomas's LRS) then it is just a matter of plugging in the cable from the PPM output on the receiver to the PPM input port on the DragonOSD+. If you have an analog receiver, you will need to read the post about how to modify the receiver to extract the PPM-stream:-
viewtopic.php?f=7&t=37
The PPM-stream carries the control information for multiple channels (usually up to 8, but can be as low as 5 or as high as 12). What you need to understand at this point is that different radios have different conventions for their channel assignments. For example, with J.R. radios - channel-1 is usually the throttle channel, whereas Futaba radios use channel-3 for the same. These conventions usually affect only the first four channels.
The DragonOSD+, when first powered up, does not know what kind of radio - and therefore what kind of channel assignment - is in use. As such it needs to have some way of identifying the radio. If the radio type has not been specified by any other means, the usual startup radio-mode is the "undefined" mode. In this mode, it will attempt to guess the radio type based on the PPM-stream it is receiving. Obviously then, if the receiver is not active at this point, or there is no PPM-stream available, the OSD will be unable to guess the radio type that is being used. In this scenario then, it will fall back to the default assignments which correspond to a J.R. radio (because this is what I use.) Note that many receivers will not output anything unless it is receiving a signal from the radio.
Assuming now that the receiver is active, and there is a PPM-stream going into the DragonOSD+ when it is powered up, it will attempt to analyze the received PPM-frame. It is looking to see which channel might be the throttle channel and for this to work, your throttle channel needs to be at the zero-throttle position or close to it. If it finds such a channel among the first four channels, it will assume that it is the throttle channel and assign the other channels according to the assumed radio type. This isn't perfect, of course, and there can be situations whereby the auto-detection of radio type fails. If it should fail, you will probably not be able to easily configure the radio via the on-screen menu until you manually assign the radio type via the serial terminal.
To summarize what we have discussed so far:-
1. When first powered up, radio type is undefined
2. When radio type is undefined, the OSD will attempt to guess the radio type from the PPM-stream
3. Therefore the PPM-stream needs to be present when the DragonOSD+ is powered up
4. The throttle stick needs to be at the zero position while the other usual sticks at the centered position
Assuming all these conditions are fulfilled, the radio type should be correctly detected. Right now, four conventions are recognized - J.R., Futaba, Multiplex and Sanwa. The detected radio type is not automatically saved until you perform a save to EEPROM from the main menu. Beyond this, you can also manually assign the channels you want to use for each of the control functions (we will get to this later.)
To configure the OSD via the on-screen menu, you will need three channels to be correctly assigned. These are:-
1. aileron channel
2. elevator channel
3. mode-control channel
The aileron and the elevator channels should be automatically detected in the above procedure. The default assignment for the mode-control channel is channel-5. This is the channel that is used to switch the OSD into any one of the four possible modes:-
1. normal flight mode
2. menu mode
3. auto-pilot mode
4. no OSD display mode
Note: It is quite possible that the value of the channel as you start up (before you start configuring the radio) is such that the OSD might go into any one of these modes - including mode 4 where nothing is displayed. You just need to get it configured.
As a rough guide - the servo PWM settings are as follows:-
MENU - above 1.9ms (>90%)
NORMAL - between 1.6ms to 1.9ms (60% to 90%)
AUTOPILOT - between 1.2ms to 1.6ms (20% to 60%)
NODISPLAY - less than 1.2ms (<20%)
Now, to begin configuring the OSD via the on-screen menu, you will need to make the channel-5 output such that it is at a level that triggers the menu mode. An easy way to do this will be to assign a slider or knob device to channel-5. This way you can just move the slider or knob until the menu shows up. Bear in mind that if you have adjusted your end points for the channel, you may need to move them back to the original positions so that your slider or knob can traverse the entire servo range. My preferred setup is to assign a 3-way switch device to the mode-control channel. I usually set it up so that the three positions of the switch corresponds to the autopilot, normal and menu mode respectively (I don't use the no-display mode.) This allows the most convenient access to the modes for my usage.
If you have done the above correctly, you should now be able to activate the menu and once inside, you will be able to use the aileron and elevator sticks to navigate the menu and adjust the settings. However, it is possible that you find the orientation of one or both of the sticks reversed in relation to how it moves the selection on the menu. In this case, you will need to go into the "Custom Settings" screen. Select that on the main menu with the elevator stick and move the aileron stick to the right (or left if reversed) and you will be inside that menu.
You will see two selections called "AIL direction" and "ELE direction" near the bottom of the list. You can go to these selections and reverse the orientation if you so wish. Bear in mind that it can get a bit tricky if you are reversing the aileron direction because the change takes effect instantaneously. Once you have done this, you should be able to normally navigate around the various menu pages and change the settings.
I should mention that the stick controls are proportional in the menu. This means that if you push the aileron stick further right or further left, the rate of change will increase accordingly. This will help if you need to make a big change in the settings. If you have dual-rates active on the sticks, this will limit the range of the sticks electronically and you may not be able to get the full proportional range to achieve the fastest rate of change. So if you find that your settings are changing too slowly even when the sticks are at the limit, you should check if you have DR active and if the end-points for that stick has been reduced. Many other settings can affect the limit of the stick - such as differential ailerons, which would give you more throw in one direction than the other.
In the "Custom Settings" menu, you will find that you can re-assign all the channels in use as well, including the control channel (CTRL channel). Bear in mind that the change here is instantaneous so if you make a change from 5 to 6, for example. It will immediately use channel-6 as the control channel and if channel-6 isn't already configured to activate the menu option, you may be kicked out of the menu into whatever mode channel-6 current corresponds to. Also, if you happen to overshoot the channel and accidentally go to 7, you will be stuck as well.
Fortunately, all these settings are not saved even though they come into effect for the current OSD session (which ends when you power down the board). So you can play with all the settings and when you are satisfied with it, go back to the main menu and select "Save to EEPROM" and move your stick right until you see the word "SAVED" appear on the line. These settings, including the radio mode and various assignments are now saved as default and will be used in all subsequent sessions. I should also mention that once the radio mode has been saved, it will no longer attempt to auto-detect this in the future so that even if the PPM-stream is not present or the receiver is not active when the DragonOSD+ is powered up, it will still used the saved settings.
Channel-5 is the default control channel because with some Futaba receivers, the internal PPM-stream only contains five channels. If, however, you want to use a different channel and are unable, for one reason or another, to use channel-5 - you should configure the mode-control channel via the serial terminal. Likewise, if the radio type detection fails or if you have an unconventional channel assignment, you can also do that via the serial terminal.
Initial Configuration via Serial Terminal
To configure the DragonOSD+ via the serial terminal, you will need to connect the serial port to a PC/laptop with a suitable terminal software (such as HyperTerm or TeraTerm). The connection is made through a UART/serial-to-TTL device such as described in the following link (5th post from the top):-
viewtopic.php?f=7&t=63&p=699#p699
You should also have the serial terminal software open and the correct COM port selected. The serial port should be set up for 38400 baud, 8-bits, No parity, and 1-stop bit (8N1 in short.) When you have this connected correctly, you should see a copyright and version message printed on the screen when the DragonOSD+ is powered up. You should also see a ">" cursor at which you can type various commands. At this point in the initial configuration, there are several commands of particular significance. You can assign the radio type manually by typing:-
SET RADIOMODE FUTABA
if you are using a Futaba radio. Other options are JR, SANWA and MPX. You can also assign the individual channels with the command:-
SET CTRLCHAN 7
if you want the mode-control channel to be channel-7. Other assignable channels are AILCHAN, AIL2CHAN, ELECHAN, THROTTLECHAN. These assignments determine how the OSD will interpret the incoming channels. The actual channel usage is determined on the radio itself.
Another setting that can only be done in via the serial terminal is setting of the callsign. The callsign can be no longer than 10-characters and will be displayed for one-minute at the top of every ten-minute interval if you have enabled the callsign display option. You assign the callsign as follows:-
SET CALLSIGN DRAGONOSD
and your callsign will become "DRAGONOSD". Anything longer than 10-characters will be ignored.
As with the on-screen menu, these settings are put into effect immediately but are not automatically saved. To do that, when you are satisfied with your changes, type:-
SAVE
and you're done. If for some reason you botch up the settings and want to revert to the original default state, just type:-
DEFAULTS
and cycle the power to the OSD. The OSD will come up in a default settings state. You can also accomplish the same effect using the "Boot from defaults" selection in the main menu. To activate this, you will need to go through the arming sequence of moving the aileron stick all the way to the right, then all the way to the left, and then all the way to the right again. After that, you will need to restart the board for the defaults to come into effect.
Daniel