Need help getting response from RS485 Slave

Does the following line really compile ?
byte received = recvMsg (fAvailable, fRead, buf, sizeof buf);
As parameters you use a few function calls, they are missing '( )'
I don't even know the difference between sizeof buf and sizeof(buf)

I would use fAvailable() which I think will return an int stating the number of bytes in the buffer.
So before reading the buffer content , just check if there's anything there.
That should be > 0 , than you can read the buffer and start serial.printf the data you believe is in the buffer.

notes:
that buf is not the same as buf[0]

I know that PeterH is nagging a bit, but if you clean up and format your code nicely we might have found the problem already.