⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsip_8c-source.html

📁 avr应用测试程序
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00166                     {00167                         <a class="code" href="group__rprintf.html#ga7">rprintfu08</a>(TsipPacket[k]);00168                         <a class="code" href="group__rprintf.html#ga1">rprintfChar</a>(<span class="charliteral">' '</span>);00169                     }00170                     <span class="comment">//rprintfu08(bufferGetFromFront(rxBuffer)); rprintfChar(' ');</span>00171                     <span class="comment">//rprintfu08(bufferGetFromFront(rxBuffer)); rprintfChar(' ');</span>00172 00173                     <a class="code" href="group__rprintf.html#ga5">rprintfCRLF</a>();00174                 }00175                 <span class="comment">// done with this processing session</span>00176                 foundpacket = TRUE;00177                 <span class="keywordflow">break</span>;00178             }00179         }00180     }00181 00182     <span class="keywordflow">if</span>(foundpacket)00183     {00184         <span class="comment">// switch on the packet type</span>00185         <span class="keywordflow">switch</span>(TsipPacket[0])00186         {00187         <span class="keywordflow">case</span> TSIPTYPE_GPSTIME:          tsipProcessGPSTIME(TsipPacket); <span class="keywordflow">break</span>;00188         <span class="keywordflow">case</span> TSIPTYPE_POSFIX_XYZ_SP:    tsipProcessPOSFIX_XYZ_SP(TsipPacket); <span class="keywordflow">break</span>;00189         <span class="keywordflow">case</span> TSIPTYPE_VELFIX_XYZ:       tsipProcessVELFIX_XYZ(TsipPacket); <span class="keywordflow">break</span>;00190 00191         <span class="keywordflow">case</span> TSIPTYPE_POSFIX_LLA_SP:    tsipProcessPOSFIX_LLA_SP(TsipPacket); <span class="keywordflow">break</span>;00192         <span class="keywordflow">case</span> TSIPTYPE_VELFIX_ENU:       tsipProcessVELFIX_ENU(TsipPacket); <span class="keywordflow">break</span>;00193 00194         <span class="keywordflow">case</span> TSIPTYPE_RAWDATA: <span class="keywordflow">break</span>;00195         <span class="keywordflow">default</span>:00196             <span class="comment">//if(debug) rprintf("Unhandled TSIP packet type: 0x%x\r\n",TsipPacket[0]);</span>00197             <span class="keywordflow">break</span>;00198         }00199     }00200 00201     <span class="keywordflow">return</span> foundpacket;00202 }00203 00204 <span class="keywordtype">void</span> tsipProcessGPSTIME(u08* packet)00205 {00206     <span class="comment">// NOTE: check endian-ness if porting to processors other than the AVR</span>00207     GpsInfo.TimeOfWeek.b[3] = packet[1];00208     GpsInfo.TimeOfWeek.b[2] = packet[2];00209     GpsInfo.TimeOfWeek.b[1] = packet[3];00210     GpsInfo.TimeOfWeek.b[0] = packet[4];00211 00212     GpsInfo.WeekNum = ((u16)packet[5]&lt;&lt;8)|((u16)packet[6]);00213 00214     GpsInfo.UtcOffset.b[3]  = packet[7];00215     GpsInfo.UtcOffset.b[2]  = packet[8];00216     GpsInfo.UtcOffset.b[1]  = packet[9];00217     GpsInfo.UtcOffset.b[0]  = packet[10];00218 }00219 00220 <span class="keywordtype">void</span> tsipProcessPOSFIX_XYZ_SP(u08* packet)00221 {00222     <span class="comment">// NOTE: check endian-ness if porting to processors other than the AVR</span>00223     GpsInfo.PosECEF.x.b[3] = packet[1];00224     GpsInfo.PosECEF.x.b[2] = packet[2];00225     GpsInfo.PosECEF.x.b[1] = packet[3];00226     GpsInfo.PosECEF.x.b[0] = packet[4];00227 00228     GpsInfo.PosECEF.y.b[3] = packet[5];00229     GpsInfo.PosECEF.y.b[2] = packet[6];00230     GpsInfo.PosECEF.y.b[1] = packet[7];00231     GpsInfo.PosECEF.y.b[0] = packet[8];00232 00233     GpsInfo.PosECEF.z.b[3] = packet[9];00234     GpsInfo.PosECEF.z.b[2] = packet[10];00235     GpsInfo.PosECEF.z.b[1] = packet[11];00236     GpsInfo.PosECEF.z.b[0] = packet[12];00237 00238     GpsInfo.PosECEF.TimeOfFix.b[3] = packet[13];00239     GpsInfo.PosECEF.TimeOfFix.b[2] = packet[14];00240     GpsInfo.PosECEF.TimeOfFix.b[1] = packet[15];00241     GpsInfo.PosECEF.TimeOfFix.b[0] = packet[16];00242 00243     GpsInfo.PosECEF.updates++;00244 00245 <span class="comment">//  GpsInfo.TimeOfFix_ECEF.f = *((float*)&amp;packet[13]);</span>00246 }00247 00248 <span class="keywordtype">void</span> tsipProcessVELFIX_XYZ(u08* packet)00249 {00250 }00251 00252 <span class="keywordtype">void</span> tsipProcessPOSFIX_LLA_SP(u08* packet)00253 {00254     <span class="comment">// NOTE: check endian-ness if porting to processors other than the AVR</span>00255     GpsInfo.PosLLA.lat.b[3] = packet[1];00256     GpsInfo.PosLLA.lat.b[2] = packet[2];00257     GpsInfo.PosLLA.lat.b[1] = packet[3];00258     GpsInfo.PosLLA.lat.b[0] = packet[4];00259 00260     GpsInfo.PosLLA.lon.b[3] = packet[5];00261     GpsInfo.PosLLA.lon.b[2] = packet[6];00262     GpsInfo.PosLLA.lon.b[1] = packet[7];00263     GpsInfo.PosLLA.lon.b[0] = packet[8];00264 00265     GpsInfo.PosLLA.alt.b[3] = packet[9];00266     GpsInfo.PosLLA.alt.b[2] = packet[10];00267     GpsInfo.PosLLA.alt.b[1] = packet[11];00268     GpsInfo.PosLLA.alt.b[0] = packet[12];00269 00270     GpsInfo.PosLLA.TimeOfFix.b[3] = packet[17];00271     GpsInfo.PosLLA.TimeOfFix.b[2] = packet[18];00272     GpsInfo.PosLLA.TimeOfFix.b[1] = packet[18];00273     GpsInfo.PosLLA.TimeOfFix.b[0] = packet[20];00274 00275     GpsInfo.PosLLA.updates++;00276 }00277 00278 <span class="keywordtype">void</span> tsipProcessVELFIX_ENU(u08* packet)00279 {00280     <span class="comment">// NOTE: check endian-ness if porting to processors other than the AVR</span>00281     GpsInfo.VelENU.east.b[3] = packet[1];00282     GpsInfo.VelENU.east.b[2] = packet[2];00283     GpsInfo.VelENU.east.b[1] = packet[3];00284     GpsInfo.VelENU.east.b[0] = packet[4];00285 00286     GpsInfo.VelENU.north.b[3] = packet[5];00287     GpsInfo.VelENU.north.b[2] = packet[6];00288     GpsInfo.VelENU.north.b[1] = packet[7];00289     GpsInfo.VelENU.north.b[0] = packet[8];00290 00291     GpsInfo.VelENU.up.b[3] =    packet[9];00292     GpsInfo.VelENU.up.b[2] =    packet[10];00293     GpsInfo.VelENU.up.b[1] =    packet[11];00294     GpsInfo.VelENU.up.b[0] =    packet[12];00295 00296     GpsInfo.VelENU.TimeOfFix.b[3] = packet[17];00297     GpsInfo.VelENU.TimeOfFix.b[2] = packet[18];00298     GpsInfo.VelENU.TimeOfFix.b[1] = packet[19];00299     GpsInfo.VelENU.TimeOfFix.b[0] = packet[20];00300 00301     GpsInfo.VelENU.updates++;00302 }00303 00304 <span class="keywordtype">void</span> tsipProcessRAWDATA(<a class="code" href="structstruct__cBuffer.html">cBuffer</a>* packet)00305 {00306 <span class="comment">/*</span>00307 <span class="comment">    char oft = 1;</span>00308 <span class="comment">    // process the data in TSIPdata</span>00309 <span class="comment">    unsigned char SVnum = TSIPdata[oft];</span>00310 <span class="comment">    unsigned __int32 SNR32 =        (TSIPdata[oft+5] &lt;&lt; 24) + (TSIPdata[oft+6] &lt;&lt; 16) + (TSIPdata[oft+7] &lt;&lt; 8) + (TSIPdata[oft+8]);</span>00311 <span class="comment">    unsigned __int32 codephase32 =  (TSIPdata[oft+9] &lt;&lt; 24) + (TSIPdata[oft+10] &lt;&lt; 16) + (TSIPdata[oft+11] &lt;&lt; 8) + (TSIPdata[oft+12]);</span>00312 <span class="comment">    unsigned __int32 doppler32 =    (TSIPdata[oft+13] &lt;&lt; 24) + (TSIPdata[oft+14] &lt;&lt; 16) + (TSIPdata[oft+15] &lt;&lt; 8) + (TSIPdata[oft+16]);</span>00313 <span class="comment">    </span>00314 <span class="comment">    unsigned __int64 meastimeH32 =  (TSIPdata[oft+17] &lt;&lt; 24) | (TSIPdata[oft+18] &lt;&lt; 16) | (TSIPdata[oft+19] &lt;&lt; 8) | (TSIPdata[oft+20]);</span>00315 <span class="comment">    unsigned __int64 meastimeL32 =  (TSIPdata[oft+21] &lt;&lt; 24) | (TSIPdata[oft+22] &lt;&lt; 16) | (TSIPdata[oft+23] &lt;&lt; 8) | (TSIPdata[oft+24]);</span>00316 <span class="comment">    unsigned __int64 meastime64 =   (meastimeH32 &lt;&lt; 32) | (meastimeL32);</span>00317 <span class="comment">    </span>00318 <span class="comment">    float SNR =         *((float*) &amp;SNR32);</span>00319 <span class="comment">    float codephase =   *((float*) &amp;codephase32);</span>00320 <span class="comment">    float doppler =     *((float*) &amp;doppler32);</span>00321 <span class="comment">    double meastime =   *((double*) &amp;meastime64);</span>00322 <span class="comment">    </span>00323 <span class="comment">    // output to screen</span>00324 <span class="comment">    printf("SV%2d SNR: %5.2f PH: %11.4f DOP: %11.4f TIME: %5.0I64f EPOCH: %7.2I64f\n",SVnum,SNR,codephase,doppler,meastime,meastime/1.5);</span>00325 <span class="comment">    //printf("SV%2d  SNR: %5.2f  PH: %10.4f  DOP: %10.4f  TIME: %I64x\n",SVnum,SNR,codephase,doppler,meastime64);</span>00326 <span class="comment"></span>00327 <span class="comment">    // output to file</span>00328 <span class="comment">    fprintf( logfile, "%2d  %5.2f  %11.4f  %11.4f  %5.0I64f  %7.2I64f\n",SVnum,SNR,codephase,doppler,meastime,meastime/1.5);</span>00329 <span class="comment">*/</span>00330 }00331 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Oct 29 03:41:07 2006 for Procyon AVRlib by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -