This page goes over the structure of ift-ilx-mavcam firmware files. If you ever need to update the firmware, you should not update the firmware files directly and probably can ignore this guide. You should instead update it via the git repository
Example Code Explanation
The video goes over what changes in each example. The examples can be found here.
Example1:
We added an arbitrary directory and pushed that directory to /home/ift on install
Example2:
We added a new service and bash script that the service ran that said "Hello World!"
Example3:
We actually added a change to the code. Now the iso gets set to auto before taking any photo
Firmware File Walkthrough
This video explains the firmware files in general:
This video shows each examples firmware and shows where things changed:
Firmware File Structure:
You can modify the firmware file itself for adding services, debs, new files, and scripts. However, I recommend only doing so when testing. It is better to add things to the repo code itself so we can push to git for version control
Setting Up Env And Building
Go here and scroll down to the README for instructions. This is required if you want to modify the C++ code, and suggested for modifying anything else. In this guide, we setup docker, but if you run into issues, you could always push your code onto the pi directly and run the build_armhf.sh script. But that usually takes a long time and is not ideal to do.
Video Showing the Example Code Installing
Note: To push firmware files to the pi, you can do
ift-ilx-mavcam.fw.tar.gz
├── build (Contains compiled IFT-ILX-MavCam C++ code and .so files
│
│── install
│ │
│ │── bin (Contains scripts that are executed by services (pushed to /usr/bin) DO NOT EDIT)
│ │
│ │── debs (Contains necessary debs for running the code)
│ │
│ │── services (contains systemd services (pushed to /etc/systemd/system))
│ │
│ │── install.sh (The install script that installs IFT-ILX-MavCam on the pi, pushes files, enables services, etc)