In order to reliably use the compass it needs to calibrated by the user. This process can be initiated by accessing the compass module, and providing it the required commands. Sadly only one daemon can access the information of a serial port and it is thus required to make it available to multiple applications concurrently.
The callibration can only happen if the module is leveled, hence the pitch and roll are less than one degree off, and the camera is slowely spinned around while doing this. Other forms of calibration, for example by providing magnetic field strength should be open for the user.
This would require an application that must be:
- Allowed to write to the module
- Able to initiate the command sequence
- Able to detect pitch/roll
- Able to detect end of calibration sequence
- Available to the user in a user friendly way
The application could:
- Fetch field strength for its GPS position from an information source on the internet (if available)