Git Product home page Git Product logo

Comments (8)

skliper avatar skliper commented on July 22, 2024

Imported from trac issue 14. Created by jphickey on 2014-12-30T22:06:05, last modified: 2019-04-01T16:46:45

from cfe.

skliper avatar skliper commented on July 22, 2024

I suggest we fix this for 7.0. Also problems in SB that I'm addressing.

from cfe.

skliper avatar skliper commented on July 22, 2024

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.

jphickey avatar jphickey commented on July 22, 2024

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.

CDKnightNASA avatar CDKnightNASA commented on July 22, 2024

Hmm, seems like an opportune time to make cFE Time a modular structure as with cFE msg?

from cfe.

skliper avatar skliper commented on July 22, 2024

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.

astrogeco avatar astrogeco commented on July 22, 2024

CCB 2020-09-02 Will include in bigger time services update

from cfe.

skliper avatar skliper commented on July 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.