Servo library "disables" pulseIn and analogWrite
analogWrite "disables" tone
Are there any others?
My fix for the above is to use a separate '368 to control 2 servo's, another to control my 2 motor shields and one more to control 4 HC-SR04 ultrasonic range finders, all connected via serial to a Mega using the easy transfer library.
I may go to using I2C coz I've run out of serial ports.
On the UNO you lose use of two of the six PWM outputs (9 and 10). On the Mega you lose use of two of the twelve PWM outputs (11 and 12) and only if more than 12 servos are used. Not exactly '"disables" analogWrite'.
I don't see anything about 'pulseIn()' being disabled by the Servo library. Many people use pulseIn() to get signals from an RC receiver and then use that data to control a servo through the Servo library. That would not work if the Servo library disabled the pulseIn() function.
analogWrite "disables" tone
Tone, like Servo, uses a timer. And just like Servo its use of the timer prevents that timer's PWM outputs from being used. In the case of Tone on an UNO it's pins 11 and 13. On the Mega, no PWM pins are lost.
The Mega should easily be able to handle two motor shields, two servos, and four ultrasonic rangefinders, all while playing tones. You could probably even add another ten servos and twenty ultrasonic rangefinders.