#include #include #include #include #include #include "ogn1.h" #include "ogn.h" static char Line[160]; static int ProcessFile(const char *FileName) { uint32_t FileTime=0; const char *ShortName=FileName; for( ; ; ) { const char *Slash=strchr(ShortName, '/'); if(Slash==0) break; ShortName=Slash+1; } if(Read_Hex(FileTime, ShortName)!=8) printf("Not a TLG file: %s\n", ShortName); FILE *File = fopen(FileName, "rb"); if(File==0) { printf("Cannot open %s for read\n", FileName); return 0; } OGN_LogPacket Packet; int Packets=0; for( ; ; ) { if(fread(&Packet, Packet.Bytes, 1, File)!=1) break; // read the next packet from the file if(!Packet.isCorrect()) continue; // uint32_t Time=Packet.getTime(FileTime); // [sec] get exact time from short time in the packet and the file start time int Len=Packet.Packet.WriteAPRS(Line, Time); if(Len==0) continue; printf("%s\n", Line); } fclose(File); return Packets; } int main(int argc, char *argv[]) { for(int arg=1; arg