Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ set(DMOSI_DONT_IMPLEMENT_DMOD_API OFF CACHE BOOL "Do not implement DMOD API in d
set(DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX OFF CACHE BOOL "Do not implement DMOD Mutex API in dmosi library")
set(DMOSI_DONT_IMPLEMENT_DMOD_API_ENV OFF CACHE BOOL "Do not implement DMOD Environment API in dmosi library")
set(DMOSI_DONT_IMPLEMENT_DMOD_API_PROC OFF CACHE BOOL "Do not implement DMOD Process API in dmosi library")
set(DMOSI_DONT_IMPLEMENT_DMOD_API_TIME OFF CACHE BOOL "Do not implement DMOD Time API in dmosi library")


# ======================================================================
Expand Down Expand Up @@ -64,6 +65,7 @@ target_compile_definitions(${MODULE_NAME}
$<$<BOOL:${DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX}>:DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX>
$<$<BOOL:${DMOSI_DONT_IMPLEMENT_DMOD_API_ENV}>:DMOSI_DONT_IMPLEMENT_DMOD_API_ENV>
$<$<BOOL:${DMOSI_DONT_IMPLEMENT_DMOD_API_PROC}>:DMOSI_DONT_IMPLEMENT_DMOD_API_PROC>
$<$<BOOL:${DMOSI_DONT_IMPLEMENT_DMOD_API_TIME}>:DMOSI_DONT_IMPLEMENT_DMOD_API_TIME>
DMOSI_VERSION="${PROJECT_VERSION}"
)

Expand Down
21 changes: 21 additions & 0 deletions src/dmosi.c
Original file line number Diff line number Diff line change
Expand Up @@ -673,4 +673,25 @@ Dmod_Pid_t Dmod_RunDetached(Dmod_Context_t* Context, int argc, char* argv[])

#endif // !DMOSI_DONT_IMPLEMENT_DMOD_API && !DMOSI_DONT_IMPLEMENT_DMOD_API_PROC

//==============================================================================
// DMOD Time API Implementation
//==============================================================================
#if !defined(DMOSI_DONT_IMPLEMENT_DMOD_API) && !defined(DMOSI_DONT_IMPLEMENT_DMOD_API_TIME)

/**
* @brief DMOD uptime implementation using DMOSI
*
* This implementation provides the DMOD GetUptime API using the underlying
* DMOSI tick-count operation. It is only compiled when DMOSI_DONT_IMPLEMENT_DMOD_API
* and DMOSI_DONT_IMPLEMENT_DMOD_API_TIME are not defined.
*
* @note The tick count is assumed to represent milliseconds, which is the
* typical RTOS configuration (1 ms per tick).
*/

Dmod_Timestamp_t Dmod_GetUptime(void)
{
return (Dmod_Timestamp_t)dmosi_get_tick_count();
}

#endif // !DMOSI_DONT_IMPLEMENT_DMOD_API && !DMOSI_DONT_IMPLEMENT_DMOD_API_TIME