1 // Codieren Bild nach SSDV --> basierend auf Philip Herons SSDV Open Source Projekt 2 int c; 3 FILE *fin=NULL; 4 FILE *fout=NULL; 5 fin=fopen(ntx_picture,"rb"); 6 fout=fopen("SSDV_DATA","wb"); 7 char type = SSDV_TYPE_NORMAL; 8 char callsign[6]="DN4GB "; 9 ssdv_t ssdv; 10 uint8_t pkt[SSDV_PKT_SIZE], b[128]; 11 ssdv_enc_init(&ssdv, type, callsign, ssdv_index); // Header vorbereiten (Rufzeichen, Nummer) 12 ssdv_enc_set_buffer(&ssdv, pkt); // Buffer vorbereiten 13 while(1) 14 { 15 while((c = ssdv_enc_get_packet(&ssdv)) == SSDV_FEED_ME) 16 { 17 size_t r = fread(b, 1, 128, fin); // lese zu kodierendes Bild ein 18 ssdv_enc_feed(&ssdv, b, r); // codiere Bilddaten nach SSDV 19 } 20 if(c==SSDV_EOI) 21 { 22 break; // Datei vollständig umgewandelt 23 } 24 fwrite(pkt, 1, SSDV_PKT_SIZE, fout); // schreibe codierete Daten in Datei 25 } 26 fclose(fin); 27 fclose(fout);