Writing plugins for mission planner

you got it.

let me know if you need more functions that are not currently public.

Hello,

I am working on a project with a BeagleBone and Erle_Brain Cape for an autopilot. I connected a USB webcam and using a videostreamer software on the BBB - MJPG STREAMER - it is steraming over WIFI to my laptop and it displays on the web browser at port :8080.
(embeddedtweaks.com/beaglebone-us … -tutorial/)

Would it be possible to add a tcp feed option on the video device select tab on the planner configuration menu ? For the moment , the only feed available is my local Laptop embedded webcam.

Or get this feed when you right click on the hud display an replace the SET MJPEG SOURCE - wich is not connecting to my tcp port when i put the numbers in , or this feature has not been designed on this purpose ?

Thanks

Hi,
I am curious about the possibility of adding a plugin that would automatically start running a python script on startup of missionplanner. Or alternatively put a button somewhere to start running said script. The script would be placed in a specific folder so it could be easily changed out if needed. The script is what I have been running from the script tab but would be much easier to have it auto run or have a button for it.

Let me know if you know of a good way to do this! Thanks!

i could add a command line option to open and start running the script if that would help?

That would be awesome! Would that be triggered on launch from a special shortcut? This sounds like a great solution

Hey Michael, has this been implemented?

According to the commits in the source, yes it is already in the code… :smiley: https://github.com/ArduPilot/MissionPlanner/commit/eccdc1c9276e05a18056aecf2c798ce8e0fc6fb2

Great! Do you happen to know how to use it? I really don’t understand the commits in the code

@Eosbandi
I tried this

powershell -NoExit -ExecutionPolicy ByPass -script E:\coptor\autoscript.py -File E:\coptor\cmdscript.ps1

autoscript.py is the python file that i want to start, and cmdscript is the file i run with cmd, but this is not working, the mini window that appears everytime you manually run a script does not appear. any ideas?

Here is the relavent code
This indicates that if you launch MissionPlanner with the command script it’ll execute it on start-up
MissionPlanner.exe script <c:\to_my_script\script>
It’ll take python scripts according to http://ardupilot.org/planner/docs/using-python-scripts-in-mission-planner.html?highlight=script

if (cmds.ContainsKey("script") && File.Exists(cmds["script"]))
            {
                // invoke for after onload finished
                this.BeginInvoke((Action) delegate()
                {
                    try
                    {
                        FlightData.selectedscript = cmds["script"];

                        FlightData.BUT_run_script_Click(null, null);
                    }
                    catch (Exception ex)
                    {
                        CustomMessageBox.Show("Start script failed: "+ex.ToString(), Strings.ERROR);
                    }
                });

@Michael_Oborne I looked in the wiki and don’t see a section on command line arguments…perhaps I’m missing it?

@lordneeko

Thanks for replying!

I’ve tried:

  1. Cd to my missionplanner directory
    MissionPlanner.exe script E:\coptor\autoscript.py, MP starts, script not loaded
    MissionPlanner.exe script “E:\coptor\autoscript.py”, MP starts, script not loaded

powershell -NoExit -ExecutionPolicy ByPass -script E:\coptor\autoscript.py -File E:\coptor\cmdscript.ps1

contents of cmdscript.ps1:
Start-Process -FilePath “E:\MiscPrograms\Mission Planner\MissionPlanner.exe” --ArgumentList script “E:\coptor\autoscript.py”, a powershell error stating “A positional parameter cannot be found that accepts argument ‘script’”, prolly the syntax error, will try this again.

From what I observe, it doesn’t feel like the cmdline is working. Am I doing anything wrong? Any other ideas?

EDIT: Tried Start-Process -FilePath “E:\MiscPrograms\Mission Planner\MissionPlanner.exe” -ArgumentList ‘script’, ‘E:\coptor\autoscript.py’, MP starts, script not loaded

Yeah, that’s why I tagged Michael to look at updating the wiki for this. did you try
MissionPlanner.exe -script ?


code shows that it is lookng for -, /, or – before the command

Yeah, I did. still nothing thou. even tried the filepath both with and without quotes (which i don’t think is the issue)

Just for completeness, this is what I did:
MissionPlanner.exe -script E:\coptor\autoscript.py
MissionPlanner.exe -script "E:\coptor\autoscript.py"
MissionPlanner.exe -script ‘E:\coptor\autoscript.py’

Tried these too:
MissionPlanner.exe --script E:\coptor\autoscript.py
MissionPlanner.exe --script "E:\coptor\autoscript.py"
MissionPlanner.exe --script ‘E:\coptor\autoscript.py’

And just in case, my MP’s version is 1.3.56 build 1.3.6672.30243, could it be my MP’s version?

Nah that’s the latest…not sure sorry @Michael_Oborne ?

Thanks for the directions thou!

Did you manage to find a way to run python scripts at startup?

Do you have some sample code I could look at. I am trying to learn how to do plugins.

I am also interested in starting scripts at start up. Hoping for some progress to be made on this!

I just tested
MissionPlanner.exe -script “Scripts\example3.py”

and it works as expected. so not sure what the issues are