I am writing firmware for a SIM7600-class LTE module (and testing on an older SIM800 as well). My code currently sends a fixed list of commands with delays in between, and it often tries to open a data connection before the module is ready, then gets ERROR.
What is a sensible start-up sequence of AT commands to confirm that the SIM is present, the signal is usable and the module is registered, and how should the firmware handle the responses?




