I have an ELM327 connected to a (non-CAN) bus on an older GM vehicle. I realize I can send an OBD command (mode 09 and PID 02) by just sending the payload like "0902".
However, is it possible to send a complete frame (assuming the final checksum byte is added by the ELM327)? So if I wanted to send header 00 11 22 and then the payload 09 02, how would I do that?
Something similar was asked in this question but not really answered.
Yes. You can control most of the aspects.
The ELM327 data sheet from Elm Electronics covers all of this: https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf