🛰️Zafer Satılmış - Aviora

Internal Real-Time Clock (Int RTC)

When intRTC.use is true, the generator includes deviceConfig.driverPath (typically McuInterruptRegister.h or another MCU-specific header) that defines INT_RTC_INIT_FUNC, INT_RTC_GET_TIME_FUNC, and INT_RTC_SET_TIME_FUNC. Middleware maps these to middRtcInt*. In AppTimeService_Autogen.c, internal RTC has highest priority for the preferred epoch source: if both internal and external RTC were enabled, the generated code uses internal first (branch order: int → ext → Linux → soft tick).

JSON Fields

Field Effect
intRTC.use Sets APP_TIME_SERVICE_USE_INT_RTC; includes driver header when true.
deviceConfig.driverPath Path to header with INT_RTC_* macro block.

Priority Over External RTC

Figure — Preferred Source Selection
flowchart TD
  Q[Autogen get epoch] --> I{Int RTC on?}
  I -->|Yes| R[middRtcIntGetTime]
  I -->|No| X{Ext RTC on?}
  X -->|Yes| E[middRtcExtGetTime]
  X -->|No| L{Linux local on?}
  L -->|Yes| G[getCurrentUnixTime]
  L -->|No| S[Soft tick]
              

When Disabled

Cus header defines INT_RTC_* stubs to FAILURE; autogen does not call middRtcIntInit or read internal RTC.