readOneFloat() has problems, in that:
11) is assumes that all the data for the float is in the serial buffer
2) that nothing else is in the buffer except that float
readCSV() assumes that the string contained something, so that strtok() returns a pointer. Further, it assumes the the string contains two commas. It would be far better to test that strtok() returned a pointer before dereferencing that pointer. The function, too assumes that the input is in a specific format, AND that the whole packet is ready to be read and the nothing but the packet is ready to be read.
As examples, I would have problems recommending that people adopt these functions.