The web site contains information that will enable you to build your own custom radio control system. You will find technical information on this site as well as references to additional resources that will help you create your own system.

Software version history

This article contains the MicroStar 2000 software version history. This data is a little cryptic because it was pulled from the MicroStar source code header and it is a history of all changes that have been made starting with the original version in 2001. You will also find a to do list defining future modifications that are planned.

 

; Revision History:
; All of the version 1.0 revesions were for the orginal Encoder design that had
; a final hardware revision of 3.0. Versions 2.0 are all designed for the hardware
; revision 4.0 and beyond. This revision uses the PIC 18F8722 PIC. The orginal
; encoder used a 17C766 PIC and the version 2.0 series is not compatable with that
; PIC.
;
; Version 1.0b
; First release, Jan 2001
; Version 1.0c
; Fixed a few minor bugs and finished the dual SPROM
; support
; Version 1.0d, Jan 28, 2001
; Fixed a timming bug in the SPROM read function.
; Version 1.0E, April 16,2001
; Fixed the interface to RF deck, added support for
; 50MHz, 53MHz, and 72MHz.
; Added support for the receiver battery test function.
; Version 1.0F, May 5, 2001
; Placed the PLL in high current mode.
; Fixed a display bug in the LCD52 drivers.
; Small display bug in 4x12 display driver.
; Version 1.0G, October 21, 2001
; Added programmable channel output order
; Added Programmable trim assignment
; Added support for Futaba type buddy box
; Added new Auto Trim mode, where full adjustment is made when button
; is pressed
; Added enable switch to timer and throttle trigger to timer
; Added up counter mode
; Version 1.0H, March 17, 2002
; Fixed a bug in the throttle trim, the percentage value used
; was from the rudder!
; Added a timer option to stop at zero on down counting.
; Fixed bug in UP counter.
; Version 1.0I, August 18, 2002
; 1.) Servo limits changed to .750 mS and 2.250 mS
; 2.) Snap PB changed to % and done after normalization
; 3.) CROW added
; Version 1.0J, November 30, 2003
; 1.) Fixed a bug in the table edit mode that would not
; allow you to edit the last position.
; 2.) Fixed the Fixed First Mixer bug.
; Version 1.1a, December 2004
; 1.) Added high and low rate expo to A,E,R (tested)
; 2.) Fixed the alt aircraft timer problem (tested)
; 3.) Added the Throttle low point adjust feature (tested)
; 4.) Added second alternate aircraft switch (tested)
; 5.) Add set model to default parameters (tested)
; 6.) Add buttons to set time values in min and max as short cuts.
; use snap right and snap left buttons. (tested)
; 6.) Add battery timer (tested)
; 7.) Add FMS flight simulator support (tested)
; 8.) Channel trigger points (tested)
; 9.) Add battery alarm level adjustment (tested)
; 10.)Reorder the menus into a more logical order (tested)
; 11.)Add 4 more tables (tested)
; 12.)Move Shift setting to Aircraft area (tested)
; 13.)Fix bug in the Frequency selection function, can not
; select OFF as an option. (tested)
; 14.)Changed the way Mixer 2 works. (tested)
; 15.)Bug that causes the transmitter to crash in CAL mode when
; a mixer is on. I think it was the select chan functions mult.
; (tested)
; Version 1.1b, January 14, 2005, bug fixes only
; 1.) Fixed a EPROM space bug
; 2.) Det defaults for min and max value
; 3.) Fixed AUXOUT on top line of display
; Version 1.1c, Feburary 12 2005, bug fix
; 1.) Fixed bug in AutoTrim one shot mode if you have full
; stick deflection.
; Version 1.1d, July 7 2005, requests, not yet implemented
; Found and fixed a servo position editing bug. This had
; to do with block move using wrong radix.
; Version 1.1e, July 24 2005
; Found and fixed a aileron differential bug
; Version 1.1f, December 10 2005
; Found and fixed a channel 8 bug that caused the programed values to
; be off by a factor of two from center
;
; Version 2.0a, December 2006.
; 1.) Move channel order to aircraft memory area
; 2.) Auto Trim range increase to +- 20 percent
; 3.) Use preset button as an exit from UI
; 4.) Move tables to Aircraft area (2 tables added, 22 bytes)
; 5.) Add fixed mixers (12 bytes total)
; - Ail to rudder, 2 bytes
; - Rud to ail, 2 bytes
; - Rud to ele, 2 bytes
; - Throttle to ele, 1 byte
; - Dual elevator, 2 bytes
; 6.) Add sub trims, 8 bytes
; 7.) Fix the format flash functions to sync with ppm signal output
; 8.) Change invert function to say, positive/negative
; Version 2.0b, January 2007
; 1.) Fixed bug with both LEDs
; 2.) Fixed bug in transmitter voltage adjust
; 3.) Fixed bug in throttle servo position set
; 4.) Added the Adapter assembley switch
; Version 2.0c, March 2007
; 1.) Fixed bug in copy aircraft, limited aircraft number to 8.
; 2.) Added the frequency band selection menu options to replance jumpers,
; Version 2.0d, April 8 2007
; 1.) Alternate aircraft number problem. 0 is allowed, look at copy
; function as well. Fixed copy bug, 0 is OK in alt aircraft define
; zero disables function
; 2.) Power up student mode throttle adjust lockup, added clear to TTflag
; on powerup
; 3.) Elevon bug, aileron channel is dead
; 4.) VTAIL bug, rudder is dead
; 5.) For elevaon and vtail remove the code to divide throws in half
; Version 2.0e
; 1.) Added variable rate to mS change function
; 2.) Fixed subtrim bug, they were not working at all due to indirect reg being
; overwritten
; 3.) Bug with the on time counter, in process need to add init to format function
; 4.) Fixed ADC reference problems
; 5.) Test auto trims
; 6.) Changed channel 5,6,7, and 8 to be -1000 to 1000 range. This makes mixing
; better and allows the end points adjustments to work on dual A and E.
; Version 2.0e2, Feb 3, 2008
; 1.) Fix a bug with the joystick center determination function. It was before the
; configuration parameters were read causing a bug when the ref is changed to
; 5 volts.
; Version 2.0e3, March 16 2008
; 1.) Added an option to invert the buzzer polarity. This is to allow a vibrator to
; be used in place of the buzzer on the rev 4.0 encoder.
; Version 2.0f, July 13 2008
; 1.) change snap buttons to allow sticks to still function, A,E,R only.
; 2.) Fixed bug in the throttle stick timer enable.
; 3.) Auto trim bugs, no errors found.
; 4.) Fix the slew speed.
; 5.) Fixed bug in the stick position switch function.
; 6.) Added stick speed control to select aircraft and percentage.
; 7.) Add message to indicate you are in student mode.
; 8.) Beep when the trims are set to zero.
; 9.) Added servo slew rate control to channel 5 and 8.
; 10.) Allow the user to select the RF deck ref osc frequency.
; 11.) Allow adjustment of the framming rate and frame time defect.
; 12.) Added the configureation option to EEPROM. This allows the firmware
; modes to be selected via flags and only one set of firmware is needed.
; Version 2.0g, August 2 2008
; 1.) Added the CCPM mixing.
; 2.) Fixed init bug on servo rates.
; 3.) Added port B to the TEST IO mode 2nd line.
; 4.) Added hysistress to trim beep.
; 5.) Added digital trims.
; 6.) Fixed FMS simulator bug.
; 7.) Added Serial send mode, USART2 38400 baud.
; 8.) Fixed trim center beep bug.
; Version 2.0h, October 11, 2008
; 1.) Fixed a bug that caused the transmitter to lockup when the tach was
; pluged in.
; Version 2.0i, December 6, 2008
; 1.) Add servo reversing function.
; - Add the reverse option to each servo's set of options
; - Do this by looking and the sign of the channels gain, positive gain
; indicates non reversed channel.
; 2.) Add center beep option for throttle trim and CH6 and CH7
; 3.) Fixed the DOG display bugs in the digial trim display
; 4.) Fixed a center beep bug on the digitial trims
; 5.) Upgrade to the 12bit ADC pic, The Encoder will now auto detect CPU.
; 6.) Added function to allow user to adjust digital trim update rate
; 7.) Added clear all sub trims function.
; Version 2.0j, December 25 2008
; 1.) Copied the ADC normalized position data to bank 8 for the PC interface.
; 2.) Read the receiver voltage raw ADC values in cal mode for PC interface
; 3.) Add a servo position monitor function. Press and hold option button
; on power up to enter this mode.
; Version 2.0k, May 3, 2009
; 1.) Changed the order of calls in the run and cal mode, moved the slew rate
; function before the sub trims.
; 2.) Changed the mix functions to use the slewrate limited values for CH8 and
; CH5.
; 3.) Added FMS on UART 1 or UART 2, June 12, 2009
; Version 2.0l, November 2009
; 1.) Fixed bugs in the futaba buddy box modes
; 2.) Addded a delay between channels on the MicroStar buddybox mode to
; allow UARTs to sync up when the osc freq is a little different.
; Version 2.0m, November 29 2009
; 1.) Fixed a rounding problem with the servo calibration routines
; 2.) Improved the OPTION button debouncing logic
; Version 2.0n, January 11, 2010
; This version has significant updates to the helicopter mode thanks to
; input from Jack Dice.
; 1.) Added a helicopter mode enable
; 2.) Use CH8 switch as flight modes, A=Normal, B=Stunt 1, C= Stunt 2.
; Normal is really defined by no other mode being active.
; 3.) Treat Throttle Hold as a 4th flight mode that overrides other modes
; 4.) Use a table for Throttle, definable in each mode
; 5.) Use a table for Pitch, definable in each mode
; 6.) Use CH6 control as pitch trim and seperate from throttle
; 7.) Each mode provides gyro sensitivity constant but programable output,
; this signal is output on CH5
; 8.) Added helicopter option to main cal menu to adjust parameters
; 9.) Added flight mode display to helicopter mode
; 10.) fixed an error in the CH8 servo monitor display, A and C were
; reversed.
; 11.) Fixed the tables to support negative values.
; 12.) Fixed a minor display bug in the servo monitor function
; 13.) Added the gyro tune sensitivity adjust mode
; 14.) Expanded the servo monitor to include output pulse width data as well.
; 15.) Fixed a bug in the mixers when a slew rate controlled channel is
; mixed to itself.
; 16.) Initial restructuring of the code for the MicroProStar and addition
; of the drivers. First release of the MicroProStar.
; 17.) The default for the throttle servo range was in the reverse direction,
; I fliped it in this release.
; 18.) The MicroStar buddybox mode had a baudrate error.
; 19.) Updated the AUXOUT logic so that shift invert will change the PPM
; signal as it does the RF deck modulation pin.
; Version 2.0o, August 1, 2010
; 1.) Fixed a table numeric range bug, a rare issue that only happen at
; extreme stick and trim limits.
; 2.) Added remap function and table to Advanced menu.
; 3.) Added displays modes to the MPS.
; 4.) Move number of channels to aircraft memory area.
; 5.) Decreased the stick sensitivity for the Auto Trim function.
; 6.) Fixed a very minor bug on the tables.
; 7.) Fixed the init routine and stop sending the initial PPM pulse train.
; 8.) Fixed SNAPL to work like SNAPR, so that controls influence the positions.
; 9.) Change default servo limits and position to 900 and 2100 for the system
; maximums and 1100 and 1900 for the servo starting points
; 10.) Added a new ADC read mode for the MPS. This mode reads the joystick using
; the 5 volt ref and does battery voltage correct as well as insuring that
; the battery supply is stable.
; 11.) Fixed a mixer programming bug caused by the CalServoUpdate flag not being
; cleared on power up.
; 12.) Add canned output order, ACE = EART5678, Futaba = AETR5678,
; Airtronics = EATR5678, JR = TAER5678
; 13.) Make the ADC test mode display in decimal.
; 14.) Added the version number to the general data storage area.
; 15.) Added threshold adjustment to Auto Trim stick positions. 6/19/10
; 16.) Test the throttle adjust function and make sure its OK. Tested OK
; 17.) Added auto trim disable option
; 18.) Format flash bug in UI, when slect no it reloaded all settings.
; 19.) MPS format flash display bug
; 20.) Changed MPS display default to alternate
; Version 2.0p, December 2010
; 1.) Allow user to define PPM logic level of AUXOUT
; 2.) Add Move Mix function, also ask to clear the mixer we moved from.
; 3.) Add Apply to all option on a number of global functions, channel order
; 4.) Add a filter to the battery voltage monitor. Use a difference equation
; Vbat * N = Vbat(t-1) * (N - 1) + Vbat(t). Where N = filter time constant.
; This filter is scalled by 256 to prevent round off errors.
; 5.) Add a servo monitor display of position in percentage to allow transfer to
; mixer gain. Change all labels to three chars and add % to display.
; 6.) Fixed a bug on the mixers that only happens on throttle, CH5, or CH8 when
; mixed to itself.
; 7.) DOG-M contrast adjustment to the system setup menu.
; 8.) Initalized DriveCh when not used
; Version 2.0q, January 2011
; 1.) Fixed the DOG contrast adjust function, it actually has 64 levels. I expanded
; the range a bit.
; 2.) Fixed a rounding issue on throttle servo end point adjustment.
; 3.) Fixed a bug introduced in 2.0p that killed the servo position update in
; the servo setup routine.
; Version 2.0r, Februray 2011
; 1.) Fixed a bug in entering table position using the transmitter UI.
; 2.) Fixed a bug that caused the auto trim value to be reset when the servo
; cal menu is entered.
; Version 2.0s, December 2011
; 1.) Added CCPM reverse options for Ail and Ele
; 2.) Added display monitor for auto trim position. Hold the auto trim button down
; on power up to enter the auto trim monitor mode.
; 3.) Fixed a strange fixed mixer bug with the Rud to Ele mixer only when negative
; gains are used. 12/19/2011
; 4.) Fixed the mstar.asm file to define the config blocks using cblock
; 5.) Fixed a bug in the send serial data mode that messed up the data and baud rate
; Version 2.0t, January 2012, in progress
; 1.) Changed the display driver to 4 bit operation mode (done)
; 2.) Added second LCD display driver and logic (done)
; 3.) Added FrSky telemetery read and display functions (inprogress, need to add nammed menu for page selection)
; 4.) Add options to advanced menu: (done)
; - Enable FrSky
; - Enable dual display
; - Select FrSky screen page
; 5.) Add logic to test dual display enable before enabling in alt display macro (done)
; 6.) Write the display functions for FrSky (done)
; 7.) Add init for dual display (done)
; 8.) Call the display function from main application (done)
; 9.) Add the echo logic / code for FrSky (done)
; 10.) Add support to serial connection to spectrum lowpower RF decks (done)
; - Add options in advance menu
; - User UART2 for this function
; 11.) Add dual display functions
; - Add support for the display buttons
; - mode and display buttons, only for secondary display
; - Second display modes
; a.) Digital trims
; b.) Stick and servo position monitor
; c.) Auto trim position monitor
; d.) FrSky telemetry
; 12.) Use A19 signal to select USB / RS232. A19 (RH3) high selects USB. Set this pin
; high by default and add menu selection. Global option. (done, untested)
; 13.) Add dual digitial trim sensitivity function. High rate trim happens at low threshold value.
; 14.) Add test mode to allow outputing 0 or 5 volts to the RF deck modulation pin.
; 15,) Make sure servo position adjust is working including in spectrum FR deck mode.
; Version 3.0, November 2012
; 1.) Added 10 channels including output capability.
; 2.) Added 12 internal channels.
; 3.) Added advanced mixer expresion capability.
; 4.) Update send serial to use the number of channel counter and add the 0xFF
; after the two SOT chars.
; 5.) Allow buadrate adgust for send serial
; 6.) Develope the dual rate digital trim
; 7.) Added microSD card interface with support for reading only at this time
;
; Version 2.0x, to do list
; B.) Fix the retract warning to work even without my RF deck and hold off the
; modulation signal.
; C.) Look into a minor display bug in the channel order options. The UI does
; reflect the currently select channel order.
; D.) Add the ability to control the servo positions from the PC
; application. Also add an API so a user can control with his own
; application.
; 1.) Add more aircraft specific tables, 7 total. Can't have more than 7
; aircraft tables. here is what needs to be done for this change:
; a.) Move the aircraft tables to the end of page 4 in the aircraft setup area.
; reserve the old space so we don't have to adjust pointers.
; b.) Add the 5 additional entries in the data.asm file
; c.) Edit the PC app to support the new tables and set defaults
; d.) Test this function
; 2.) and i just remembered another thing i don't find so user friendly:
; whenever i need to adjust something in one of the alternate aircraft
; memories i have to first call up and select that memory. with the new
; version's 6 alternates this could turn into a real nighmare. could it
; be changed so that whenever you switch to CAL mode you're automatically
; in the menu of whatever memory was currently being used and displayed on
; the LCD when the switch was hit?
; 3.) Allow no confirm of RF at startup. Do this by adding a EEPROM config function
; to the bootloader. Allow the following types of functions or at least consider
; these functions:
; a.) The no RF confirm option
; b.) Oversampling
; 4.) Trims carries across alternate aircraft. This should be optional and
; selectable trim by trim
; 5.) Have the transmitter broadcast the position information during adjustment
; of the table values.
; 6.) Digitial trim issues
; - The system doesn't seem to save to the *.CFG file the actual position
; of digital trims, and then, when loading the file using another MS2K
; radio, they are lost.;
; -When I set up an alternative aircraft and it happens to need a
; different trim position than the master has, that is, when I need
; different flight phases with different trimmings, digital trims do not
; act independently, but on all the phases at once.
; 7.) Allow auto trim to automatically go to trim zero thus more total range and
; no need to go to cal menus.
; 8.) Smooth transistion and timed when changing modes using alternate aircraft.
; 9.) Simplify the alternate aircraft setup options.
; 10.) Look at the CROW function and update it as per the MP8000
; 11.) Add switch functions to CH6 and CH7
;