\doxysection{spi\+\_\+gyro.\+ino}
\hypertarget{spi__gyro_8ino_source}{}\label{spi__gyro_8ino_source}\index{examples/spi\_gyro/spi\_gyro.ino@{examples/spi\_gyro/spi\_gyro.ino}}
\mbox{\hyperlink{spi__gyro_8ino}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00001}00001\ /***************************************************************}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00002}00002\ \ *\ @file\ \ \ \ ICM20948\_SPI\_Gyro.ino}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00003}00003\ \ *\ @brief\ \ \ Minimal\ SPI\ bring-\/up\ for\ 7Semi\ ICM-\/20948\ on\ ESP32/UNO\ +}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00004}00004\ \ *\ \ \ \ \ \ \ \ \ \ continuous\ gyroscope\ readout.}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00005}00005\ \ *}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00006}00006\ \ *\ Features}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00007}00007\ \ *\ -\/\ SPI\ init\ on\ custom\ pins}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00008}00008\ \ *\ -\/\ IMU\ begin()\ on\ SPI\ (CS\ pin\ user-\/defined)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00009}00009\ \ *\ -\/\ Safe\ defaults\ (applyBasicDefaults)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00010}00010\ \ *\ -\/\ Optional\ sensor\ gating:\ gyro\ only}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00011}00011\ \ *\ -\/\ Gyro\ config:\ DLPF,\ full-\/scale,\ ODR,\ AVG}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00012}00012\ \ *\ -\/\ Read\ gyro\ (dps)\ at\ \string~2\ Hz\ print}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00013}00013\ \ *}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00014}00014\ \ *\ Wiring\ (Arduino\ UNO)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00015}00015\ \ *\ -\/\ SCK\ \ -\/>\ GPIO13}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00016}00016\ \ *\ -\/\ MOSI(SDA)\ -\/>\ GPIO11}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00017}00017\ \ *\ -\/\ MISO(SDO)\ -\/>\ GPIO12}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00018}00018\ \ *\ -\/\ CS\ \ \ -\/>\ GPIO10\ (changeable)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00019}00019\ \ *\ -\/\ VCC\ \ -\/>\ 3V3}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00020}00020\ \ *\ -\/\ GND\ \ -\/>\ GND}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00021}00021\ \ *\ Wiring\ (ESP32\ VSPI\ default)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00022}00022\ \ *\ -\/\ SCK\ \ -\/>\ GPIO18}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00023}00023\ \ *\ -\/\ MOSI\ -\/>\ GPIO23}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00024}00024\ \ *\ -\/\ MISO\ -\/>\ GPIO19}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00025}00025\ \ *\ -\/\ CS\ \ \ -\/>\ GPIO5\ (changeable)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00026}00026\ \ *\ -\/\ VCC\ \ -\/>\ 3V3}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00027}00027\ \ *\ -\/\ GND\ \ -\/>\ GND}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00028}00028\ \ ***************************************************************/}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00029}00029\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00030}00030\ \#include\ <DevLab\_ICM20948.h>}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00031}00031\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00032}00032\ /**\ @brief\ SPI\ clock\ used\ during\ sensor\ initialization\ and\ reads.\ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00033}00033\ \#define\ SPI\_FAST\_SPEED\ 1000000}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00034}00034\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00035}00035\ /**\ @brief\ Global\ ICM-\/20948\ driver\ instance.\ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00036}00036\ DevLab\_ICM20948\ imu;}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00037}00037\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00038}00038\ /**\ @brief\ SPI\ bus\ object\ used\ by\ the\ IMU\ driver.\ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00039}00039\ SPIClass\ spi\_bus(SPI);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00040}00040\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00041}00041\ /**}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00042}00042\ \ *\ @brief\ Configure\ the\ IMU\ for\ gyroscope-\/only\ operation\ over\ SPI.}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00043}00043\ \ *}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00044}00044\ \ *\ @note\ The\ sketch\ expects\ a\ board-\/level\ CS\_PIN\ definition\ to\ select\ the}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00045}00045\ \ *\ chip-\/select\ pin\ used\ by\ beginSPI().}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00046}00046\ \ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00047}00047\ void\ setup()\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00048}00048\ \ \ Serial.begin(115200);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00049}00049\ \ \ delay(200);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00050}00050\ \ \ Serial.println(F("{}ICM-\/20948\ (SPI)\ —\ Gyro\ Example"{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00051}00051\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00052}00052\ \ \ /*\ Init\ SPI\ bus\ on\ your\ pins.\ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00053}00053\ \ \ //\ SPI.begin(SCK\_PIN,\ MISO\_PIN,\ MOSI\_PIN,\ CS\_PIN);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00054}00054\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00055}00055\ \ \ if\ (!imu.beginSPI(CS\_PIN,\ spi\_bus,\ 1000000))\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00056}00056\ \ \ \ \ Serial.println("{}ERROR:\ beginSPI()\ failed"{});}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00057}00057\ \ \ \ \ while\ (1)\ delay(200);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00058}00058\ \ \ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00059}00059\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00060}00060\ \ \ /*\ Apply\ safe\ defaults.\ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00061}00061\ \ \ if\ (!imu.applyBasicDefaults())\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00062}00062\ \ \ \ \ Serial.println(F("{}ERROR:\ applyBasicDefaults()\ failed."{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00063}00063\ \ \ \ \ while\ (1)\ delay(200);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00064}00064\ \ \ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00065}00065\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00066}00066\ \ \ Serial.println(F("{}ICM-\/20948\ ready."{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00067}00067\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00068}00068\ \ \ /*\ Optional:\ gate\ sensors}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00069}00069\ \ \ \ *\ -\/\ setSensors(accel\_on,\ gyro\_on,\ temp\_on)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00070}00070\ \ \ \ *\ -\/\ Here:\ enable\ only\ gyro\ (accel/temp\ off)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00071}00071\ \ \ \ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00072}00072\ \ \ if\ (!imu.setSensors(/*accel*/\ false,\ /*gyro*/\ true,\ /*temp*/\ false))\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00073}00073\ \ \ \ \ Serial.println(F("{}setSensors\ failed."{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00074}00074\ \ \ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00075}00075\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00076}00076\ \ \ /*\ -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/\ GYRO\ DLPF\ Config\ (reference)\ -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00077}00077\ \ \ \ *\ GyroConfig(DLPFCFG,\ FS\_SEL,\ FCHOICE,\ XGYRO,\ YGYRO,\ ZGYRO,\ AVGCFG)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00078}00078\ \ \ \ *\ -\/\ DLPF\ \ \ \ \ :\ GYRO\_DLPFCFG\_0..7\ (use\ 3\ for\ balanced\ setting)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00079}00079\ \ \ \ *\ -\/\ FS\_SEL\ \ \ :\ dps250\ /\ dps500\ /\ dps1000\ /\ dps2000}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00080}00080\ \ \ \ *\ -\/\ FCHOICE\ \ :\ false\ →\ DLPF\ path\ (recommended),\ true\ →\ bypass\ (very\ wide\ BW)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00081}00081\ \ \ \ *\ -\/\ XGYRO/YGYRO/ZGYRO\ :\ per-\/axis\ enable\ (true\ =\ enable\ axis)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00082}00082\ \ \ \ *\ -\/\ AVGCFG\ \ \ :\ 0..7\ internal\ averaging\ (higher\ =\ more\ smoothing,\ more\ delay)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00083}00083\ \ \ \ *\ FCHOICE=0\ (DLPF\ on):}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00084}00084\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_0\ :\ 3dB\ ≈\ 12106\ Hz,\ NBW\ ≈\ 12316\ Hz\ (very\ wide)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00085}00085\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_1\ :\ 3dB\ ≈\ 196.6\ Hz,\ NBW\ ≈\ 229.8\ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00086}00086\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_2\ :\ 3dB\ ≈\ 151.8\ Hz,\ NBW\ ≈\ 187.6\ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00087}00087\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_3\ :\ 3dB\ ≈\ 119.5\ Hz,\ NBW\ ≈\ 154.3\ Hz\ \ \ ←\ good\ default}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00088}00088\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_4\ :\ 3dB\ ≈\ 51.2\ \ Hz,\ NBW\ ≈\ 73.3\ \ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00089}00089\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_5\ :\ 3dB\ ≈\ 23.9\ \ Hz,\ NBW\ ≈\ 35.9\ \ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00090}00090\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_6\ :\ 3dB\ ≈\ 5.7\ \ \ Hz,\ NBW\ ≈\ 8.3\ \ \ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00091}00091\ \ \ \ *\ -\/\ GYRO\_DLPFCFG\_7\ :\ 3dB\ ≈\ 473\ \ \ Hz,\ NBW\ ≈\ 499\ \ \ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00092}00092\ \ \ \ *}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00093}00093\ \ \ \ *\ FCHOICE=1\ (Bypass)\ :\ very\ wide\ (use\ with\ care;\ highest\ noise)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00094}00094\ \ \ \ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00095}00095\ \ \ if\ (!imu.GyroConfig(/*DLPFCFG*/\ GYRO\_DLPFCFG\_4,}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00096}00096\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /*FS\_SEL*/\ dps2000,}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00097}00097\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /*FCHOICE*/\ true,\ \ //\ DLPF\ ON}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /*X*/\ true,\ /*Y*/\ true,\ /*Z*/\ true,}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00099}00099\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /*AVGCFG*/\ 0))\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00100}00100\ \ \ \ \ Serial.println(F("{}GyroConfig\ failed."{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00101}00101\ \ \ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00102}00102\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00103}00103\ \ \ /*\ Set\ gyroscope\ output\ data\ rate\ (ODR)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00104}00104\ \ \ \ *\ -\/\ Gyro\_SMPLRT(rate\_hz)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00105}00105\ \ \ \ *\ -\/\ Base\ (DLPF\ path)\ =\ 1100\ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00106}00106\ \ \ \ *\ -\/\ Valid\ range:\ \string~4.3–1100\ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00107}00107\ \ \ \ *\ -\/\ Example:\ 1000\ Hz}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00108}00108\ \ \ \ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00109}00109\ \ \ if\ (!imu.Gyro\_SMPLRT(1000))\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00110}00110\ \ \ \ \ Serial.println(F("{}Gyro\_SMPLRT\ failed."{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00111}00111\ \ \ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00112}00112\ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00113}00113\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00114}00114\ /**}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00115}00115\ \ *\ @brief\ Read\ and\ print\ gyroscope\ data\ in\ degrees\ per\ second.}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00116}00116\ \ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00117}00117\ void\ loop()\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00118}00118\ \ \ float\ gx,\ gy,\ gz;\ \ //\ gyro\ X/Y/Z\ in\ dps}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00119}00119\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00120}00120\ \ \ /*\ -\/\ readGyro(x,y,z)}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00121}00121\ \ \ \ *\ -\/\ Returns:}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00122}00122\ \ \ \ *\ \ \ -\/\ true\ on\ success;}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00123}00123\ \ \ \ *\ -\/\ Output:}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00124}00124\ \ \ \ *\ \ \ -\/\ gx/gy/gz\ in\ dps}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00125}00125\ \ \ \ */}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00126}00126\ \ \ if\ (imu.readGyro(gx,\ gy,\ gz))\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00127}00127\ \ \ \ \ Serial.print("{}GYRO\ [dps]:\ "{});}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00128}00128\ \ \ \ \ Serial.print(gx,\ 3);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00129}00129\ \ \ \ \ Serial.print("{},\ "{});}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00130}00130\ \ \ \ \ Serial.print(gy,\ 3);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00131}00131\ \ \ \ \ Serial.print("{},\ "{});}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00132}00132\ \ \ \ \ Serial.println(gz,\ 3);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00133}00133\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00134}00134\ \ \ \}\ else\ \{}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00135}00135\ \ \ \ \ Serial.println(F("{}GYRO\ read\ failed"{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00136}00136\ \ \ \}}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00137}00137\ }
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00138}00138\ \ \ Serial.println(F("{}-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/"{}));}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00139}00139\ \ \ delay(500);}
\DoxyCodeLine{\Hypertarget{spi__gyro_8ino_source_l00140}00140\ \}}

\end{DoxyCode}
