Xyler
Hi I'm relatively new to SBCs and microcontrollers. I'm currently working on programming a flight controller using a Pico W (running MicroPython) and Pi 5.
The Pico will be running the flight control logic in an infinite loop taking accelerometer, gyroscope and RC data (from FS-iA6B) and sending out PWM signals to the ESCs. What the Pi 5 will be doing is partial autonomous control where my group plans to use a GCS (like QGroundControl) and wirelessly transmit messages (MAVLink?) to the Pi 5 via ~~WiFi~~ another RF transmitter and it controls the Pico based on what we do in the GCS. There will be an external GPS module connected to the Pi 5 so it can do the location processing and just send directions to the Pico, which then controls the ESCs/motors to move to the target. I don't really understand MAVLink (and a lot of these in general) and would like to appreciate some guidance/explanations.
Also, is it possible to store multiple python files and have the Pi 5 re-flash the Pico on the go? I was thinking of something like having the Pi 5 store a whole bunch of programs like a calibration program, self-test program, flight program, etc. and whatever data from the prior programs (like gyro bias data from the calibration) to be stored in flash memory on the Pico or Pi 5, then load the flight program which grabs these values.