diff --git a/README.md b/README.md index e9fb5560..6f51fadd 100644 --- a/README.md +++ b/README.md @@ -6,35 +6,49 @@ This repository contains NASA's Platform Support Package (PSP), which is a frame This is a collection of APIs abstracting platform specific functionality to be located in the `psp` subdirectory of a cFS Mission Tree. The Core Flight System is bundled at https://github.com/nasa/cFS, which includes build and execution instructions. -## Version Notes +## Version History -- 1.4.9 DEVELOPMENT +#### Development Build: 1.4.10 + - Implements full-precision microsecond conversion + - See https://github.com/nasa/PSP/pull/155 + +#### Development Build: 1.4.9 - RTEMS builds successfully without errors - Build script uses a proper CMakeLists.txt instead of the aux_source directory - Minor updates (see https://github.com/nasa/PSP/pull/153) -- 1.4.8 DEVELOPMENT + +#### Development Build: 1.4.8 - Minor updates (see https://github.com/nasa/PSP/pull/151) -- 1.4.7 DEVELOPMENT + +#### Development Build: 1.4.7 - Fixed some build warnings for MCP750 - Minor updates (see https://github.com/nasa/PSP/pull/142) -- 1.4.6 DEVELOPMENT + +#### Development Build: 1.4.6 - Minor updates (see https://github.com/nasa/PSP/pull/141) -- 1.4.5 DEVELOPMENT + +#### Development Build: 1.4.5 - Simplifies array handling in VxWorks - Minor updates (see https://github.com/nasa/PSP/pull/138) -- 1.4.4 DEVELOPMENT + +#### Development Build: 1.4.4 - Minor updates (see https://github.com/nasa/PSP/pull/132) -- 1.4.3 DEVELOPMENT + +#### Development Build: 1.4.3 - Minor updates (see https://github.com/nasa/PSP/pull/130) -- 1.4.2 DEVELOPMENT + +#### Development Build: 1.4.2 - Minor updates (see https://github.com/nasa/PSP/pull/127) -- 1.4.1 DEVELOPMENT + +#### Development Build: 1.4.1 - Minor updates (see https://github.com/nasa/PSP/pull/115) -- **1.4.0 OFFICIAL RELEASE**: + +### \*\*\* 1.4.0 OFFICIAL RELEASE \*\*\* - This is a point release from an internal repository - Changes are detailed in [cFS repo](https://github.com/nasa/cFS) release documentation - Released as part of cFE 6.7.0, Apache 2.0 -- **1.3.0a OFFICIAL RELEASE**: + +### \*\*\* 1.3.0a OFFICIAL RELEASE \*\*\* - This is a point release from an internal repository - See [version description document](https://github.com/nasa/PSP/blob/v1.3.0a/doc/PSP%201.3.0.0%20Version%20Description%20Document.pdf) - Released as part of cFE 6.6.0a, Apache 2.0 diff --git a/fsw/mcp750-vxworks/inc/psp_version.h b/fsw/mcp750-vxworks/inc/psp_version.h index cad71644..1340246c 100644 --- a/fsw/mcp750-vxworks/inc/psp_version.h +++ b/fsw/mcp750-vxworks/inc/psp_version.h @@ -35,7 +35,7 @@ */ #define CFE_PSP_IMPL_MAJOR_VERSION 1 #define CFE_PSP_IMPL_MINOR_VERSION 4 -#define CFE_PSP_IMPL_REVISION 9 +#define CFE_PSP_IMPL_REVISION 10 #define CFE_PSP_IMPL_MISSION_REV 0 #endif /* _psp_version_ */ diff --git a/fsw/mcp750-vxworks/src/cfe_psp_timer.c b/fsw/mcp750-vxworks/src/cfe_psp_timer.c index 01a9d0a8..9c7ddaad 100644 --- a/fsw/mcp750-vxworks/src/cfe_psp_timer.c +++ b/fsw/mcp750-vxworks/src/cfe_psp_timer.c @@ -99,8 +99,21 @@ void CFE_PSP_GetTime( OS_time_t *LocalTime) DecCount = DecCount & 0x7FFFFFFF; DecCount = ((uint32) 0x0D6937E5) - DecCount; LocalTime->seconds = DecCount / 8333311; + + /* Get subseconds (discard seconds) */ DecCount = DecCount % 8333311; - LocalTime->microsecs = (DecCount/8333) * 1000; + + /* Microsecond conversion + * If speed really matters, recommend testing the following + * options on hardware being used (all should give the exact same answer): + * - long long to avoid overflow: (DecCount*1000000ULL)/8333311 + * - Double w/ divide: DecCount/8.333311 + * - Approximation: ((300 * DecCount) + (DecCount / 1244)) / 2500 + * At cost of up to 2us error (at max value): + * - Approximation: (DecCount * 3) / 25 + */ + LocalTime->microsecs = ((300 * DecCount) + (DecCount / 1244)) / 2500; + }/* end CFE_PSP_GetLocalTime */ /****************************************************************************** diff --git a/fsw/pc-linux/inc/psp_version.h b/fsw/pc-linux/inc/psp_version.h index cad71644..1340246c 100644 --- a/fsw/pc-linux/inc/psp_version.h +++ b/fsw/pc-linux/inc/psp_version.h @@ -35,7 +35,7 @@ */ #define CFE_PSP_IMPL_MAJOR_VERSION 1 #define CFE_PSP_IMPL_MINOR_VERSION 4 -#define CFE_PSP_IMPL_REVISION 9 +#define CFE_PSP_IMPL_REVISION 10 #define CFE_PSP_IMPL_MISSION_REV 0 #endif /* _psp_version_ */ diff --git a/fsw/pc-rtems/inc/psp_version.h b/fsw/pc-rtems/inc/psp_version.h index cad71644..1340246c 100644 --- a/fsw/pc-rtems/inc/psp_version.h +++ b/fsw/pc-rtems/inc/psp_version.h @@ -35,7 +35,7 @@ */ #define CFE_PSP_IMPL_MAJOR_VERSION 1 #define CFE_PSP_IMPL_MINOR_VERSION 4 -#define CFE_PSP_IMPL_REVISION 9 +#define CFE_PSP_IMPL_REVISION 10 #define CFE_PSP_IMPL_MISSION_REV 0 #endif /* _psp_version_ */ diff --git a/fsw/shared/cfe_psp_configdata.c b/fsw/shared/cfe_psp_configdata.c index f3f4b455..710e2433 100644 --- a/fsw/shared/cfe_psp_configdata.c +++ b/fsw/shared/cfe_psp_configdata.c @@ -19,7 +19,7 @@ */ /** - * \file cfe_psp_config.c + * \file cfe_psp_configdata.c * * Created on: Dec 31, 2014 * Author: joseph.p.hickey@nasa.gov @@ -35,7 +35,7 @@ * * Because this is compiled within the context of the PSP code, * this can access the internal PSP macros directly. External - * code such as CFE core or apps would not be able to #include the + * code such as CFE core or apps would not be able to \#include the * PSP cfe_psp_config.h or psp_version.h files */ Target_PspConfigData GLOBAL_PSP_CONFIGDATA = @@ -59,4 +59,3 @@ Target_PspConfigData GLOBAL_PSP_CONFIGDATA = .MissionRev = CFE_PSP_IMPL_MISSION_REV } }; - diff --git a/fsw/shared/cfe_psp_module.c b/fsw/shared/cfe_psp_module.c index 14f11373..0ef5e3b4 100644 --- a/fsw/shared/cfe_psp_module.c +++ b/fsw/shared/cfe_psp_module.c @@ -19,7 +19,7 @@ */ /** - * \file iodriver_manager.c + * \file cfe_psp_module.c * * Created on: Jul 25, 2014 * Author: jphickey @@ -131,4 +131,3 @@ int32 CFE_PSP_Module_FindByName(const char *ModuleName, uint32 *PspModuleId) return Result; } -