<divclass="line"><aid="l00003"name="l00003"></a><spanclass="lineno"> 3</span><spanclass="comment"> Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved.</span></div>
<divclass="line"><aid="l00004"name="l00004"></a><spanclass="lineno"> 4</span><spanclass="comment"> See included License.txt for License information.</span></div>
<divclass="line"><aid="l00038"name="l00038"></a><spanclass="lineno"> 38</span><spanclass="comment">//#if defined EMPL_TARGET_MSP430 || defined MOTION_DRIVER_TARGET_MSP430</span></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga0144d666a67a82888b8580002afe8b55"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga0144d666a67a82888b8580002afe8b55">mpu_set_sample_rate</a></div><divclass="ttdeci">int mpu_set_sample_rate(unsigned short rate)</div><divclass="ttdoc">Set sampling rate. Sampling rate must be between 4Hz and 1kHz.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01367">inv_mpu.c:1367</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga093f11eb10b2639a4b9fe344ea348c54"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga093f11eb10b2639a4b9fe344ea348c54">mpu_get_fifo_config</a></div><divclass="ttdeci">int mpu_get_fifo_config(unsigned char *sensors)</div><divclass="ttdoc">Get current FIFO configuration. sensors can contain a combination of the following flags: INV_X_GYR...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01516">inv_mpu.c:1516</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga0afd02d8c76d3278b488ef7038c26e3e"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga0afd02d8c76d3278b488ef7038c26e3e">mpu_get_int_status</a></div><divclass="ttdeci">int mpu_get_int_status(short *status)</div><divclass="ttdoc">Read the MPU interrupt status registers.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01669">inv_mpu.c:1669</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga0e1201ecfd8453f1d89e4299528baaf6"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga0e1201ecfd8453f1d89e4299528baaf6">mpu_reg_dump</a></div><divclass="ttdeci">int mpu_reg_dump(void)</div><divclass="ttdoc">Register dump for testing.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l00713">inv_mpu.c:713</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga13593044949b460e9f571eb57e9a0788"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga13593044949b460e9f571eb57e9a0788">mpu_read_fifo_stream</a></div><divclass="ttdeci">int mpu_read_fifo_stream(unsigned short length, unsigned char *data, unsigned char *more)</div><divclass="ttdoc">Get one unparsed packet from the FIFO. This function should be used if the packet is to be parsed els...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01779">inv_mpu.c:1779</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga2487dd551b701c1c7ed4d6335f02b2f1"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga2487dd551b701c1c7ed4d6335f02b2f1">mpu_get_sample_rate</a></div><divclass="ttdeci">int mpu_get_sample_rate(unsigned short *rate)</div><divclass="ttdoc">Get sampling rate.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01352">inv_mpu.c:1352</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga2713a96af104cfb2ae8e0ed4c3718119"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga2713a96af104cfb2ae8e0ed4c3718119">mpu_set_accel_fsr</a></div><divclass="ttdeci">int mpu_set_accel_fsr(unsigned char fsr)</div><divclass="ttdoc">Set the accel full-scale range.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01246">inv_mpu.c:1246</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga2b58dae1c0567f3f9f6dcbfb07476de7"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga2b58dae1c0567f3f9f6dcbfb07476de7">inv_row_2_scale</a></div><divclass="ttdeci">unsigned short inv_row_2_scale(const signed char *row)</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02914">inv_mpu.c:2914</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga2da20453aafbbba4a0f6fb9fbdd25572"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga2da20453aafbbba4a0f6fb9fbdd25572">mpu_read_fifo</a></div><divclass="ttdeci">int mpu_read_fifo(short *gyro, short *accel, unsigned long *timestamp, unsigned char *sensors, unsigned char *more)</div><divclass="ttdoc">Get one packet from the FIFO. If sensors does not contain a particular sensor, disregard the data ret...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01698">inv_mpu.c:1698</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga3374bececb6743893c9eab27645c1182"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga3374bececb6743893c9eab27645c1182">mpu_read_mem</a></div><divclass="ttdeci">int mpu_read_mem(unsigned short mem_addr, unsigned short length, unsigned char *data)</div><divclass="ttdoc">Read from the DMP memory. This function prevents I2C reads past the bank boundaries....</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02304">inv_mpu.c:2304</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga36f70f38371b48d81094d3b061233e15"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga36f70f38371b48d81094d3b061233e15">mpu_set_bypass</a></div><divclass="ttdeci">int mpu_set_bypass(unsigned char bypass_on)</div><divclass="ttdoc">Set device to bypass mode.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01817">inv_mpu.c:1817</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga3773dc98eb1ba15da0091ae75abcf62f"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga3773dc98eb1ba15da0091ae75abcf62f">mpu_run_self_test</a></div><divclass="ttdeci">int mpu_run_self_test(long *gyro, long *accel)</div><divclass="ttdoc">Trigger gyro/accel/compass self-test. On success/error, the self-test returns a mask representing the...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02169">inv_mpu.c:2169</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga3a4fea75686ab7d2e68634e81ccac04c"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga3a4fea75686ab7d2e68634e81ccac04c">mpu_lp_accel_mode</a></div><divclass="ttdeci">int mpu_lp_accel_mode(unsigned char rate)</div><divclass="ttdoc">Enter low-power accel-only mode. In low-power accel mode, the chip goes to sleep and only wakes up to...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l00888">inv_mpu.c:888</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga3ff6037a69f37bb6174355936ad67ef3"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga3ff6037a69f37bb6174355936ad67ef3">inv_orientation_matrix_to_scalar</a></div><divclass="ttdeci">unsigned short inv_orientation_matrix_to_scalar(const signed char *mtx)</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02898">inv_mpu.c:2898</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga4968cc2ec80f0da0d72436551c81f134"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga4968cc2ec80f0da0d72436551c81f134">mpu_set_accel_bias</a></div><divclass="ttdeci">int mpu_set_accel_bias(const long *accel_bias)</div><divclass="ttdoc">Push biases to the accel bias registers. This function expects biases relative to the current sensor ...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01043">inv_mpu.c:1043</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga5555854590ad11495c0e30401294bae2"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga5555854590ad11495c0e30401294bae2">mpu_get_gyro_reg</a></div><divclass="ttdeci">int mpu_get_gyro_reg(short *data, unsigned long *timestamp)</div><divclass="ttdoc">Read raw gyro data directly from the registers.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l00972">inv_mpu.c:972</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga5661a9dee25152166769910767a2a93d"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga5661a9dee25152166769910767a2a93d">mpu_set_lpf</a></div><divclass="ttdeci">int mpu_set_lpf(unsigned short lpf)</div><divclass="ttdoc">Set digital low pass filter. The following LPF settings are supported: 188, 98, 42,...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01319">inv_mpu.c:1319</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga5c35a3363337014e11769a0ea7c0dfa9"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga5c35a3363337014e11769a0ea7c0dfa9">mpu_read_reg</a></div><divclass="ttdeci">int mpu_read_reg(unsigned char reg, unsigned char *data)</div><divclass="ttdoc">Read from a single register. NOTE: The memory and FIFO read/write registers cannot be accessed.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l00735">inv_mpu.c:735</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga5c682e1b664acf566f985b48dd7acbb7"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga5c682e1b664acf566f985b48dd7acbb7">int_param_s::pin</a></div><divclass="ttdeci">unsigned short pin</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8h_source.html#l00040">inv_mpu.h:40</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga620408949052b96e856cad920f856583"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga620408949052b96e856cad920f856583">mpu_get_accel_sens</a></div><divclass="ttdeci">int mpu_get_accel_sens(unsigned short *sens)</div><divclass="ttdoc">Get accel sensitivity scale factor.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01484">inv_mpu.c:1484</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga653cb855300bff9285ce4b8dca6a503b"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga653cb855300bff9285ce4b8dca6a503b">mpu_set_int_latched</a></div><divclass="ttdeci">int mpu_set_int_latched(unsigned char enable)</div><divclass="ttdoc">Enable latched interrupts. Any MPU register will clear the interrupt.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01879">inv_mpu.c:1879</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga65e6b0ce980b8c0255d7be9b55c88c08"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga65e6b0ce980b8c0255d7be9b55c88c08">mpu_get_compass_reg</a></div><divclass="ttdeci">int mpu_get_compass_reg(short *data, unsigned long *timestamp)</div><divclass="ttdoc">Read raw compass data.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02535">inv_mpu.c:2535</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga6e77e7cc1cf6be5e8fdf617c5b4586d1"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga6e77e7cc1cf6be5e8fdf617c5b4586d1">mpu_set_sensors</a></div><divclass="ttdeci">int mpu_set_sensors(unsigned char sensors)</div><divclass="ttdoc">Turn specific sensors on/off. sensors can contain a combination of the following flags: INV_X_GYRO,...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01592">inv_mpu.c:1592</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga78da3828de0ef9d080c4d03e7bc45e7b"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga78da3828de0ef9d080c4d03e7bc45e7b">mpu_set_compass_sample_rate</a></div><divclass="ttdeci">int mpu_set_compass_sample_rate(unsigned short rate)</div><divclass="ttdoc">Set compass sampling rate. The compass on the auxiliary I2C bus is read by the MPU hardware at a maxi...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01436">inv_mpu.c:1436</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga7d0b3259346898ccd1ba6ef78bf7df97"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga7d0b3259346898ccd1ba6ef78bf7df97">mpu_lp_motion_interrupt</a></div><divclass="ttdeci">int mpu_lp_motion_interrupt(unsigned short thresh, unsigned char time, unsigned char lpa_freq)</div><divclass="ttdoc">Enters LP accel motion interrupt mode. The behavior of this feature is very different between the MPU...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02642">inv_mpu.c:2642</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_ga8fbdfe1a50285d4ab438e29c2efc70f5"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#ga8fbdfe1a50285d4ab438e29c2efc70f5">mpu_load_firmware</a></div><divclass="ttdeci">int mpu_load_firmware(unsigned short length, const unsigned char *firmware, unsigned short start_addr, unsigned short sample_rate)</div><divclass="ttdoc">Load and verify DMP image.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02336">inv_mpu.c:2336</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gaa449b565a157b4b8ca0f491b7ed46018"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gaa449b565a157b4b8ca0f491b7ed46018">mpu_get_temperature</a></div><divclass="ttdeci">int mpu_get_temperature(long *data, unsigned long *timestamp)</div><divclass="ttdoc">Read temperature data directly from the registers.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01018">inv_mpu.c:1018</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gaa95c7e216dcb2d888e9796001ca555f8"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gaa95c7e216dcb2d888e9796001ca555f8">mpu_get_lpf</a></div><divclass="ttdeci">int mpu_get_lpf(unsigned short *lpf)</div><divclass="ttdoc">Get the current DLPF setting.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01283">inv_mpu.c:1283</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gab5a45cd7783f6937788c0decb0b18b16"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gab5a45cd7783f6937788c0decb0b18b16">mpu_get_compass_sample_rate</a></div><divclass="ttdeci">int mpu_get_compass_sample_rate(unsigned short *rate)</div><divclass="ttdoc">Get compass sampling rate.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01414">inv_mpu.c:1414</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gab6087a15ee23db23b6aec41590329a60"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gab6087a15ee23db23b6aec41590329a60">mpu_get_accel_fsr</a></div><divclass="ttdeci">int mpu_get_accel_fsr(unsigned char *fsr)</div><divclass="ttdoc">Get the accel full-scale range.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01218">inv_mpu.c:1218</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gababbdda287e1f19323489f90a0889dd7"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gababbdda287e1f19323489f90a0889dd7">mpu_configure_fifo</a></div><divclass="ttdeci">int mpu_configure_fifo(unsigned char sensors)</div><divclass="ttdoc">Select which sensors are pushed to FIFO. sensors can contain a combination of the following flags: ...</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01531">inv_mpu.c:1531</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gad09e6031c8677adc0b8a39b6deea8e27"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gad09e6031c8677adc0b8a39b6deea8e27">mpu_set_gyro_fsr</a></div><divclass="ttdeci">int mpu_set_gyro_fsr(unsigned short fsr)</div><divclass="ttdoc">Set the gyro full-scale range.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01181">inv_mpu.c:1181</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gade8589573d09e0f14b84130428f286df"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gade8589573d09e0f14b84130428f286df">mpu_get_compass_fsr</a></div><divclass="ttdeci">int mpu_get_compass_fsr(unsigned short *fsr)</div><divclass="ttdoc">Get the compass full-scale range.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02588">inv_mpu.c:2588</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gae4ae960e5df78049ece2647772a3d809"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gae4ae960e5df78049ece2647772a3d809">mpu_get_accel_reg</a></div><divclass="ttdeci">int mpu_get_accel_reg(short *data, unsigned long *timestamp)</div><divclass="ttdoc">Read raw accel data directly from the registers.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l00995">inv_mpu.c:995</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gaec8fa7a067988d174516bb735a4a0bc9"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gaec8fa7a067988d174516bb735a4a0bc9">mpu_get_power_state</a></div><divclass="ttdeci">int mpu_get_power_state(unsigned char *power_on)</div><divclass="ttdoc">Get current power state.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01573">inv_mpu.c:1573</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gaf973c32c73ba912ff512aab948fc31ca"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gaf973c32c73ba912ff512aab948fc31ca">mpu_get_gyro_fsr</a></div><divclass="ttdeci">int mpu_get_gyro_fsr(unsigned short *fsr)</div><divclass="ttdoc">Get the gyro full-scale range.</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l01154">inv_mpu.c:1154</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gafa3071c8321f6e8dd2036be8a1e57ad0"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gafa3071c8321f6e8dd2036be8a1e57ad0">mget_ms</a></div><divclass="ttdeci">void mget_ms(unsigned long *time)</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02933">inv_mpu.c:2933</a></div></div>
<divclass="ttc"id="agroup___d_r_i_v_e_r_s_html_gafea59910bc3dd30ba3356b1c75213a5f"><divclass="ttname"><ahref="group___d_r_i_v_e_r_s.html#gafea59910bc3dd30ba3356b1c75213a5f">mpu_write_mem</a></div><divclass="ttdeci">int mpu_write_mem(unsigned short mem_addr, unsigned short length, unsigned char *data)</div><divclass="ttdoc">Write to the DMP memory. This function prevents I2C writes past the bank boundaries....</div><divclass="ttdef"><b>Definition:</b><ahref="inv__mpu_8c_source.html#l02271">inv_mpu.c:2271</a></div></div>