Can Arduino read a PWM signal and output a PWM signal?

I cannot for the life of me find this question nor answer...

Can I read a PWM signal with an Arduino Micro V2 using the common pusleIn() method, and at the same time output a PWM signal on another pin using the Servo library write() method?

My objective is to read a PWM signal, and output an inverted PWM signal (with some scaling applied). Basically, the Arduino is an inverter between an upstream controller and a servo.

I suspect there are timer issues involved that either require different pins to be used, or low level programming.

Some specifics: I am using the Arduino Micro V2. Input Pin=10. Output Pin=9.

What is the frequency of the PWM you're reading?

Why not do this in hardware? There are many simple ways to invert a PWM signal...

I thought of using hardware too, but using an Arduino as the inverter would enable me to correct the upstream micro-controller's output. For example if center is not quite center, I can change the scaling in the Arduino's code to account for the offset.

Consider this my input range (and output):
HS-5646WP Servo w/ max PWM signal range: 750-2250╬╝sec

So frequency is 1333.3-444.4Hz

That's pretty slow. I'd set a PCINT on the input and flip the pins in the ISR (while doing the other calculation outside the ISR). Should be able to get the calcs you need done easily fast enough... I would be inclined to use micros() for timing unless I had a good reason that wouldn't work (how high a resolution do you need?)

@DrAzzy Thank you.

I found a problem with the upstream-micro's output. The PWM signal coming from the upstream-micro was continuously being interrupted. So, using a 2nd Arduino unit for testing, I was able to confirm that an Arduino Micro can indeed read a PWM signal and output a PWM signal just fine (at least at this frequency).

For the reference of others, note that I used the pulseIn() and a Servo library write() method.