This is the main page for ODTBX development.
This part of the OD Toolbox Wiki is meant to hold most items that would interest a developer but not an end-user.
Project management items that are configuration-controlled in Git can be found via the SourceForge repository viewer. The [RepositoryInstructions] has information on how to check this out.
Release 6.5 occurred on Nov 27, 2013. The largest change is the full abstraction of link budget capabilities and implementation of them back into gpsmeas, gsmeas, and tdrssmeas_basic. In addition, the TDRSS measurement function was simplified to only include geometric computations.
Release 6.0 occurred on May 31, 2013. All estimators now take separate truth and estimated odtbxOptions structures for consistency with other estimator inputs. The CIO transform (Dr. Abel Brown) was added. The Measurement Scheduling GUI can now import dynargs from the workspace.
Release 5.5 occurred on December 18, 2012. The biggest addition was the meas_sched GUI tool. This allows users to schedule ground station measurements via a user-friendly MATLAB GUI. Two new tutorials were added (pancake_tutorial and batch_3gs_tutorial), a hyperbolic orbit b-plane calculation function was added, and the ODTBX Options structure now supports particles.
Release 5.0 occurred on September 5, 2012. The regression testing framework was overhauled for more consistent test naming. Several estimator and measurement functions were updated, clock error models were added, and nbodypm was updated with point-mass dynamics equations.
Release 4.5 occurred in early May of 2011. Significant enhancements were mainly in the measurement modeling areas, such as the new opnavmeas and upgraded gpsmeas. A new set of capabilities for GPS antenna link budget modeling and analysis was added. Quaternion functions and fgprop were added as well.
ODTBX Release 4.0 occurred on November 30, 2010. This release improved estimation capabilities in several estimators, added a smoother to estsrif, and included a new version of MICE.
ODTBX Release 3.5 occurred on May 28, 2010. This release added the Square Root Estimation Filter,estsrif and a separate linear covariance analysis function lincov_kf, and had improvements to estseq, ground stations, jatDCM, as well as other general improvments.
ODTBX Release 3.0.2 occurred on April 14th, 2010. There was very little content or functional difference from 3.0.
ODTBX Release 3.0.1 occurred on Jan. 13th, 2010. This release was the first release made under the NOSA license. There was very little content or functional difference from 3.0.
ODTBX Release 3.0 occurred on Nov. 27th, 2009, marking the end of Increment 8. This release was not made under the NOSA license.
Prior Increments that went into Release 3.0 were:
Increment 7
TBD
The OD Toolbox requirements are currently stored in multiple places:
The [OdtbxRequirements] page holds the Increment 6 and 7 requirements. This is the likely location to pull together the ODTBX requirements.
Previous increment/spiral requirements are at [OdToolBoxReqts], the OD Toolbox System Requirements Document.
A page has been set up to capture the [PlottingUiRequirements].
These requirements documents will need to be merged and scrubbed until they properly represent the current system requirements set. This merge work is TBD.
The Configuration Control Board (CCB) holds regular meetings to review and action issues in Mantis. The Minutes (and ArchivedMinutes) are available.
Weekly status reports are available for this project.
Each increment of development has a prototype demonstration for eliciting feedback during development. (Some increments, such as Increment 7.5, are short and the demonstration is waived in the interests of further development progress. Increment 8 had no demonstration due to contract changes/extensions and planning.)
[IssueProcess] holds the current description of the issue process from reporting through closing. This is of interest to end users, developers, and project management.
[OdToolBoxQa] has the current OD Toolbox Quality Assurance (QA) documents and process. Currently this process isn't utilized as much as we would like due to resource limitations.
[RepositoryInstructions] describes the Subversion repositories and their contents.
The feature-driven development process is an overview of a good method towards development of a single feature, or issue. It is a basic boiler-plate process developers should follow when working on issues.
[OdtbxTestingProcess] describes running OD Toolbox validation and regression tests as a developer. It also describes guidelines for creating a test for new functionality and how the automated regression tests run.
[OdtbxCheckInProcess] is the guide for checking changes back into the Subversion repositories during development.
There currently is no guide for branching and merging conventions on this project. (Fortunately there hasn't been much branching and merging, but when it occurred it was significant.) Whenever a guide is created it should cover: when to branch (or when not to) and how to perform the branch (with examples). It should also cover the critical information the developer should track while on a branch and the recommended merge process and coordination that should happen to avoid problems.
[OdtbxReleaseProcess] describes how to create and deliver an OD Toolbox release. This also includes information about the IzPack installer.
Information on design and implementation of ODTBX is at [DesignImpl].
The [IncrementSix] page holds information used during that development.
Development guides:
This section contains information on the development tools used for OD Toolbox development and how to set up your development environment on each tool.
(Details on the development processes, or what to do with these tools, are found in the process descriptions, above.)
java -jar IzPack-install-<version>.jar
This will cause the installer to run with the proper permissions to install on Vista.
* The [IzPackTips] page has additional details on using the IzPack tool to create installers and debugging the produced installers.
* MICE is the Matlab version of the NAIF Spice Toolkit.
* Documentation for the MATLAB version is found at http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/MATLAB/index.html.
* While you can download and use your own MICE tool, however ODTBX distributes MICE with some additional files. See [DistributingMice] for more details.
* Apache Maven is used to automatically build JAT prior to running each night's regression test.
* Developers don't need to download and install Maven as part of their development environment if they are using an IDE like Eclipse.
To set up your environment for ODTBX development, perform these instructions (in order):
Instructions and a description of the automated regression test setup are at the [OdtbxTestingProcess] page.
The [RegressionServer] page captures some information on the ODTBX regression testing server.
Mantis - The issue tracking system
WikiStart - Go back to OD Toolbox Home
Wiki: DesignImpl
Wiki: DistributingMice
Wiki: EclipseSetup
Wiki: Home
Wiki: IncrementSix
Wiki: IssueProcess
Wiki: IzPackTips
Wiki: LLA2ecef
Wiki: MatlabEnvSetup
Wiki: MatlabJatAdaptor
Wiki: MatlabJavaInterface
Wiki: MatlabToolbox
Wiki: Minutes
Wiki: Minutes20091201
Wiki: OdToolBoxQa
Wiki: OdToolBoxReqts
Wiki: OdtbxCheckInProcess
Wiki: OdtbxDemos
Wiki: OdtbxFeatureDrivenDevProcess
Wiki: OdtbxLicensing
Wiki: OdtbxReleaseProcess
Wiki: OdtbxRequirements
Wiki: OdtbxTestingProcess
Wiki: PlottingUiRequirements
Wiki: QaCodingStandards
Wiki: RegressionServer
Wiki: RepositoryInstructions
Wiki: convertTime
Wiki: createJATWorld
Wiki: getIERSTimes
Wiki: getIndex
Wiki: jatDCM
Wiki: jatIonoDelayModel
Wiki: jatRK8
Wiki: mJD2JD