Comments (8)
Imported from trac issue 14. Created by jphickey on 2014-12-30T22:06:05, last modified: 2019-04-01T16:46:45
from cfe.
I suggest we fix this for 7.0. Also problems in SB that I'm addressing.
from cfe.
Need to resolve how to handle this. Deprecate the old and and add one with a new name? Or breaking change as part of 7.0 and just fix it to be consistent?
from cfe.
I had assumed this would be address as part of a more comprehensive CFE TIME cleanup, as there are so many other issues with this subsystem (#78, #109, #123, and probably more?).
With respect to this particular API we should probably first discuss whether there is still a need/justification for the CFE_MISSION_TIME_CFG_DEFAULT_TAI
/CFE_MISSION_TIME_CFG_DEFAULT_UTC
platform config options. It is another one of those things that is never really tested - the default has TAI so that is likely the only thing verified. It also seems like apps that depend on the notion of civil/calendar time would need to know whether they are getting UTC or TAI so they'd be better off calling CFE_TIME_GetTAI or CFE_TIME_GetUTC directly. I am not sure what the CFE_TIME_GetTime() is supposed to be for, really.
Perhaps add CFE_TIME_GetCurrentTAI()
and CFE_TIME_GetCurrentUTC()
that fill the specified output buffer and return int32
, and deprecate all current time getter APIs that return a structure directly?
from cfe.
Hmm, seems like an opportune time to make cFE Time a modular structure as with cFE msg?
from cfe.
Good points. Not a critical change for 7.0, makes sense to me to include as part of the comprehensive cleanup (and possible modularization) post 7.0.
from cfe.
CCB 2020-09-02 Will include in bigger time services update
from cfe.
Additionally analyze all CFE_TIME_SysTime_t pass by value cases and resolve. Used in a handful of APIs:
cfe_evs.h:CFE_Status_t CFE_EVS_SendTimedEvent(CFE_TIME_SysTime_t Time, uint16 EventID, uint16 EventType, const char *Spec, ...)
cfe_fs.h:CFE_Status_t CFE_FS_SetTimestamp(osal_id_t FileDes, CFE_TIME_SysTime_t NewTimestamp);
cfe_msg.h:CFE_Status_t CFE_MSG_SetMsgTime(CFE_MSG_Message_t *MsgPtr, CFE_TIME_SysTime_t Time);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_GetTime(void);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_GetTAI(void);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_GetUTC(void);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_GetMET(void);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_GetSTCF(void);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_Add(CFE_TIME_SysTime_t Time1, CFE_TIME_SysTime_t Time2);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_Subtract(CFE_TIME_SysTime_t Time1, CFE_TIME_SysTime_t Time2);
cfe_time.h:CFE_TIME_Compare_t CFE_TIME_Compare(CFE_TIME_SysTime_t TimeA, CFE_TIME_SysTime_t TimeB);
cfe_time.h:CFE_TIME_SysTime_t CFE_TIME_MET2SCTime(CFE_TIME_SysTime_t METTime);
cfe_time.h:void CFE_TIME_ExternalMET(CFE_TIME_SysTime_t NewMET);
cfe_time.h:void CFE_TIME_ExternalGPS(CFE_TIME_SysTime_t NewTime, int16 NewLeaps);
cfe_time.h:void CFE_TIME_ExternalTime(CFE_TIME_SysTime_t NewTime);
cfe_time.h:void CFE_TIME_Print(char *PrintBuffer, CFE_TIME_SysTime_t TimeToPrint);
from cfe.
Related Issues (20)
- Improve application developer guide documentation
- Use consistent time definition for TBL subsystem data structures
- Remove conditionally-compiled code in TBL
- Add "foreach" function for access descriptor looping
- Use proper resource identifers for table validation and dump state structs
- Static analysis issues JSC 2.1
- address sanitizer option detect segv in es_UT.c
- Update platform defined values to be more 'flight like'/work with BVT tests
- SB memory pool misleading reporting and ES API confusing HOT 1
- Improve CFE_SB_AllocateMessageBuffer error reporting HOT 1
- Send informational CMake message(s) to stdout instead of stderr
- Enhance config module to support lists/arrays generated at compile time
- Generic Pool fail for SC when a higher number of tables are registered
- Address Sanitizer in coverage-es-ALL (TestApps) HOT 1
- CFE_EVS_MAX_PORT_MSG_LENGTH size reduction requires clarity
- CFE_TIME unit tests fail when CFE_MISSION_TIME_AT_TONE_WILL_BE is true.
- CFE_SB_ReceiveBuffer times out immediately if the system time changes on POSIX
- f-sanitizer detect runtime issue in coverage-es-ALL
- f sanitizer detect runtime error in cfe_msg_sechdr_time.c HOT 1
- f-sanitizer detect runtime error in coverage-evs-ALL
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cfe.