Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 /** 00002 * @file main.cpp 00003 * 00004 * @brief Sample code for RM3100. 00005 * @authors Betty Zhang, Daniel Delsuc 00006 * @date 03/03/2017 00007 * @copyright (C) 2017 PNI Corp 00008 * 00009 * @copyright This sample code is provided "as is" without express or implied warranty. 00010 * 00011 */ 00012 00013 // Note: This program assumes the RM3100 is connected using the I2C Interface 00014 00015 #include "main.h" 00016 00017 // Check if DRDY was triggered 00018 bool DataReady() 00019 { 00020 if (DRDY_PIN == 1) 00021 return true; 00022 else 00023 return false; 00024 } 00025 00026 int main() 00027 { 00028 pc.baud(115200); 00029 int dataInCount[3]; 00030 float x, y, z; 00031 00032 mag_initialize_sensor(); 00033 00034 mag_set_sample_rate(100); //100Hz 00035 00036 mag_set_power_mode(SensorPowerModeActive); 00037 00038 //while (!DataReady()); //wait here, if using DRDY Int 00039 //If not using DRDY, user can check status Reigster 0x34 for dataready. 00040 00041 //From User Manual Table 3-1 : Geomagnetic Sensor Performance 00042 //50 CycleCount ~ 20 LSB/uT 00043 //100 CycleCount ~ 38 LSB/uT 00044 //200 CycleCount ~ 75 LSB/uT 00045 //Linear equation: gain (LSB/uT) = (0.3671 * CycleCount + 1.5) 00046 00047 int CycleCount = CCP0 | (CCP1 << 8); 00048 float gain = 0.3671 * CycleCount + 1.5; 00049 00050 while(1) 00051 { 00052 //Get sample data in counts 00053 mag_get_sample_data((int*)&dataInCount); 00054 00055 while (!DataReady()); //wait here, if using DRDY Int 00056 00057 //Convert to uT 00058 x = (float)dataInCount[0] / gain; 00059 y = (float)dataInCount[1] / gain; 00060 z = (float)dataInCount[2] / gain; 00061 00062 pc.printf("X: %f, Y: %f, Z: %f\n", x, y, z); 00063 //wait(1); 00064 } 00065 return 0; 00066 }
Generated on Wed Jul 13 2022 23:44:02 by
1.7.2