There are several things wrong with your timer setup.
-
For fast PWM to ICR1, you need mode 14, with bits set in WGM13,WGM12, and WGM11. With top value ICR1 set to 159 you will get 100 KHz.
-
You need to enable the pwm hardware outputs for both output pins A and B. Set bits in COM1A1 and COM1B1
to clear on compare match and set at top (non inverted output i.e higher compare match values give longer duty cycle on). OCR1A and OCR1B will be the compare match values. -
The processor will generate hardware outputs, and you do not need to enable any compare match interrupts or use compare match ISR's to manipulate the outputs. If fact, one of the problems with the current code is that you were using a dual sloped timer mode, and have the compare match interrupt turn off the pin at the same time as it was being turned on.