Sample code for low-pass filter …... case 3: // Function 4: Derivative data1 = data0; // Store previous data points data0 = ReadADC(); // Read A/D and save the present sample in data0 dummy = (int)data0 - data1 + 128; // Take derivative and shift to middle PORTD = (unsigned char)dummy; // Output to D/A break; case 4: // Function 5: Low-pass filter data2 = data1; // Store previous data points data1 = data0; data0 = ReadADC(); // Read A/D and save the present sample in data0 dummy = ((int)data0 + data1 + data1 + data2) / 4; // smoother PORTD = (unsigned char)dummy; // Output to D/A break; …....