It could be about the hardware, then. A controller function call will remain the same until the controller codes are redesigned. I get that there is usually an interpreter layer in between, but the controllers can be addressed directly. However, it sounds like the best approach is to contract to the company instead of selling to consumers who want to keep their software up to date.DJI changes their software about every 6 weeks and it's very far from open source.
I have been out of that kind of work for years now. Programming is fun but IT is horrible and I'll stick to art and wood and farming and sailing, thank you very much.
- Will (Dragonfly)