Hi,
We noticed some confusing issues when developing sensor drivers (magnetic, accelerometer and gyroscope) based on the SabreSD board (i.MX6q) and the Android 5.0.1 GA release. We are using some sensor chip that integrates a magnetic sensor and an accelerometer, a different solution from the SabreSD board that uses separate components for both sensors. We noticed that there is a daemon called ‘magd’ (located at device/fsl-proprietary/sensor) that communicates with the drivers and does some management work on the sensors, including producing orientation sensor data.
The question is there is no source code of the magd daemon and it has made us hard to create our own HAL codes. Would it be possible for Freescale to share the source code of magd to us? It might also be helpful to share us any documents related to the magd daemon.
Another question is, besides the magnetic sensor, does magd handle any other sensors (such as gyroscope)?
Thanks and best regards,
Huanxin
magd it is a freescale propiertary software for our products if you change to another sensor, it is not going to work and we do not share the source code of this software interface.
hi jamesbone,
Mag3110 correction algorithm is integrated in the Hal layer ? mag3110's correction algorithm is automatically collected data to correction, or the upper app call an interface to call the Hal layer algorithm for correction ?. And is the magd service deamon just read mag3110 and g-sensor data to product the rotation, and is it has correction algorithm function ?.
Look forward to your reply. thanks
BRS
Hello Huanxin,
Unfortunately the magd has been made for usage with the Freescale Sensors, and it is dependent of hardware so it, can not be handle by any other device. Regarding if magd, it is able to handle other sensors, like the gyroscope the answer is yes, freescale offers the FXAS21002|Freescale 3-Axis Digital Gyroscope|Freescale and the Digital Sensor - 3D Accelerometer|Freescale
Have a great day,
Jaime
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Jaime,
Here is more information about our solution:
1. We already selected the Digital Sensor - 3D Accelerometer|Freescale<http://jiveon.jivesoftware.com/mpss/c/0QA/PDcDAA/t.1pq/uvtFcNnkT-SlO3H4Fknhww/h4/LW-2BQREuanDlGerWANG3PZn40iui78tKFXjpGVV4HGibTiQ5H2mbFXj18RvWX38Zo2Fg2iZd1v63QdiTqC0DjTY3jKppsZvFyUhMG8OEVy58-3D>, but since there is no documentation about magd, we don’t know how to integrate it into the Android 5.0 code;
2. What we are doing is re-write our own HAL + Driver code, but it looks a big effort;
3. We are choosing another gyroscope device but can change to the FXAS21002|Freescale 3-Axis Digital Gyroscope|Freescale<http://jiveon.jivesoftware.com/mpss/c/0QA/PDcDAA/t.1pq/uvtFcNnkT-SlO3H4Fknhww/h3/LW-2BQREuanDlGerWANG3PZn40iui78tKFXjpGVV4HGibTiQ5H2mbFXj18RvWX38Zo2Fg2iZd1v63QdiTqC0DjTXGW6uSD5wRayEq9-2FEmxyns-3D>, the same issue is we don’t have the information on how to integrate it with magd.
So, it would be great if you can provide detailed documentation of magd.
Thanks,
Huanxin
Hello Huanxin,
Here are some details on how to Add magd Service to Android
1.- add magd source
Copy magd direction to Android_dir/hardware/mx5x/
2.- Add magd service
Add the following code in init.rc to run magd service
service magdservice /system/bin/magd
user root
group root
onshot
3. Compile the kernel and Android system.
4.- Use Eyes.apk to test sensors.
Hi James,
Thanks for the information. The question is we don’t have source of magd (there is just an executable binary: /device/fsl-proprietary/sensor/magd).
We are using Android 5.0.1 GA release for i.MX6, and the magd service has already been configured in init.rc.
What we are not sure is, after changing the accelerometer and magnetic sensors (different from the reference design, the SabreSD board), and adding a gyroscope sensor, what should we do to configure the magd to make all things run? Is there any document about this?
Thanks,
Huanxin
Hi Jaime,
Thanks a lot for the quick response. Is there any documentation about the magd? And if we choose other devices, we need to write our own HAL code, and since there is no source code of magd for reference, do you have any suggestions?
Best regards,
Huanxin