Be sure the battery is ok and charging system out put is good. If it was the directional switch you would either get no code or get a P-22 or F-16 code. Since you are getting reverse with no code and only coding while in forward then the switch is doing it's job. Very possible you have a forward coil gone south, open wire related to circuit, VCM issue or possibly a meter panel issue. Be sure to check for corrosion in connectors and moisture.
This is ONLY to be used to report flooding, spam, advertising and problematic (harassing, abusive or crude) posts.