diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a01e0f --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +piam +pidcf77 +pifm +pifsq +pissb +pisstv +rpitx +*.o diff --git a/am/piam.c b/am/piam.c index 2a5d4e1..d1438ab 100644 --- a/am/piam.c +++ b/am/piam.c @@ -32,7 +32,9 @@ typedef struct { RfSample.Frequency=Frequency; RfSample.WaitForThisSample=Timing; //en 100 de nanosecond //printf("Freq =%f Timing=%d\n",RfSample.Frequency,RfSample.WaitForThisSample); - write(FileFreqTiming,&RfSample,sizeof(samplerf_t)); + if (write(FileFreqTiming,&RfSample,sizeof(samplerf_t)) != sizeof(samplerf_t)) { + fprintf(stderr, "Unable to write sample\n"); + } } @@ -72,7 +74,7 @@ int main(int argc, char **argv) { return 1 ; } - FileFreqTiming = open(outfilename,'r'); + FileFreqTiming = open(outfilename, O_RDONLY); /** **/ diff --git a/dcf77/pidcf77.c b/dcf77/pidcf77.c index d4a7c38..1abec8b 100644 --- a/dcf77/pidcf77.c +++ b/dcf77/pidcf77.c @@ -237,7 +237,9 @@ void playtone(double Amplitude,uint32_t Timing) RfSample.Amplitude=Amplitude; RfSample.WaitForThisSample=Timing; //en 100 de nanosecond printf("%f %ld\n",Amplitude,Timing); - write(FileFreqTiming,&RfSample,sizeof(samplerf_t)); + if (write(FileFreqTiming,&RfSample,sizeof(samplerf_t)) != sizeof(samplerf_t)) { + fprintf(stderr, "Unable to write sample\n"); + } } @@ -251,7 +253,7 @@ if (argc > 1) { char *sFileFreqTiming=(char *)argv[1]; - FileFreqTiming = open(argv[1],O_WRONLY|O_CREAT); + FileFreqTiming = open(argv[1], O_WRONLY|O_CREAT, 0644); DCF_BITS(7,59); loop(); diff --git a/fm/pifm.c b/fm/pifm.c index 1f1b938..3dacb63 100644 --- a/fm/pifm.c +++ b/fm/pifm.c @@ -32,7 +32,9 @@ typedef struct { RfSample.Frequency=Frequency; RfSample.WaitForThisSample=Timing; //en 100 de nanosecond //printf("Freq =%f Timing=%d\n",RfSample.Frequency,RfSample.WaitForThisSample); - write(FileFreqTiming,&RfSample,sizeof(samplerf_t)); + if (write(FileFreqTiming,&RfSample,sizeof(samplerf_t)) != sizeof(samplerf_t)) { + fprintf(stderr, "Unable to write sample\n"); + } } @@ -72,7 +74,7 @@ int main(int argc, char **argv) { return 1 ; } - FileFreqTiming = open(outfilename,'r'); + FileFreqTiming = open(outfilename, O_RDONLY); /** **/ diff --git a/fsq/pifsq.c b/fsq/pifsq.c index 23ebf49..e084160 100644 --- a/fsq/pifsq.c +++ b/fsq/pifsq.c @@ -216,7 +216,9 @@ typedef struct { RfSample.Frequency=Frequency; RfSample.WaitForThisSample=Timing*1000L; //en 100 de nanosecond //printf("Freq =%f Timing=%d\n",RfSample.Frequency,RfSample.WaitForThisSample); - write(FileFreqTiming,&RfSample,sizeof(samplerf_t)); + if (write(FileFreqTiming,&RfSample,sizeof(samplerf_t)) != sizeof(samplerf_t)) { + fprintf(stderr, "Unable to write sample\n"); + } } @@ -352,10 +354,10 @@ main(int argc, char **argv) if (argc > 2) { sText=(char *)argv[1]; - //FileText = open(argv[1], 'r'); + //FileText = open(argv[1], O_RDONLY); char *sFileFreqTiming=(char *)argv[2]; - FileFreqTiming = open(argv[2],O_WRONLY|O_CREAT); + FileFreqTiming = open(argv[2], O_WRONLY|O_CREAT, 0644); } else { diff --git a/pifm b/pifm deleted file mode 100755 index 05e9cb6..0000000 Binary files a/pifm and /dev/null differ diff --git a/pifsq b/pifsq deleted file mode 100755 index 8794dfe..0000000 Binary files a/pifsq and /dev/null differ diff --git a/pissb b/pissb deleted file mode 100755 index 438bbfe..0000000 Binary files a/pissb and /dev/null differ diff --git a/pisstv b/pisstv deleted file mode 100755 index c916cfc..0000000 Binary files a/pisstv and /dev/null differ diff --git a/src/Makefile b/src/Makefile index f720802..3f477ac 100644 --- a/src/Makefile +++ b/src/Makefile @@ -40,7 +40,7 @@ LDFLAGS_Pidcf77 = -lm -lrt -lpthread $(CC) $(CFLAGS_Piam) -o ../pidcf77 ../dcf77/pidcf77.c $(LDFLAGS_Piam) clean: - rm -f ../rpitx ../pissb ../pisstv ../pifsq ../pifm ../piam RpiTx.o mailbox.o RpiGpio.o RpiDma.o + rm -f ../rpitx ../pissb ../pisstv ../pifsq ../pifm ../piam ../pidcf77 RpiTx.o mailbox.o RpiGpio.o RpiDma.o install: all install -m 0755 ../pisstv /usr/bin diff --git a/src/RpiDma.c b/src/RpiDma.c index ca85fd5..6d02621 100644 --- a/src/RpiDma.c +++ b/src/RpiDma.c @@ -6,8 +6,12 @@ char InitDma(void *FunctionTerminate) { DMA_CHANNEL=4; - system("rm linuxversion.txt"); - system("uname -r >> linuxversion.txt"); + if (system("rm -f linuxversion.txt") != 0) { + fprintf(stderr, "rm failed\n"); + } + if (system("uname -r >> linuxversion.txt") != 0) { + fprintf(stderr, "uname failed\n"); + } char *line = NULL; size_t size; // int fLinux=open("Flinuxversion.txt", "r'); diff --git a/src/RpiTx.c b/src/RpiTx.c index 4453c67..02453da 100644 --- a/src/RpiTx.c +++ b/src/RpiTx.c @@ -81,6 +81,8 @@ Optimize CPU on PWMFrequency #define PLLFREQ_192 19200000 //PLLA = 19.2MHZ #define PLL_192 0x1 +#define HEADER_SIZE 44 + typedef unsigned char uchar ; // 8 bit typedef unsigned short uint16 ; // 16 bit @@ -1106,7 +1108,7 @@ main(int argc, char **argv) { FileInHandle = STDIN_FILENO; } - else FileInHandle = open(FileName, 'r'); + else FileInHandle = open(FileName, O_RDONLY); if (FileInHandle < 0) { fatal("Failed to read Filein %s\n",FileName); @@ -1116,8 +1118,10 @@ main(int argc, char **argv) if(Mode==MODE_IQ) { IQArray=malloc(DmaSampleBurstSize*2*sizeof(signed short)); // TODO A FREE AT THE END OF SOFTWARE - char dummyheader[44]; - read(FileInHandle,dummyheader,44); + char dummyheader[HEADER_SIZE]; + if (read(FileInHandle,dummyheader,HEADER_SIZE) != HEADER_SIZE) { + fatal("Unable to read header\n"); + } } if(Mode==MODE_IQ_FLOAT) @@ -1297,9 +1301,11 @@ for (;;) { printf("Looping FileIn\n"); close(FileInHandle); - FileInHandle = open(FileName, 'r'); - char dummyheader[44]; - read(FileInHandle,dummyheader,44); + FileInHandle = open(FileName, O_RDONLY); + char dummyheader[HEADER_SIZE]; + if (read(FileInHandle,dummyheader,HEADER_SIZE) != HEADER_SIZE) { + fatal("Unable to read header\n"); + } NbRead=read(FileInHandle,IQArray,DmaSampleBurstSize*2*2); } else @@ -1376,7 +1382,7 @@ for (;;) { printf("Looping FileIn\n"); close(FileInHandle); - FileInHandle = open(FileName, 'r'); + FileInHandle = open(FileName, O_RDONLY); } else if (FileInHandle != STDIN_FILENO) terminate(0); @@ -1450,7 +1456,7 @@ for (;;) { //printf("Looping FileIn\n"); close(FileInHandle); - FileInHandle = open(FileName, 'r'); + FileInHandle = open(FileName, O_RDONLY); NbRead=read(FileInHandle,&SampleRf,sizeof(samplerf_t)); } else if (FileInHandle != STDIN_FILENO) diff --git a/sstv/pisstv.c b/sstv/pisstv.c index b346ec7..c10d763 100644 --- a/sstv/pisstv.c +++ b/sstv/pisstv.c @@ -31,7 +31,9 @@ void playtone(double Frequency,uint32_t Timing) RfSample.Frequency=GlobalTuningFrequency+Frequency; RfSample.WaitForThisSample=Timing*100L; //en 100 de nanosecond //printf("Freq =%f Timing=%d\n",RfSample.Frequency,RfSample.WaitForThisSample); - write(FileFreqTiming,&RfSample,sizeof(samplerf_t)); + if (write(FileFreqTiming,&RfSample,sizeof(samplerf_t)) != sizeof(samplerf_t)) { + fprintf(stderr, "Unable to write sample"); + } } @@ -153,10 +155,10 @@ main(int argc, char **argv) if (argc > 2) { char *sFilePicture=(char *)argv[1]; - FilePicture = open(argv[1], 'r'); + FilePicture = open(argv[1], O_RDONLY); char *sFileFreqTiming=(char *)argv[2]; - FileFreqTiming = open(argv[2],O_WRONLY|O_CREAT); + FileFreqTiming = open(argv[2], O_WRONLY|O_CREAT, 0644); } else {