forked from len0rd/rockbox
Encoding fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22970 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
0f305827bf
commit
5abd9686f4
2 changed files with 74 additions and 74 deletions
|
@ -7,7 +7,7 @@
|
||||||
* \/ \/ \/ \/ \/
|
* \/ \/ \/ \/ \/
|
||||||
* $Id$
|
* $Id$
|
||||||
*
|
*
|
||||||
* Copyright © 2009 Michael Sparmann
|
* Copyright © 2009 Michael Sparmann
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,73 +1,73 @@
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* __________ __ ___.
|
* __________ __ ___.
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
* \/ \/ \/ \/ \/
|
* \/ \/ \/ \/ \/
|
||||||
* $Id$
|
* $Id$
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002 by Linus Nielsen Feltzing, Uwe Freese, Laurent Baum
|
* Copyright (C) 2002 by Linus Nielsen Feltzing, Uwe Freese, Laurent Baum
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* as published by the Free Software Foundation; either version 2
|
||||||
* of the License, or (at your option) any later version.
|
* of the License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
* KIND, either express or implied.
|
* KIND, either express or implied.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "rtc.h"
|
#include "rtc.h"
|
||||||
#include "kernel.h"
|
#include "kernel.h"
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "pmu-target.h"
|
#include "pmu-target.h"
|
||||||
|
|
||||||
void rtc_init(void)
|
void rtc_init(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
int rtc_read_datetime(struct tm *tm)
|
int rtc_read_datetime(struct tm *tm)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
unsigned char buf[7];
|
unsigned char buf[7];
|
||||||
|
|
||||||
pmu_read_multiple(0x59, sizeof(buf), buf);
|
pmu_read_multiple(0x59, sizeof(buf), buf);
|
||||||
|
|
||||||
for (i = 0; i < sizeof(buf); i++)
|
for (i = 0; i < sizeof(buf); i++)
|
||||||
buf[i] = BCD2DEC(buf[i]);
|
buf[i] = BCD2DEC(buf[i]);
|
||||||
|
|
||||||
tm->tm_sec = buf[0];
|
tm->tm_sec = buf[0];
|
||||||
tm->tm_min = buf[1];
|
tm->tm_min = buf[1];
|
||||||
tm->tm_hour = buf[2];
|
tm->tm_hour = buf[2];
|
||||||
tm->tm_wday = buf[3];
|
tm->tm_wday = buf[3];
|
||||||
tm->tm_mday = buf[4];
|
tm->tm_mday = buf[4];
|
||||||
tm->tm_mon = buf[5] - 1;
|
tm->tm_mon = buf[5] - 1;
|
||||||
tm->tm_year = buf[6] + 100;
|
tm->tm_year = buf[6] + 100;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int rtc_write_datetime(const struct tm *tm)
|
int rtc_write_datetime(const struct tm *tm)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
int rc, oldlevel;
|
int rc, oldlevel;
|
||||||
unsigned char buf[7];
|
unsigned char buf[7];
|
||||||
|
|
||||||
buf[0] = tm->tm_sec;
|
buf[0] = tm->tm_sec;
|
||||||
buf[1] = tm->tm_min;
|
buf[1] = tm->tm_min;
|
||||||
buf[2] = tm->tm_hour;
|
buf[2] = tm->tm_hour;
|
||||||
buf[3] = tm->tm_wday;
|
buf[3] = tm->tm_wday;
|
||||||
buf[4] = tm->tm_mday;
|
buf[4] = tm->tm_mday;
|
||||||
buf[5] = tm->tm_mon + 1;
|
buf[5] = tm->tm_mon + 1;
|
||||||
buf[6] = tm->tm_year - 100;
|
buf[6] = tm->tm_year - 100;
|
||||||
|
|
||||||
for (i = 0; i < sizeof(buf); i++)
|
for (i = 0; i < sizeof(buf); i++)
|
||||||
buf[i] = DEC2BCD(buf[i]);
|
buf[i] = DEC2BCD(buf[i]);
|
||||||
|
|
||||||
pmu_write_multiple(0x59, sizeof(buf), buf);
|
pmu_write_multiple(0x59, sizeof(buf), buf);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue