CeDOS - kernel/time.h

kernel/time.h (view raw)

#ifndef __TIME_H
#define __TIME_H

// frequency =  32768 >> (rate-1);
// rate at least 2 (~8kHz)
#define RTC_INT_RATE    3
#define RTC_FREQUENCY   (32768 >> (RTC_INT_RATE - 1))
#define RTC_MSEC(ms)    ((RTC_FREQUENCY / 1000) * ms)
#define RTC_SEC(s)      (RTC_FREQUENCY * s)

typedef struct {
    int year;
    int month;
    int day;
    
    int hour;
    int minute;
    int second;
} datetime_t;

int time_init(void);

void time_tick(void);

int time_get_ticks(void);

int time_now(datetime_t *buffer);

#endif