Cleanup date and time handling

This commit is contained in:
Baptiste Wicht 2014-02-26 20:30:55 +01:00
parent f1804b6795
commit 8bccd3ada5
6 changed files with 13 additions and 29 deletions

View File

@ -8,20 +8,11 @@
#ifndef RTC_H
#define RTC_H
#include <types.hpp>
#include <datetime.hpp>
namespace rtc {
struct data {
uint8_t second;
uint8_t minute;
uint8_t hour;
uint8_t day;
uint8_t month;
uint16_t year;
};
data all_data();
datetime all_data();
} //end of rtc namespace

View File

@ -362,7 +362,7 @@ std::vector<disks::file> files(fat32::dd disk, uint32_t cluster_number){
file.created.day = entry.creation_date & 0x1F;
file.created.month = (entry.creation_date >> 5) & 0xF;
file.created.year = entry.creation_date >> 9;
file.created.year = (entry.creation_date >> 9) + 1980;
file.created.seconds = entry.creation_time & 0x1F;
file.created.minutes = (entry.creation_time >> 5) & 0x3F;
@ -735,8 +735,8 @@ cluster_entry* init_entry(cluster_entry* entry_ptr, const char* name, uint32_t c
//Set the date and time of the entries
entry.creation_time_seconds = 0;
entry.creation_time = datetime.second | datetime.minute << 5 | datetime.hour << 11;
entry.modification_time = datetime.second | datetime.minute << 5 | datetime.hour << 11;
entry.creation_time = datetime.seconds | datetime.minutes << 5 | datetime.hour << 11;
entry.modification_time = datetime.seconds | datetime.minutes << 5 | datetime.hour << 11;
entry.creation_date = datetime.day | datetime.month << 5 | (datetime.year - 1980) << 9;
entry.modification_date = datetime.day | datetime.month << 5 | (datetime.year - 1980) << 9;

View File

@ -26,7 +26,7 @@ uint8_t get_RTC_register(int reg){
} //end of anonymous namespace
rtc::data rtc::all_data(){
datetime rtc::all_data(){
uint8_t second;
uint8_t minute;
uint8_t hour;

View File

@ -50,7 +50,6 @@ bool shift = false;
void help_command(const std::vector<std::string>& params);
void uptime_command(const std::vector<std::string>& params);
void clear_command(const std::vector<std::string>& params);
void date_command(const std::vector<std::string>& params);
void echo_command(const std::vector<std::string>& params);
void mmap_command(const std::vector<std::string>& params);
void memory_command(const std::vector<std::string>& params);
@ -70,11 +69,10 @@ struct command_definition {
void (*function)(const std::vector<std::string>&);
};
command_definition commands[18] = {
command_definition commands[17] = {
{"help", help_command},
{"uptime", uptime_command},
{"clear", clear_command},
{"date", date_command},
{"echo", echo_command},
{"mmap", mmap_command},
{"memory", memory_command},
@ -218,12 +216,6 @@ void uptime_command(const std::vector<std::string>&){
k_printf("Uptime: %us\n", timer::seconds());
}
void date_command(const std::vector<std::string>&){
auto data = rtc::all_data();
k_printf("%u.%u.%u %u:%.2d:%.2d\n", data.day, data.month, data.year, data.hour, data.minute, data.second);
}
void echo_command(const std::vector<std::string>& params){
for(uint64_t i = 1; i < params.size(); ++i){
k_print(params[i]);

View File

@ -49,7 +49,7 @@ int main(int argc, char* argv[]){
print('.');
print(info->created.month);
print('.');
print(info->created.year + 1980);
print(info->created.year);
print(' ');
print(info->created.hour);
@ -63,7 +63,7 @@ int main(int argc, char* argv[]){
print('.');
print(info->modified.month);
print('.');
print(1980+info->modified.year);
print(info->modified.year);
print(' ');
print(info->modified.hour);
@ -77,7 +77,7 @@ int main(int argc, char* argv[]){
print('.');
print(info->accessed.month);
print('.');
print(1980+info->accessed.year);
print(info->accessed.year);
print(' ');
print(info->accessed.hour);

View File

@ -11,13 +11,14 @@
#include <types.hpp>
struct datetime {
uint8_t year;
uint16_t year;
uint8_t month;
uint8_t day;
uint8_t hour;
uint8_t minutes;
uint8_t seconds;
uint16_t precise;
uint8_t unused;
uint64_t precise;
} __attribute__((packed)) ;
#endif