Been waiting for the heavens to start shedding tears. It just did. Caught the tail end of a short pour. Quickly got into the car and parked it outdoors. Fortunately I had some 10min of drizzle. Turned the VIWC on. Waited for the tiny raindrops to accumulate ... waited... waited ... and finally had the wiper sweep the windshield while the view was still relatively unobstructed. Stopwatch shows the time interval was 1min 18s. During the latter half of that test, I held down the button to reset the circuit and next interval was 1:43.
Well with such long periods, this completely trashes the potentiometer VIWC with its 32 or 64s max time interval. Of course we can always modify the firmware to use 7 or even 8 bits of the ADC output giving us 128 or 256 seconds max, but then adjusting the pot would be a most tricky thing. A multiturn pot might be required. But using that is going to be awkward if not a pain in the neck. In conjunction with changing the number of ADC bits (or not changing them), we could also increase the increment/step from 1 to 2s or even more seconds.
This is another distinct advantage of the push-button, elapsed-time-recording VIWC. The time resolution can be programmed to be as coarse or fine as required/desired. In this case we've set it to 100ms. To alter that we need only change the timer1 tick. If we're decreasing the tick to say 10ms (but who needs that kind of resolution on a wiper?) we'd want to make ELAPSEDTIME a 24- or 32-bit integer to be able to measure the equivalent amount of time.
The test evinced the superiority of this type of VIWC. The driver need not focus on adjusting the time interval--he need only press the button when the windshield gets too cluttered. The only problem I had was that the dry windshield initially had a thin layer of dust on it which only became apparent after the first wiper wipe smeared the dust-turned-mud across the glass. I didn't but I could've turned off the VIWC and then pulled the wiper stalk to activate the front mist + wiper, and then switch back to VIWC. Or alternately, without turning off the VIWC, I could've pulled the stalk--and since the Innova's wiper module is deactivated--it would've sprayed water without the wiper action. I could then press button PB such that it sets the time interval to its minimum of 2sec, and then after the windshield had been cleaned, I could hold down PB to go into reset mode and set the proper wipe time interval. Sounds complicated. So there's probably room for improvement in this area.
The real test of this circuit will come when I actually get to drive in the rain.