/************************************************************************** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file RTC.h * * @date 27-NOV-2019 * @author D. Navaei * * @brief RTC header file. * **************************************************************************/ #ifndef _RTC_H_ #define _RTC_H_ #include "Common.h" typedef enum RTC_RAM_STATUS { RTC_RAM_STATUS_IDLE = 0, RTC_RAM_STATUS_IN_PROGRESS, RTC_RAM_STATUS_BYTES_EXCEEDED, RTC_RAM_STATUS_ILLEGAL_ADDRESS, RTC_RAM_STATUS_FAILED, RTC_RAM_STATUS_COMPLETE } RTC_RAM_STATUS_T; typedef enum RTC_RAM_STATE { RTC_RAM_STATE_READY = 0, RTC_RAM_STATE_BUSY } RTC_RAM_STATE_T; void initRTC( void ); void execRTC( void ); void setRTCTimestamp( U08 secs, U08 mins, U08 hours, U08 days, U08 months, U16 years ); U32 getRTCTimestamp( void ); SELF_TEST_STATUS_T execRTCSelfTest( void ); RTC_RAM_STATUS_T writeToRAM( U16 address, U16* data, U32 length ); RTC_RAM_STATUS_T readFromRAM( U16 address, U32 length ); RTC_RAM_STATUS_T getRTCRAMStatus( void ); RTC_RAM_STATE_T getRTCRAMState( void ); void getDataFromRAM( U16* externalBuffer, U32 length ); #endif