Add in additional error checking on correction ranges.  Do scaling for RX and TX independently.