title: Magnetometer data on MPU-9250 (uClinux)
body: <p>I've found a few other people ask about this, but all of them are coding in Arduino, and I'm struggling to translate it into my project. </p>
  
  <p>I'm on a research team developing a Cube Satellite for launch, and my role is to communicate with the peripherals, including the IMU (MPU-9250). I'm cross compiling with uClinux, coding in C.</p>
  
  <p>So far, I can successfully read the accelerometer, gyroscope, and temperature, but cannot get the readings from the magnetometer. The magnetometer (AK8963) has its own address (0x0C), and I've been trying to communicate with it by writing to <strong>I2C_SLV0_ADDR</strong>(0x25), <strong>I2C_SLV0_REG</strong>(0x26), and <strong>I2C_SLV0_CTRL</strong>(0x27). Once I didn't appear to get any results, I tried to resolve it by writing to  <strong>FIFO Enable</strong>(0x23) and <strong>I2C Master Control</strong>(0x24)</p>
  
  <p>The datasheet and register map imply that the values taken from the magnetometer are stored in registers <strong>External Sensor Data</strong>(0x49-0x60), but I'm not getting anything in those registers when I try this.</p>
  
  <p>Here's some code that shows the data I'm writing to the registers:</p>
  
  <pre><code>write_register(0x23, 0x04);
  write_register(0x24, 0b11110000);
  write_register(0x25,0x8c);
  write_register(0x26,0x00);
  write_register(0x27,0b11110001);
  </code></pre>
  
  <p>So my questions are:
  1. Am I going about this process the right way, or am I completely off?</p>
  
  <ol start="2">
  <li>If I am on the right track, am I reading from the correct registers?</li>
  </ol>
  
  <p>Thanks for your help everyone! Let me know if there's anything I need to clarify!</p>