P0335 5-tooth CPS signal missing. Engine is running but there is no signal from the 5 tooth CPS. Can be caused by a faulty stator, wiring or ECU.
P0336 5-tooth CPS signal intermittent. Engine is running but the pulses from the 5 tooth CPS are incorrect. Can be caused by a faulty stator, wiring harness or there is no 2 tooth CPS signal. If there is no 2 tooth CPS signal, the engine will not run, but the P0336 code will be set because the ECU receives extra 5 tooth signals without 2 tooth signals.
P0546 Exhaust temp sensor circuit voltage high. Sensor signal is above 4.9 VDC for at least 2 minutes and the engine has been running at or above 3000 rpm.
P2147 Fuel injector voltage too low. Engine is running but the injector voltage is below the acceptable limit. Can be caused by faulty wiring, ECU or stator.
P0118 Engine coolant temperature sensor voltage high. Sensor voltage is above 4.8 VDC. Can be caused by a faulty wire connection or faulty temperature sensor.
(CPS is the crank position sensor. 5 tooth is for ignition timing and 2 tooth locates TDC and RPM.)
Taking all the above into account I would suspect wiring harness issues or ECU connector issues. Check for loose pins in the connectors or pins that have pushed back into the connector housing. It is somewhat puzzling that some codes are due to high voltage and some are due to low voltage. Good luck.