You need to access the computer. There is about 1000 things it could be. Once we see the code generated, we have a start point to begin investigating what is wrong.
Codes are not shopping lists. They don’t tell you what is broken. They tell you where to begin looking.
Get the battery load tested, health checked and charge circuit confirmed as good. Battery world are a good place to turn to for that.
In low voltage conditions the ECM will start cutting various system and circuits to direct voltage elsewhere. This results in codes being set. Get the battery issue out of the way and you can move on toward investigating the various codes further. If you start replacing things randomly, you’ll go broke. It might not be because of the battery but with a VE, it’s the first place to start.
You need to get a device or app to do access vehicle data. Torque on Android. Dash Command on iOS. Go to JayCar and buy a Bluetooth OBD reader to plug in to the car and connect to your phone.
Then you can start accessing data.
You are not driving a car. You are driving a mobile computer network.