AD9833-Library-Arduino icon indicating copy to clipboard operation
AD9833-Library-Arduino copied to clipboard

fmod crashes teensy 4.1, fmodf does not

Open nmz787 opened this issue 5 years ago • 0 comments

when compiling and flashing this library as-is, my teensy 4.1 would crash, at least I would fail to get any serial logs out of the device... after debugging, I found the fmod function is for doubles, but fmodf is for floats. Thus these changes are suggested:

 void AD9833 :: SetPhase ( Registers phaseReg, float phaseInDeg ) {
        // Sanity checks on input
-       phaseInDeg = fmod(phaseInDeg,360);
-       if ( phaseInDeg < 0 ) phaseInDeg += 360;
+       // fmod crashes the teensy, fmodf does not
+       phaseInDeg = fmodf(phaseInDeg, 360.);
+       if ( phaseInDeg < 0 ) phaseInDeg += 360.;

nmz787 avatar Nov 13 '20 12:11 nmz787