Definir el puerto serie a utilizar en un libreria

Hola a todos.

Tengo una librería echa por mi que utiliza el serie, la cual funciona bien, el problema es que si se utiliza un mega este tiene 4 puertos serie y para cambiar de puerto hay que editar la librería y modificar todas las llamadas al puerto serie.
Por mucho que miro no encuentro la forma de definir que quiero utilizar el Serial, Serial1, Serial2 o el Serial3.

La idea es que al iniciar la librería me pasen un parámetro para definí el numero del puerto que quieren utilizar y yo se lo asigne a un objeto que se convierta en el puerto Serial ......Serial3.

Alguien me puede orientar.

Gracias y saludos.

usa directivas del precompilador

pasale el parametro como un numero por ejemplo y en la librería pones

si el parametro == 1
#define puerto Serial

si parametro == 2
#define puerto Serial1

luego en la programación de la librería en vez de serial pones

puerto.begin(9600);

de esta manera donde pone "puerto" lo sustituye por el puerto serie que quieres utilizar según quieras

un saludo

La idea tiene buena pinta, tengo que probar como llevarla a cabo ya que el problema que tiene es que hay que declarar el puerto antes que la librería.

Gracias por el comentario

si la funcion begin la haces en el setup dentro de la libreria pon solo las funciones que quieres hacer

puerto.begin(9600) lo he puesto de ejemplo, si lo tienes inicializado ya de antemano puede hacer puerto.write(fulanitodecopas) por ejemplo
eso o haciendo varios IF

if puerto=1 entonces serial.write(fulanitodecopas)
if puerto=2 entonces serial1.write(fulanitodecopas)
if puerto=3 entonces serial2.write(fulanitodecopas)
if puerto=4 entonces serial3.write(fulanitodecopas)

hace el codigo algo mas largo pero igual de efectivo