void handle_tick(AppContextRef app_ctx, PebbleTickEvent *event) { float fracthour = event->tick_time->tm_hour + (event->tick_time->tm_min * 1.0 / 60) + (event->tick_time->tm_sec * 1.0 / 3600) - 1; double jc = julian_century(event->tick_time->tm_year + 1900, event->tick_time->tm_mon+1, event->tick_time->tm_mday, fracthour); /* h_m_chelek_string(jc, hour_count_start, hour_count_end, s_time_str_buffer);*/ string_format_time(s_time_str_buffer, 32, "%I:%M:%S %p", event->tick_time); text_layer_set_text(&normaltime, s_time_str_buffer); }
//////////////////////////////////////////////////////////////////////////////////////////////// // Calculate required SPA parameters to get the right ascension (alpha) and declination (delta) // Note: JD must be already calculated and in structure //////////////////////////////////////////////////////////////////////////////////////////////// void calculate_geocentric_sun_right_ascension_and_declination(spa_data *spa) { double x[TERM_X_COUNT]; spa->jc = julian_century(spa->jd); spa->jde = julian_ephemeris_day(spa->jd, spa->delta_t); spa->jce = julian_ephemeris_century(spa->jde); spa->jme = julian_ephemeris_millennium(spa->jce); spa->l = earth_heliocentric_longitude(spa->jme); spa->b = earth_heliocentric_latitude(spa->jme); spa->r = earth_radius_vector(spa->jme); spa->theta = geocentric_longitude(spa->l); spa->beta = geocentric_latitude(spa->b); spa->x0 = mean_elongation_moon_sun(spa->jce); spa->x1 = mean_anomaly_sun(spa->jce); spa->x2 = mean_anomaly_moon(spa->jce); spa->x3 = argument_latitude_moon(spa->jce); spa->x4 = ascending_longitude_moon(spa->jce); x[TERM_X0] = spa->x0; x[TERM_X1] = spa->x1; x[TERM_X2] = spa->x2; x[TERM_X3] = spa->x3; x[TERM_X4] = spa->x4; nutation_longitude_and_obliquity(spa->jce, x, &(spa->del_psi), &(spa->del_epsilon)); spa->epsilon0 = ecliptic_mean_obliquity(spa->jme); spa->epsilon = ecliptic_true_obliquity(spa->del_epsilon, spa->epsilon0); spa->del_tau = aberration_correction(spa->r); spa->lamda = apparent_sun_longitude(spa->theta, spa->del_psi, spa->del_tau); spa->nu0 = greenwich_mean_sidereal_time (spa->jd, spa->jc); spa->nu = greenwich_sidereal_time (spa->nu0, spa->del_psi, spa->epsilon); spa->alpha = geocentric_sun_right_ascension(spa->lamda, spa->epsilon, spa->beta); spa->delta = geocentric_sun_declination(spa->beta, spa->epsilon, spa->lamda); }