Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ:

Отправлено Гамма СПб 30 августа 2007 г. 14:16
В ответ на: как преобразовать текущие дату время в секунды с 6 января 1980 (то что в sirf протоколе выдается) отправлено <font color=gray>viakon</font> 30 августа 2007 г. 14:06

на вот, где то спер...

/**
* Return Modified Julian Day given calendar year, month (1-12), and day (1-31). Valid for Gregorian dates
* from 17-Nov-1858.
* Adapted from sci.astro FAQ.
*/
static S32 gps_date_to_mjd (S32 Year, S32 Month, S32 Day)
{
return
367 * Year
- 7 * (Year + (Month + 9) / 12) / 4
- 3 * ((Year + (Month - 9) / 7) / 100 + 1) / 4
+ 275 * Month / 9
+ Day
+ 1721028
- 2400000;
}

/**
* Convert Modified Julian Day to calendar date.
* - Assumes Gregorian calendar.
* - Adapted from Fliegel/van Flandern ACM 11/#10 p 657 Oct 1968.
*/

static void gps_mjd_to_date (S32 Mjd, S32 *Year, S32 *Month, S32 *Day)
{
S32 J, C, Y, M;

J = Mjd + 2400001 + 68569;
C = 4 * J / 146097;
J = J - (146097 * C + 3) / 4;
Y = 4000 * (J + 1) / 1461001;
J = J - 1461 * Y / 4 + 31;
M = 80 * J / 2447;
*Day = J - 2447 * M / 80;
J = M / 11;
*Month = M + 2 - (12 * J);
*Year = 100 * (C - 49) + Y + J;
}

/**
* Convert GPS Extended Week (that not return to 0) and Seconds to Modified Julian Day. Include UTC leap seconds.
*
*/
static S32 gps_gps_to_mjd (S32 GpsWeek, S32 GpsSeconds, S32 GpsOffset)
{
S32 GpsDays;

GpsDays = GpsWeek * 7 + ((GpsSeconds - GpsOffset) / 86400);
return bsp_gps_date_to_mjd(1980, 1, 6) + GpsDays;
}



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите три и три:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru