The firmware of the Flashforge Adventurer 3 seems to understand only a subset of typical marlin gcode:
- no G0 support (use G1 instead)
- if XYZ coordinates are combined within G1, the bed leveling mesh seems to be ignored (use two G1 (one for Z and one for XY) instead)
- M140 does not support decimal point numbers (only e.g. S50 instead of S50.0)
- M104 does not support decimal point numbers (only e.g. S50 instead of S50.0)
- no relative E value support (cura produces absolute E values either way)
- a Z-Offset needs to be included in each Z coordinate if required (use cura Z-Offset plugin and tick "extensive z-offset processing")
-> I've created a bash script to convert cura gcode to flashforge gcode. I'm not sure I've covered all edge cases, but it seems to work.
I also found the following documenting adv3 gcode. It's been automatically translated from Japanese so it's a bit confusing at times, but the author seems to have done extensive reverse-engineering work and written alternative control software;
https://take4-blue.com/en/3d-printer/adventurer3-control-3/