Finally getting a chance to look at this again after being dragged on to another project.
I'm not totally sure as the way this works with high being false and low being true, plus the nomenclature of assert and deassert, especially with NOT ready for data suggesting to me that is saying you're not ready for data, but, I think is meaning when you're ready for data, the signal is low, which is actually a high voltage - arrrgghhhh
...
...I think, this waveform which is snipped form my picoscope trace, which is D0-7 being data, D8 being DAV, D9 ATN, D10 NRFD and NDAC D11 shows the signals are not quite correct and the last databyte sent is 0x0D which is CR, so I'm never getting line feed. This is data only, the commands have already been read.
Edit, the D0-D12 have been snipped off my screenshot somehow, but top to bottom, first eight signals are data D1-D8. DAV is blue, NRFD is green and NDAC browny beige. ATN is red. I realise there's a lengthy delay between DAV going low and NRFD going low for the first byte (720us), I think that's because FreeRTOS is in another task and it's only when it switches to the GPIB task that there's a flurry of activity as the program has GPIB control for that timer tick.
If you look at figure 2.3 in the manual link you sent me, that looks not quite the same as what I have here. Although DAV goes low then NRFD goes low after 720us, then NDAC high just after for the first transaction, DAV is going high at exactly the same time as NDAC.