@@ -47,6 +47,7 @@ static void track_correlate(enum correlator_type correlator_type,
4747 * \param samples Samples array. One byte per sample.
4848 * \param samples_len Samples array size.
4949 * \param code L1C/A PRN code. One byte per chip: 1023 bytes long.
50+ * \param chips_to_correlate Number of chips to correlate [chips].
5051 * \param[in,out] init_code_phase Initial code phase [chips].
5152 * The function returns the
5253 * the last unprocessed code phase here.
@@ -63,19 +64,20 @@ static void track_correlate(enum correlator_type correlator_type,
6364 * \param[out] Q_L Late replica quadrature correlation component.
6465 * \param[out] num_samples The number of processed samples from \e samples array.
6566 */
66- void l1_ca_track_correlate (const s8 * restrict samples , size_t samples_len ,
67- const s8 * restrict code ,
67+ void l1_ca_track_correlate (const s8 * samples , size_t samples_len ,
68+ const s8 * code ,
69+ u32 chips_to_correlate ,
6870 double * init_code_phase , double code_step ,
6971 double * init_carr_phase , double carr_step ,
7072 double * I_E , double * Q_E ,
7173 double * I_P , double * Q_P ,
7274 double * I_L , double * Q_L , u32 * num_samples )
7375{
74- * num_samples = (int )ceil ((L1_CA_CHIPS_PER_PRN_CODE - * init_code_phase ) /
76+ * num_samples = (int )ceil ((chips_to_correlate - * init_code_phase ) /
7577 code_step );
7678
7779 if (0 == * num_samples ) {
78- * num_samples = (int )ceil (L1_CA_CHIPS_PER_PRN_CODE / code_step );
80+ * num_samples = (int )ceil (chips_to_correlate / code_step );
7981 }
8082
8183 if (* num_samples > samples_len ) {
@@ -96,6 +98,7 @@ void l1_ca_track_correlate(const s8* restrict samples, size_t samples_len,
9698 * \param samples Samples array. One byte per sample.
9799 * \param samples_len Samples array size.
98100 * \param code L2C CM PRN code. One byte per chip: 10230 bytes long.
101+ * \param chips_to_correlate Number of chips to correlate [chips].
99102 * \param[in,out] init_code_phase Initial code phase [chips].
100103 * The function returns the
101104 * the last unprocessed code phase here.
@@ -114,17 +117,18 @@ void l1_ca_track_correlate(const s8* restrict samples, size_t samples_len,
114117 */
115118void l2c_cm_track_correlate (const s8 * samples , size_t samples_len ,
116119 const s8 * code ,
120+ u32 chips_to_correlate ,
117121 double * init_code_phase , double code_step ,
118122 double * init_carr_phase , double carr_step ,
119123 double * I_E , double * Q_E ,
120124 double * I_P , double * Q_P ,
121125 double * I_L , double * Q_L , u32 * num_samples )
122126{
123- * num_samples = (int )ceil ((2 * L2C_CM_CHIPS_PER_PRN_CODE - * init_code_phase ) /
127+ * num_samples = (int )ceil ((chips_to_correlate - * init_code_phase ) /
124128 code_step );
125129
126130 if (0 == * num_samples ) {
127- * num_samples = (int )ceil (2 * L2C_CM_CHIPS_PER_PRN_CODE / code_step );
131+ * num_samples = (int )ceil (chips_to_correlate / code_step );
128132 }
129133
130134 if (* num_samples > samples_len ) {
0 commit comments