\doxysection{BNO08x Class Reference} \hypertarget{class_b_n_o08x}{}\label{class_b_n_o08x}\index{BNO08x@{BNO08x}} \doxylink{class_b_n_o08x}{BNO08x} IMU driver class. {\ttfamily \#include $<$BNO08x.\+hpp$>$} Collaboration diagram for BNO08x\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x__coll__graph} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t}{bno08x\+\_\+reports\+\_\+t}} \begin{DoxyCompactList}\small\item\em Contains report implementations. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Public Types} \begin{DoxyCompactItemize} \item typedef struct BNO08x\+::bno08x\+\_\+reports\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ae08bdaff01ecacf0f399ab289fdf0b99}{bno08x\+\_\+reports\+\_\+t}} \begin{DoxyCompactList}\small\item\em Contains report implementations. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{class_b_n_o08x_ad12fb6cf310ad7a04a4e53809833bd61}{BNO08x}} (\mbox{\hyperlink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t}} \mbox{\hyperlink{class_b_n_o08x_aeda443e9f608fccfec0e6770edc90c82}{imu\+\_\+config}}=\mbox{\hyperlink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t}}()) \begin{DoxyCompactList}\small\item\em \doxylink{class_b_n_o08x}{BNO08x} imu constructor. \end{DoxyCompactList}\item \mbox{\hyperlink{class_b_n_o08x_a687eee44d68e1bcabce04780d7eb5fb9}{\texorpdfstring{$\sim$}{\string~}\+BNO08x}} () \begin{DoxyCompactList}\small\item\em \doxylink{class_b_n_o08x}{BNO08x} imu deconstructor. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_aea8e2c6dd7a2c9899479a7f39fe94798}{initialize}} () \begin{DoxyCompactList}\small\item\em Initializes \doxylink{class_b_n_o08x}{BNO08x} sensor. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a28cd1c0b3477571d87133234e6358503}{hard\+\_\+reset}} () \begin{DoxyCompactList}\small\item\em Hard resets \doxylink{class_b_n_o08x}{BNO08x} device. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a973a1b1785f3302ee1b2702c6a27646e}{soft\+\_\+reset}} () \begin{DoxyCompactList}\small\item\em Soft resets \doxylink{class_b_n_o08x}{BNO08x} device by sending RESET (1) command on "{}device"{} channel. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_aebacbe092615cd083cf996b14402bba6}{disable\+\_\+all\+\_\+reports}} () \begin{DoxyCompactList}\small\item\em Disables all currently enabled reports. \end{DoxyCompactList}\item \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_ab2a2ace42f7f438d6a799dfcbc243147}{BNO08x\+Reset\+Reason}} \mbox{\hyperlink{class_b_n_o08x_a96d47dd0f9aedfbe3f731f8ae76b2e85}{get\+\_\+reset\+\_\+reason}} () \begin{DoxyCompactList}\small\item\em Returns reason for previous reset via product ID report. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_aaaa15b21ad98a3b161065c3d03ff62b5}{on}} () \begin{DoxyCompactList}\small\item\em Places \doxylink{class_b_n_o08x}{BNO08x} device in on state by sending ON (2) command on "{}device"{} channel. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a7c5774a48227e8e3346fa5df7dfa420c}{sleep}} () \begin{DoxyCompactList}\small\item\em Places \doxylink{class_b_n_o08x}{BNO08x} device in sleep state by sending SLEEP (3) command on "{}device"{} channel. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_af0dd28db9e331312e45937b12295ca94}{calibration\+\_\+start}} (uint32\+\_\+t period\+\_\+us) \begin{DoxyCompactList}\small\item\em Starts simple calibration, see ref. manual 6.\+4.\+10.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a817ec9ad9d51a1515f658374de48f483}{calibration\+\_\+end}} (sh2\+\_\+\+Cal\+Status\+\_\+t \&status) \begin{DoxyCompactList}\small\item\em Ends turn-\/table calibration, see ref. manual 6.\+4.\+10.\+2. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a90ea8e811d4bea28a356290d6f5caac5}{dynamic\+\_\+calibration\+\_\+enable}} (\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aeeb4f49593c062357c3b7037bc2de850}{BNO08x\+Cal\+Sel}} sensor) \begin{DoxyCompactList}\small\item\em Enables dynamic/motion engine calibration for specified sensor(s), see ref. manual 6.\+4.\+6.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a5c7498f6fa4bd43280dff1d322233b95}{dynamic\+\_\+calibration\+\_\+disable}} (\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aeeb4f49593c062357c3b7037bc2de850}{BNO08x\+Cal\+Sel}} sensor) \begin{DoxyCompactList}\small\item\em Disables dynamic/motion engine calibration for specified sensor(s), see ref. manual 6.\+4.\+6.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a4e8b49abd33e6e11f23b2ae345058b9b}{dynamic\+\_\+calibration\+\_\+autosave\+\_\+enable}} () \begin{DoxyCompactList}\small\item\em Enables the automatic saving of dynamic/\+ME calibration data to \doxylink{class_b_n_o08x}{BNO08x} internal flash See ref manual 6.\+4.\+7.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a9387728c276734da27388dbea38b6b32}{dynamic\+\_\+calibration\+\_\+autosave\+\_\+disable}} () \begin{DoxyCompactList}\small\item\em Disables the automatic saving of dynamic/\+ME calibration data to \doxylink{class_b_n_o08x}{BNO08x} internal flash See ref manual 6.\+4.\+7.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a1c703a1fb79ce777dc73a83f02bfdb85}{save\+\_\+dynamic\+\_\+calibration}} () \begin{DoxyCompactList}\small\item\em Saves dynamic/motion engine calibration data to \doxylink{class_b_n_o08x}{BNO08x} internal flash immediately. See ref manual 6.\+4.\+5.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a84a19cd1564f8d427394f137df54477d}{clear\+\_\+dynamic\+\_\+calibration}} () \begin{DoxyCompactList}\small\item\em Clears dynamic/motion engine calibration data and resets \doxylink{class_b_n_o08x}{BNO08x} device. See ref manual 6.\+4.\+9.\+1. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_aee6ce74b95c1e1651cb93a60d723c16c}{get\+\_\+frs}} (uint16\+\_\+t frs\+\_\+\+ID, uint32\+\_\+t(\&data)\mbox{[}16\mbox{]}, uint16\+\_\+t \&rx\+\_\+data\+\_\+sz) \begin{DoxyCompactList}\small\item\em Retrieves a record from flash record system (if your goal is to retrieve meta data use the \doxylink{class_b_n_o08x_rpt}{BNO08x\+Rpt}\+:get\+\_\+meta\+\_\+data() method instead) \end{DoxyCompactList}\item sh2\+\_\+\+Product\+Ids\+\_\+t \mbox{\hyperlink{class_b_n_o08x_aa8fd64f60de86ff6b8562f90f3b09690}{get\+\_\+product\+\_\+\+IDs}} () \begin{DoxyCompactList}\small\item\em Returns product ID info sent by IMU at initialization. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc}{data\+\_\+available}} () \begin{DoxyCompactList}\small\item\em Polls for new data/report to become available. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3}{register\+\_\+cb}} (std\+::function$<$ void(void)$>$ cb\+\_\+fxn) \begin{DoxyCompactList}\small\item\em Registers a callback to execute when new data from a report is received. \end{DoxyCompactList}\item bool \mbox{\hyperlink{class_b_n_o08x_a082c79d9951ac32ea5fa25de90255a41}{register\+\_\+cb}} (std\+::function$<$ void(uint8\+\_\+t report\+\_\+\+ID)$>$ cb\+\_\+fxn) \begin{DoxyCompactList}\small\item\em Registers a callback to execute when new data from a report is received, overloaded with callback param for most recent report ID. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6}{print\+\_\+product\+\_\+ids}} () \begin{DoxyCompactList}\small\item\em Prints product IDs received at initialization. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{class_b_n_o08x_a0559c3f2f49d287e7c400a780975f850}{activity\+\_\+to\+\_\+str}} (\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_abcc5d57e21ea6ed79e792deafcb62187}{BNO08x\+Activity}} activity) \begin{DoxyCompactList}\small\item\em Converts a BNO08x\+Activity enum to string. \end{DoxyCompactList}\item static const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{class_b_n_o08x_aa8347555e37a185bef4a834b04231123}{stability\+\_\+to\+\_\+str}} (\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a498b35f9e00b24e51f8f60b029751ab5}{BNO08x\+Stability}} stability) \begin{DoxyCompactList}\small\item\em Converts a BNO08x\+Stability enum to string. \end{DoxyCompactList}\item static const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{class_b_n_o08x_a41d65567bb316971f68718ca69039ace}{accuracy\+\_\+to\+\_\+str}} (\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aed7bab8e55be415938e078ebe72562a0}{BNO08x\+Accuracy}} accuracy) \end{DoxyCompactItemize} \doxysubsubsection*{Public Attributes} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t}{bno08x\+\_\+reports\+\_\+t}} \mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}} \end{DoxyCompactItemize} \doxysubsubsection*{Private Member Functions} \begin{DoxyCompactItemize} \item void \mbox{\hyperlink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task}} () \begin{DoxyCompactList}\small\item\em Task responsible for parsing/handling sensor events sent by SH2 HAL and updating data that is returned to user. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task}} () \begin{DoxyCompactList}\small\item\em Task responsible for calling shtp\+\_\+service() when HINT is asserted to dispatch any sh2 HAL lib callbacks. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7}{cb\+\_\+task}} () \begin{DoxyCompactList}\small\item\em Task responsible for executing callbacks registered with \doxylink{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3}{register\+\_\+cb()}. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a8e43dd50140f326cfb58e00399923e8c}{lock\+\_\+sh2\+\_\+\+HAL}} () \begin{DoxyCompactList}\small\item\em Locks sh2 HAL lib to only allow the calling task to call its APIs. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a2dbce689245a1b9968e3ea627d2b9a42}{unlock\+\_\+sh2\+\_\+\+HAL}} () \begin{DoxyCompactList}\small\item\em Unlocks sh2 HAL lib to allow other tasks to call its APIs. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a37e7c18232f47694d5e55bacc109189c}{lock\+\_\+user\+\_\+data}} () \begin{DoxyCompactList}\small\item\em Locks locks user data to only allow the calling task to read/modify it. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a171b4f380b145e295a11219a8e2a961a}{unlock\+\_\+user\+\_\+data}} () \begin{DoxyCompactList}\small\item\em Unlocks user data to allow other tasks to read/modify it. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a7d5250a6017f9e76e3c2ddb00d7103a1}{handle\+\_\+sensor\+\_\+report}} (sh2\+\_\+\+Sensor\+Value\+\_\+t \texorpdfstring{$\ast$}{*}sensor\+\_\+val) \begin{DoxyCompactList}\small\item\em Parses receieved report and updates uer data with it. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a86275a93706656dae6af421bc15a4e59}{handle\+\_\+cb}} (uint8\+\_\+t rpt\+\_\+\+ID, \mbox{\hyperlink{class_b_n_o08x_cb_generic}{BNO08x\+Cb\+Generic}} \texorpdfstring{$\ast$}{*}cb\+\_\+entry) \begin{DoxyCompactList}\small\item\em Determines the flavor of a passed callback and executes it appropriately. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a589eb9780f5bf613bbd447ef5b9ade3d}{init\+\_\+config\+\_\+args}} () \begin{DoxyCompactList}\small\item\em Initializes required esp-\/idf SPI data structures with values from user passed \doxylink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t} struct. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ae0dab25557befcf62bf384fdc241ef10}{init\+\_\+gpio}} () \begin{DoxyCompactList}\small\item\em Initializes required gpio. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a8f34d5475474f00ae6a92f73c1fe14e4}{init\+\_\+gpio\+\_\+inputs}} () \begin{DoxyCompactList}\small\item\em Initializes required gpio inputs. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ad0b9e8f8d051798bb1da9b19598dbd64}{init\+\_\+gpio\+\_\+outputs}} () \begin{DoxyCompactList}\small\item\em Initializes required gpio outputs. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_aa27026da2c52b4aca49b78863f10ec61}{init\+\_\+hint\+\_\+isr}} () \begin{DoxyCompactList}\small\item\em Initializes host interrupt ISR. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a58f43c8bb1e7fe8560ce442d46240e81}{init\+\_\+spi}} () \begin{DoxyCompactList}\small\item\em Initializes SPI. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a90d959312e6f7f8151b8a38218492ead}{init\+\_\+tasks}} () \begin{DoxyCompactList}\small\item\em Initializes data\+\_\+proc\+\_\+task. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ae2fc9a0fe63a927c015a267621316a80}{init\+\_\+sh2\+\_\+\+HAL}} () \begin{DoxyCompactList}\small\item\em Initializes sh2 HAL. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a4f007dd431f10e741414d197bb4926c3}{deinit\+\_\+gpio}} () \begin{DoxyCompactList}\small\item\em Deinitializes GPIO, called from deconstructor. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a1f0f4cd8dc7d38448e2198ea47d0018c}{deinit\+\_\+gpio\+\_\+inputs}} () \begin{DoxyCompactList}\small\item\em Deinitializes GPIO inputs, called from deconstructor. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ab132a061bd437fd109225446aa1f6010}{deinit\+\_\+gpio\+\_\+outputs}} () \begin{DoxyCompactList}\small\item\em Deinitializes GPIO outputs, called from deconstructor. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a9d96108b0f5b1e1e1ac431bc993ca758}{deinit\+\_\+hint\+\_\+isr}} () \begin{DoxyCompactList}\small\item\em Deinitializes host interrupt ISR, called from deconstructor. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a233920ce97f685fbdabecccacf471d85}{deinit\+\_\+spi}} () \begin{DoxyCompactList}\small\item\em Deinitializes SPI. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a968144efd5100ccce0e453c40a63592b}{deinit\+\_\+tasks}} () \begin{DoxyCompactList}\small\item\em Deinitializes tasks used by \doxylink{class_b_n_o08x}{BNO08x} driver. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a75c7226ea4626862a5039aa053116861}{deinit\+\_\+sh2\+\_\+\+HAL}} () \begin{DoxyCompactList}\small\item\em Deinitializes sh2 HAL. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a69cf0da11a71f5ea40f9fddd598d06fc}{wait\+\_\+for\+\_\+hint}} () \begin{DoxyCompactList}\small\item\em Waits for HINT pin assertion or HOST\+\_\+\+INT\+\_\+\+TIMEOUT\+\_\+\+DEFAULT\+\_\+\+MS to elapse. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a6602374314c07e9f707c0a6d2234bf7e}{wait\+\_\+for\+\_\+reset}} () \begin{DoxyCompactList}\small\item\em Waits for SH2 HAL lib to detect reset or HOST\+\_\+\+INT\+\_\+\+TIMEOUT\+\_\+\+DEFAULT\+\_\+\+MS to elapse. \end{DoxyCompactList}\item void \mbox{\hyperlink{class_b_n_o08x_a6711a624f7229f2eee51ee0a5bc87e67}{toggle\+\_\+reset}} () \begin{DoxyCompactList}\small\item\em Toggles reset gpio pin for hard reset of \doxylink{class_b_n_o08x}{BNO08x} device. \end{DoxyCompactList}\item esp\+\_\+err\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ac732c968f8d639c81f5d423aad004e95}{re\+\_\+enable\+\_\+reports}} () \begin{DoxyCompactList}\small\item\em Re-\/enables all reports enabled by user (called when \doxylink{class_b_n_o08x}{BNO08x} reset is detected by sh2 HAL lib). \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Static Private Member Functions} \begin{DoxyCompactItemize} \item static void \mbox{\hyperlink{class_b_n_o08x_a0ae135d7bf7a5f047a1d1aa5cc07e520}{data\+\_\+proc\+\_\+task\+\_\+trampoline}} (void \texorpdfstring{$\ast$}{*}arg) \begin{DoxyCompactList}\small\item\em Static function used to launch data processing task. \end{DoxyCompactList}\item static void \mbox{\hyperlink{class_b_n_o08x_a888eaf810d6140e2e771c44f5857b7c1}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task\+\_\+trampoline}} (void \texorpdfstring{$\ast$}{*}arg) \begin{DoxyCompactList}\small\item\em Static function used to launch sh2 HAL service task. \end{DoxyCompactList}\item static void \mbox{\hyperlink{class_b_n_o08x_addf01190119091237ad7a9a1aaea4dcc}{cb\+\_\+task\+\_\+trampoline}} (void \texorpdfstring{$\ast$}{*}arg) \begin{DoxyCompactList}\small\item\em Static function used to launch cb\+\_\+task task. \end{DoxyCompactList}\item static void IRAM\+\_\+\+ATTR \mbox{\hyperlink{class_b_n_o08x_a804b95c58c30d36933fd251626b85bf7}{hint\+\_\+handler}} (void \texorpdfstring{$\ast$}{*}arg) \begin{DoxyCompactList}\small\item\em HINT interrupt service routine, handles falling edge of \doxylink{class_b_n_o08x}{BNO08x} HINT pin. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Private Attributes} \begin{DoxyCompactItemize} \item Task\+Handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_af9b6fbf35e7cd55d517d30c6429a21a4}{data\+\_\+proc\+\_\+task\+\_\+hdl}} \begin{DoxyCompactList}\small\item\em \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} task handle \end{DoxyCompactList}\item Task\+Handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_afb288b912294ac6a568c1aab8bb382f6}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task\+\_\+hdl}} \begin{DoxyCompactList}\small\item\em \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} task handle \end{DoxyCompactList}\item Task\+Handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a6931b6544788f268a9441a9f9d4a5e33}{cb\+\_\+task\+\_\+hdl}} \begin{DoxyCompactList}\small\item\em \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} task handle \end{DoxyCompactList}\item Semaphore\+Handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_aa92ff86d82a097a565ed2a2b9000b571}{sem\+\_\+kill\+\_\+tasks}} \begin{DoxyCompactList}\small\item\em Counting Semaphore to count amount of killed tasks. \end{DoxyCompactList}\item sh2\+\_\+\+Hal\+\_\+t \mbox{\hyperlink{class_b_n_o08x_abae123678dc62f139749f13a3b6d1baa}{sh2\+\_\+\+HAL}} \begin{DoxyCompactList}\small\item\em sh2 hardware abstraction layer struct for use with sh2 HAL lib. \end{DoxyCompactList}\item Queue\+Handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_aefd6d59af9f8cf73be017db55f8b2e6a}{queue\+\_\+rx\+\_\+sensor\+\_\+event}} \begin{DoxyCompactList}\small\item\em Queue to send sensor events from sh2 HAL sensor event callback (\doxylink{class_b_n_o08x_s_h2_h_a_l_a19c041ef614d7eda85b94b10202a3997}{BNO08x\+SH2\+HAL\+::sensor\+\_\+event\+\_\+cb()}) to \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} \end{DoxyCompactList}\item Queue\+Handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a8b45106ee35e8d2ddc9709b7f788212e}{queue\+\_\+cb\+\_\+report\+\_\+id}} \begin{DoxyCompactList}\small\item\em Queue to send report ID of most recent report to \doxylink{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7}{cb\+\_\+task()} \end{DoxyCompactList}\item \mbox{\hyperlink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t}} \mbox{\hyperlink{class_b_n_o08x_aeda443e9f608fccfec0e6770edc90c82}{imu\+\_\+config}} \{\} \begin{DoxyCompactList}\small\item\em IMU configuration settings. \end{DoxyCompactList}\item spi\+\_\+bus\+\_\+config\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a982f065df42f00e53fd87c840efdb0f1}{bus\+\_\+config}} \{\} \begin{DoxyCompactList}\small\item\em SPI bus GPIO configuration settings. \end{DoxyCompactList}\item spi\+\_\+device\+\_\+interface\+\_\+config\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a425a1f5a9f3232aadc685caaf4c2f82e}{imu\+\_\+spi\+\_\+config}} \{\} \begin{DoxyCompactList}\small\item\em SPI slave device settings. \end{DoxyCompactList}\item spi\+\_\+device\+\_\+handle\+\_\+t \mbox{\hyperlink{class_b_n_o08x_acc0ea091465fc9a5736f5e0c6a0ce8ef}{spi\+\_\+hdl}} \{\} \begin{DoxyCompactList}\small\item\em SPI device handle. \end{DoxyCompactList}\item spi\+\_\+transaction\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ac16adc5f00b0039c98a4921f13895026}{spi\+\_\+transaction}} \{\} \begin{DoxyCompactList}\small\item\em SPI transaction handle. \end{DoxyCompactList}\item \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__init__status__t}{BNO08x\+Private\+Types\+::bno08x\+\_\+init\+\_\+status\+\_\+t}} \mbox{\hyperlink{class_b_n_o08x_a0a2d157afc0da144536d8d6927cc63f1}{init\+\_\+status}} \begin{DoxyCompactList}\small\item\em Initialization status of various functionality, used by deconstructor during cleanup, set during initialization. \end{DoxyCompactList}\item \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t}{BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t}} \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\+\_\+ctx}} \begin{DoxyCompactList}\small\item\em Holds context used to synchronize tasks and callback execution. \end{DoxyCompactList}\item sh2\+\_\+\+Product\+Ids\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ac8f6fc515923ffc820a7cfafc0c2830f}{product\+\_\+\+IDs}} \begin{DoxyCompactList}\small\item\em Product ID info returned IMU at initialization, can be viewed with \doxylink{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6}{print\+\_\+product\+\_\+ids()} \end{DoxyCompactList}\item etl\+::map$<$ uint8\+\_\+t, \mbox{\hyperlink{class_b_n_o08x_rpt}{BNO08x\+Rpt}} \texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a9808babb45af9b32fc51cef8d50341be}{TOTAL\+\_\+\+RPT\+\_\+\+COUNT}}, etl\+::less$<$ uint8\+\_\+t $>$ $>$ \mbox{\hyperlink{class_b_n_o08x_a58b4949a61a784d09df3e7ecda175b39}{usr\+\_\+reports}} \end{DoxyCompactItemize} \doxysubsubsection*{Static Private Attributes} \begin{DoxyCompactItemize} \item static const constexpr config\+STACK\+\_\+\+DEPTH\+\_\+\+TYPE \mbox{\hyperlink{class_b_n_o08x_a876ef3f899989de83ee6a9d6b218f8e1}{DATA\+\_\+\+PROC\+\_\+\+TASK\+\_\+\+SZ}} \begin{DoxyCompactList}\small\item\em Size of \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} stack in bytes. \end{DoxyCompactList}\item static const constexpr config\+STACK\+\_\+\+DEPTH\+\_\+\+TYPE \mbox{\hyperlink{class_b_n_o08x_aac1f772772db2d5fd14d51e44649d8eb}{SH2\+\_\+\+HAL\+\_\+\+SERVICE\+\_\+\+TASK\+\_\+\+SZ}} \begin{DoxyCompactList}\small\item\em Size of \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} stack in bytes. \end{DoxyCompactList}\item static const constexpr config\+STACK\+\_\+\+DEPTH\+\_\+\+TYPE \mbox{\hyperlink{class_b_n_o08x_a63002547e309412846c3967c9d068ee3}{CB\+\_\+\+TASK\+\_\+\+SZ}} \begin{DoxyCompactList}\small\item\em Size of \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} stack in bytes. \end{DoxyCompactList}\item static const constexpr uint16\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a1a037bda37493cde56732cc6fdc7884b}{RX\+\_\+\+DATA\+\_\+\+LENGTH}} = 300U \begin{DoxyCompactList}\small\item\em length buffer containing data received over spi \end{DoxyCompactList}\item static const constexpr Tick\+Type\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ae51d4e3228a91ee407d5866e604804c4}{HOST\+\_\+\+INT\+\_\+\+TIMEOUT\+\_\+\+DEFAULT\+\_\+\+MS}} \begin{DoxyCompactList}\small\item\em Max wait between HINT being asserted by \doxylink{class_b_n_o08x}{BNO08x} before transaction is considered failed (in miliseconds). \end{DoxyCompactList}\item static const constexpr Tick\+Type\+\_\+t \mbox{\hyperlink{class_b_n_o08x_ae32ce16c51a93b9d53058bf3b6f0d94b}{DATA\+\_\+\+AVAILABLE\+\_\+\+TIMEOUT\+\_\+\+MS}} \begin{DoxyCompactList}\small\item\em Max wait between \doxylink{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc}{data\+\_\+available()} being called and no new data/report being detected. \end{DoxyCompactList}\item static const constexpr Tick\+Type\+\_\+t \mbox{\hyperlink{class_b_n_o08x_aa07e329d693eb8d9270a7f9ad6f1d94b}{HARD\+\_\+\+RESET\+\_\+\+DELAY\+\_\+\+MS}} \begin{DoxyCompactList}\small\item\em How long RST pin is held low during hard reset (min 10ns according to datasheet, but should be longer for stable operation) \end{DoxyCompactList}\item static const constexpr uint32\+\_\+t \mbox{\hyperlink{class_b_n_o08x_a031976dacd97917d9d72edccb607160c}{SCLK\+\_\+\+MAX\+\_\+\+SPEED}} = 3000000\+UL \begin{DoxyCompactList}\small\item\em Max SPI SCLK speed \doxylink{class_b_n_o08x}{BNO08x} is capable of. \end{DoxyCompactList}\item static const constexpr char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{class_b_n_o08x_a2c98d5f2c406a3efd0b48c5666fa8c46}{TAG}} = "{}BNO08x"{} \begin{DoxyCompactList}\small\item\em Class tag used for serial print statements. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Friends} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{class_b_n_o08x_a6dd0081dc9eb0cfb019bfdca3aa31802}{BNO08x\+SH2\+HAL}} \item class \mbox{\hyperlink{class_b_n_o08x_a190775b71c35d8007faae7dd6a9f1030}{BNO08x\+Test\+Helper}} \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \doxylink{class_b_n_o08x}{BNO08x} IMU driver class. \doxysubsection{Member Typedef Documentation} \Hypertarget{class_b_n_o08x_ae08bdaff01ecacf0f399ab289fdf0b99}\label{class_b_n_o08x_ae08bdaff01ecacf0f399ab289fdf0b99} \index{BNO08x@{BNO08x}!bno08x\_reports\_t@{bno08x\_reports\_t}} \index{bno08x\_reports\_t@{bno08x\_reports\_t}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{bno08x\_reports\_t}{bno08x\_reports\_t}} {\footnotesize\ttfamily typedef struct BNO08x\+::bno08x\+\_\+reports\+\_\+t BNO08x\+::bno08x\+\_\+reports\+\_\+t} Contains report implementations. \doxysubsection{Constructor \& Destructor Documentation} \Hypertarget{class_b_n_o08x_ad12fb6cf310ad7a04a4e53809833bd61}\label{class_b_n_o08x_ad12fb6cf310ad7a04a4e53809833bd61} \index{BNO08x@{BNO08x}!BNO08x@{BNO08x}} \index{BNO08x@{BNO08x}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{BNO08x()}{BNO08x()}} {\footnotesize\ttfamily BNO08x\+::\+BNO08x (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t}}}]{imu\+\_\+config = {\ttfamily \mbox{\hyperlink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t}}()} }\end{DoxyParamCaption})} \doxylink{class_b_n_o08x}{BNO08x} imu constructor. Construct a \doxylink{class_b_n_o08x}{BNO08x} object for managing a \doxylink{class_b_n_o08x}{BNO08x} sensor. \begin{DoxyParams}{Parameters} {\em imu\+\_\+config} & Configuration settings (optional), default settings can be seen in \doxylink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t} \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} \Hypertarget{class_b_n_o08x_a687eee44d68e1bcabce04780d7eb5fb9}\label{class_b_n_o08x_a687eee44d68e1bcabce04780d7eb5fb9} \index{BNO08x@{BNO08x}!````~BNO08x@{\texorpdfstring{$\sim$}{\string~}BNO08x}} \index{````~BNO08x@{\texorpdfstring{$\sim$}{\string~}BNO08x}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}BNO08x()}{\string~BNO08x()}} {\footnotesize\ttfamily BNO08x\+::\texorpdfstring{$\sim$}{\string~}\+BNO08x (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} \doxylink{class_b_n_o08x}{BNO08x} imu deconstructor. Deconstructs a \doxylink{class_b_n_o08x}{BNO08x} object and releases any utilized resources. \begin{DoxyReturn}{Returns} void, nothing to return. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a687eee44d68e1bcabce04780d7eb5fb9_cgraph} \end{center} \end{figure} \doxysubsection{Member Function Documentation} \Hypertarget{class_b_n_o08x_a41d65567bb316971f68718ca69039ace}\label{class_b_n_o08x_a41d65567bb316971f68718ca69039ace} \index{BNO08x@{BNO08x}!accuracy\_to\_str@{accuracy\_to\_str}} \index{accuracy\_to\_str@{accuracy\_to\_str}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{accuracy\_to\_str()}{accuracy\_to\_str()}} {\footnotesize\ttfamily const char \texorpdfstring{$\ast$}{*} BNO08x\+::accuracy\+\_\+to\+\_\+str (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aed7bab8e55be415938e078ebe72562a0}{BNO08x\+Accuracy}}}]{accuracy }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=550pt]{class_b_n_o08x_a41d65567bb316971f68718ca69039ace_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a0559c3f2f49d287e7c400a780975f850}\label{class_b_n_o08x_a0559c3f2f49d287e7c400a780975f850} \index{BNO08x@{BNO08x}!activity\_to\_str@{activity\_to\_str}} \index{activity\_to\_str@{activity\_to\_str}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{activity\_to\_str()}{activity\_to\_str()}} {\footnotesize\ttfamily const char \texorpdfstring{$\ast$}{*} BNO08x\+::activity\+\_\+to\+\_\+str (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_abcc5d57e21ea6ed79e792deafcb62187}{BNO08x\+Activity}}}]{activity }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Converts a BNO08x\+Activity enum to string. \begin{DoxyReturn}{Returns} The resulting string conversion of the enum. \end{DoxyReturn} \Hypertarget{class_b_n_o08x_a817ec9ad9d51a1515f658374de48f483}\label{class_b_n_o08x_a817ec9ad9d51a1515f658374de48f483} \index{BNO08x@{BNO08x}!calibration\_end@{calibration\_end}} \index{calibration\_end@{calibration\_end}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{calibration\_end()}{calibration\_end()}} {\footnotesize\ttfamily bool BNO08x\+::calibration\+\_\+end (\begin{DoxyParamCaption}\item[{sh2\+\_\+\+Cal\+Status\+\_\+t \&}]{status }\end{DoxyParamCaption})} Ends turn-\/table calibration, see ref. manual 6.\+4.\+10.\+2. \begin{DoxyParams}{Parameters} {\em status} & Returned status bits indicating result of turntable calibration.\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if enable start turn-\/table calibration operation succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a817ec9ad9d51a1515f658374de48f483_cgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_af0dd28db9e331312e45937b12295ca94}\label{class_b_n_o08x_af0dd28db9e331312e45937b12295ca94} \index{BNO08x@{BNO08x}!calibration\_start@{calibration\_start}} \index{calibration\_start@{calibration\_start}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{calibration\_start()}{calibration\_start()}} {\footnotesize\ttfamily bool BNO08x\+::calibration\+\_\+start (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{period\+\_\+us }\end{DoxyParamCaption})} Starts simple calibration, see ref. manual 6.\+4.\+10.\+1. \begin{DoxyParams}{Parameters} {\em period\+\_\+us} & This interval should be set to whatever rate the sensor hub is expected to run at after calibration.\\ \hline \end{DoxyParams} After the calibration is started, the IMU should be rotated 180 degrees. After the IMU has been rotated call \doxylink{class_b_n_o08x_a817ec9ad9d51a1515f658374de48f483}{calibration\+\_\+end()}. See ref. manual 6.\+4.\+10 for more detailed instructions. \begin{DoxyReturn}{Returns} True if start simple calibration operation succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_af0dd28db9e331312e45937b12295ca94_cgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7}\label{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7} \index{BNO08x@{BNO08x}!cb\_task@{cb\_task}} \index{cb\_task@{cb\_task}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{cb\_task()}{cb\_task()}} {\footnotesize\ttfamily void BNO08x\+::cb\+\_\+task (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Task responsible for executing callbacks registered with \doxylink{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3}{register\+\_\+cb()}. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_addf01190119091237ad7a9a1aaea4dcc}\label{class_b_n_o08x_addf01190119091237ad7a9a1aaea4dcc} \index{BNO08x@{BNO08x}!cb\_task\_trampoline@{cb\_task\_trampoline}} \index{cb\_task\_trampoline@{cb\_task\_trampoline}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{cb\_task\_trampoline()}{cb\_task\_trampoline()}} {\footnotesize\ttfamily void BNO08x\+::cb\+\_\+task\+\_\+trampoline (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} Static function used to launch cb\+\_\+task task. Used such that \doxylink{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7}{cb\+\_\+task()} can be non-\/static class member. \begin{DoxyParams}{Parameters} {\em arg} & void pointer to \doxylink{class_b_n_o08x}{BNO08x} imu object \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_addf01190119091237ad7a9a1aaea4dcc_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_addf01190119091237ad7a9a1aaea4dcc_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a84a19cd1564f8d427394f137df54477d}\label{class_b_n_o08x_a84a19cd1564f8d427394f137df54477d} \index{BNO08x@{BNO08x}!clear\_dynamic\_calibration@{clear\_dynamic\_calibration}} \index{clear\_dynamic\_calibration@{clear\_dynamic\_calibration}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{clear\_dynamic\_calibration()}{clear\_dynamic\_calibration()}} {\footnotesize\ttfamily bool BNO08x\+::clear\+\_\+dynamic\+\_\+calibration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Clears dynamic/motion engine calibration data and resets \doxylink{class_b_n_o08x}{BNO08x} device. See ref manual 6.\+4.\+9.\+1. \begin{DoxyReturn}{Returns} True if save dynamic/\+ME calibration data succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a84a19cd1564f8d427394f137df54477d_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=310pt]{class_b_n_o08x_a84a19cd1564f8d427394f137df54477d_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc}\label{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc} \index{BNO08x@{BNO08x}!data\_available@{data\_available}} \index{data\_available@{data\_available}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{data\_available()}{data\_available()}} {\footnotesize\ttfamily bool BNO08x\+::data\+\_\+available (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Polls for new data/report to become available. \begin{DoxyReturn}{Returns} True if new data/report became available before DATA\+\_\+\+AVAILABLE\+\_\+\+TIMEOUT\+\_\+\+MS. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=550pt]{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}\label{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8} \index{BNO08x@{BNO08x}!data\_proc\_task@{data\_proc\_task}} \index{data\_proc\_task@{data\_proc\_task}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{data\_proc\_task()}{data\_proc\_task()}} {\footnotesize\ttfamily void BNO08x\+::data\+\_\+proc\+\_\+task (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Task responsible for parsing/handling sensor events sent by SH2 HAL and updating data that is returned to user. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a0ae135d7bf7a5f047a1d1aa5cc07e520}\label{class_b_n_o08x_a0ae135d7bf7a5f047a1d1aa5cc07e520} \index{BNO08x@{BNO08x}!data\_proc\_task\_trampoline@{data\_proc\_task\_trampoline}} \index{data\_proc\_task\_trampoline@{data\_proc\_task\_trampoline}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{data\_proc\_task\_trampoline()}{data\_proc\_task\_trampoline()}} {\footnotesize\ttfamily void BNO08x\+::data\+\_\+proc\+\_\+task\+\_\+trampoline (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} Static function used to launch data processing task. Used such that \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} can be non-\/static class member. \begin{DoxyParams}{Parameters} {\em arg} & void pointer to \doxylink{class_b_n_o08x}{BNO08x} imu object \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a0ae135d7bf7a5f047a1d1aa5cc07e520_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a0ae135d7bf7a5f047a1d1aa5cc07e520_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a4f007dd431f10e741414d197bb4926c3}\label{class_b_n_o08x_a4f007dd431f10e741414d197bb4926c3} \index{BNO08x@{BNO08x}!deinit\_gpio@{deinit\_gpio}} \index{deinit\_gpio@{deinit\_gpio}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_gpio()}{deinit\_gpio()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+gpio (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes GPIO, called from deconstructor. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=327pt]{class_b_n_o08x_a4f007dd431f10e741414d197bb4926c3_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a4f007dd431f10e741414d197bb4926c3_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a1f0f4cd8dc7d38448e2198ea47d0018c}\label{class_b_n_o08x_a1f0f4cd8dc7d38448e2198ea47d0018c} \index{BNO08x@{BNO08x}!deinit\_gpio\_inputs@{deinit\_gpio\_inputs}} \index{deinit\_gpio\_inputs@{deinit\_gpio\_inputs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_gpio\_inputs()}{deinit\_gpio\_inputs()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+gpio\+\_\+inputs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes GPIO inputs, called from deconstructor. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a1f0f4cd8dc7d38448e2198ea47d0018c_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_ab132a061bd437fd109225446aa1f6010}\label{class_b_n_o08x_ab132a061bd437fd109225446aa1f6010} \index{BNO08x@{BNO08x}!deinit\_gpio\_outputs@{deinit\_gpio\_outputs}} \index{deinit\_gpio\_outputs@{deinit\_gpio\_outputs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_gpio\_outputs()}{deinit\_gpio\_outputs()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+gpio\+\_\+outputs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes GPIO outputs, called from deconstructor. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ab132a061bd437fd109225446aa1f6010_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a9d96108b0f5b1e1e1ac431bc993ca758}\label{class_b_n_o08x_a9d96108b0f5b1e1e1ac431bc993ca758} \index{BNO08x@{BNO08x}!deinit\_hint\_isr@{deinit\_hint\_isr}} \index{deinit\_hint\_isr@{deinit\_hint\_isr}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_hint\_isr()}{deinit\_hint\_isr()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+hint\+\_\+isr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes host interrupt ISR, called from deconstructor. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a9d96108b0f5b1e1e1ac431bc993ca758_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a75c7226ea4626862a5039aa053116861}\label{class_b_n_o08x_a75c7226ea4626862a5039aa053116861} \index{BNO08x@{BNO08x}!deinit\_sh2\_HAL@{deinit\_sh2\_HAL}} \index{deinit\_sh2\_HAL@{deinit\_sh2\_HAL}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_sh2\_HAL()}{deinit\_sh2\_HAL()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+sh2\+\_\+\+HAL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes sh2 HAL. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a75c7226ea4626862a5039aa053116861_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a233920ce97f685fbdabecccacf471d85}\label{class_b_n_o08x_a233920ce97f685fbdabecccacf471d85} \index{BNO08x@{BNO08x}!deinit\_spi@{deinit\_spi}} \index{deinit\_spi@{deinit\_spi}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_spi()}{deinit\_spi()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+spi (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes SPI. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a233920ce97f685fbdabecccacf471d85_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a968144efd5100ccce0e453c40a63592b}\label{class_b_n_o08x_a968144efd5100ccce0e453c40a63592b} \index{BNO08x@{BNO08x}!deinit\_tasks@{deinit\_tasks}} \index{deinit\_tasks@{deinit\_tasks}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{deinit\_tasks()}{deinit\_tasks()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::deinit\+\_\+tasks (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Deinitializes tasks used by \doxylink{class_b_n_o08x}{BNO08x} driver. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if deinitialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a968144efd5100ccce0e453c40a63592b_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_aebacbe092615cd083cf996b14402bba6}\label{class_b_n_o08x_aebacbe092615cd083cf996b14402bba6} \index{BNO08x@{BNO08x}!disable\_all\_reports@{disable\_all\_reports}} \index{disable\_all\_reports@{disable\_all\_reports}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{disable\_all\_reports()}{disable\_all\_reports()}} {\footnotesize\ttfamily bool BNO08x\+::disable\+\_\+all\+\_\+reports (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Disables all currently enabled reports. \begin{DoxyReturn}{Returns} True if all currently enabled reports were disabled successfully. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=293pt]{class_b_n_o08x_aebacbe092615cd083cf996b14402bba6_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a9387728c276734da27388dbea38b6b32}\label{class_b_n_o08x_a9387728c276734da27388dbea38b6b32} \index{BNO08x@{BNO08x}!dynamic\_calibration\_autosave\_disable@{dynamic\_calibration\_autosave\_disable}} \index{dynamic\_calibration\_autosave\_disable@{dynamic\_calibration\_autosave\_disable}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{dynamic\_calibration\_autosave\_disable()}{dynamic\_calibration\_autosave\_disable()}} {\footnotesize\ttfamily bool BNO08x\+::dynamic\+\_\+calibration\+\_\+autosave\+\_\+disable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Disables the automatic saving of dynamic/\+ME calibration data to \doxylink{class_b_n_o08x}{BNO08x} internal flash See ref manual 6.\+4.\+7.\+1. \begin{DoxyReturn}{Returns} True if dynamic/\+ME calibration autosave data enable succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a9387728c276734da27388dbea38b6b32_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=333pt]{class_b_n_o08x_a9387728c276734da27388dbea38b6b32_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a4e8b49abd33e6e11f23b2ae345058b9b}\label{class_b_n_o08x_a4e8b49abd33e6e11f23b2ae345058b9b} \index{BNO08x@{BNO08x}!dynamic\_calibration\_autosave\_enable@{dynamic\_calibration\_autosave\_enable}} \index{dynamic\_calibration\_autosave\_enable@{dynamic\_calibration\_autosave\_enable}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{dynamic\_calibration\_autosave\_enable()}{dynamic\_calibration\_autosave\_enable()}} {\footnotesize\ttfamily bool BNO08x\+::dynamic\+\_\+calibration\+\_\+autosave\+\_\+enable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Enables the automatic saving of dynamic/\+ME calibration data to \doxylink{class_b_n_o08x}{BNO08x} internal flash See ref manual 6.\+4.\+7.\+1. \begin{DoxyReturn}{Returns} True if dynamic/\+ME calibration autosave data enable succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a4e8b49abd33e6e11f23b2ae345058b9b_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=333pt]{class_b_n_o08x_a4e8b49abd33e6e11f23b2ae345058b9b_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a5c7498f6fa4bd43280dff1d322233b95}\label{class_b_n_o08x_a5c7498f6fa4bd43280dff1d322233b95} \index{BNO08x@{BNO08x}!dynamic\_calibration\_disable@{dynamic\_calibration\_disable}} \index{dynamic\_calibration\_disable@{dynamic\_calibration\_disable}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{dynamic\_calibration\_disable()}{dynamic\_calibration\_disable()}} {\footnotesize\ttfamily bool BNO08x\+::dynamic\+\_\+calibration\+\_\+disable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aeeb4f49593c062357c3b7037bc2de850}{BNO08x\+Cal\+Sel}}}]{sensor }\end{DoxyParamCaption})} Disables dynamic/motion engine calibration for specified sensor(s), see ref. manual 6.\+4.\+6.\+1. \begin{DoxyParams}{Parameters} {\em sensor} & The sensor(s) to disable dynamic/\+ME calibration for.\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if disable dynamic/\+ME calibration succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a5c7498f6fa4bd43280dff1d322233b95_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=333pt]{class_b_n_o08x_a5c7498f6fa4bd43280dff1d322233b95_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a90ea8e811d4bea28a356290d6f5caac5}\label{class_b_n_o08x_a90ea8e811d4bea28a356290d6f5caac5} \index{BNO08x@{BNO08x}!dynamic\_calibration\_enable@{dynamic\_calibration\_enable}} \index{dynamic\_calibration\_enable@{dynamic\_calibration\_enable}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{dynamic\_calibration\_enable()}{dynamic\_calibration\_enable()}} {\footnotesize\ttfamily bool BNO08x\+::dynamic\+\_\+calibration\+\_\+enable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aeeb4f49593c062357c3b7037bc2de850}{BNO08x\+Cal\+Sel}}}]{sensor }\end{DoxyParamCaption})} Enables dynamic/motion engine calibration for specified sensor(s), see ref. manual 6.\+4.\+6.\+1. \begin{DoxyParams}{Parameters} {\em sensor} & The sensor(s) to enable dynamic/\+ME calibration for.\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if enable dynamic/\+ME calibration succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a90ea8e811d4bea28a356290d6f5caac5_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=333pt]{class_b_n_o08x_a90ea8e811d4bea28a356290d6f5caac5_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_aee6ce74b95c1e1651cb93a60d723c16c}\label{class_b_n_o08x_aee6ce74b95c1e1651cb93a60d723c16c} \index{BNO08x@{BNO08x}!get\_frs@{get\_frs}} \index{get\_frs@{get\_frs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{get\_frs()}{get\_frs()}} {\footnotesize\ttfamily bool BNO08x\+::get\+\_\+frs (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{frs\+\_\+\+ID, }\item[{uint32\+\_\+t(\&)}]{data\mbox{[}16\mbox{]}, }\item[{uint16\+\_\+t \&}]{rx\+\_\+data\+\_\+sz }\end{DoxyParamCaption})} Retrieves a record from flash record system (if your goal is to retrieve meta data use the \doxylink{class_b_n_o08x_rpt}{BNO08x\+Rpt}\+:get\+\_\+meta\+\_\+data() method instead) For more details on returned and data and frs\+\_\+\+ID see ref. manual 6.\+3.\+7 \& 4.\+3 \begin{DoxyParams}{Parameters} {\em frs\+\_\+\+ID} & The ID of the desired record to retrieve from flash. \\ \hline {\em data} & Buffer of 16 uint32\+\_\+t to store retrieved data. \\ \hline {\em rx\+\_\+data\+\_\+sz} & Reference to store number of 32 bit words retrieved from flash.\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if get flash record system operation succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=336pt]{class_b_n_o08x_aee6ce74b95c1e1651cb93a60d723c16c_cgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_aa8fd64f60de86ff6b8562f90f3b09690}\label{class_b_n_o08x_aa8fd64f60de86ff6b8562f90f3b09690} \index{BNO08x@{BNO08x}!get\_product\_IDs@{get\_product\_IDs}} \index{get\_product\_IDs@{get\_product\_IDs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{get\_product\_IDs()}{get\_product\_IDs()}} {\footnotesize\ttfamily sh2\+\_\+\+Product\+Ids\+\_\+t BNO08x\+::get\+\_\+product\+\_\+\+IDs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Returns product ID info sent by IMU at initialization. \begin{DoxyReturn}{Returns} The product ID info returned at initialization. \end{DoxyReturn} \Hypertarget{class_b_n_o08x_a96d47dd0f9aedfbe3f731f8ae76b2e85}\label{class_b_n_o08x_a96d47dd0f9aedfbe3f731f8ae76b2e85} \index{BNO08x@{BNO08x}!get\_reset\_reason@{get\_reset\_reason}} \index{get\_reset\_reason@{get\_reset\_reason}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{get\_reset\_reason()}{get\_reset\_reason()}} {\footnotesize\ttfamily \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_ab2a2ace42f7f438d6a799dfcbc243147}{BNO08x\+Reset\+Reason}} BNO08x\+::get\+\_\+reset\+\_\+reason (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Returns reason for previous reset via product ID report. \begin{DoxyReturn}{Returns} Enum object containing reset reason, \doxylink{_b_n_o08x_global_types_8hpp_ab2a2ace42f7f438d6a799dfcbc243147a0db45d2a4141101bdfe48e3314cfbca3}{BNO08x\+Reset\+Reason\+::\+UNDEFINED} if failure. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a96d47dd0f9aedfbe3f731f8ae76b2e85_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a96d47dd0f9aedfbe3f731f8ae76b2e85_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a86275a93706656dae6af421bc15a4e59}\label{class_b_n_o08x_a86275a93706656dae6af421bc15a4e59} \index{BNO08x@{BNO08x}!handle\_cb@{handle\_cb}} \index{handle\_cb@{handle\_cb}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{handle\_cb()}{handle\_cb()}} {\footnotesize\ttfamily void BNO08x\+::handle\+\_\+cb (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{rpt\+\_\+\+ID, }\item[{\mbox{\hyperlink{class_b_n_o08x_cb_generic}{BNO08x\+Cb\+Generic}} \texorpdfstring{$\ast$}{*}}]{cb\+\_\+entry }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Determines the flavor of a passed callback and executes it appropriately. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a86275a93706656dae6af421bc15a4e59_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a86275a93706656dae6af421bc15a4e59_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a7d5250a6017f9e76e3c2ddb00d7103a1}\label{class_b_n_o08x_a7d5250a6017f9e76e3c2ddb00d7103a1} \index{BNO08x@{BNO08x}!handle\_sensor\_report@{handle\_sensor\_report}} \index{handle\_sensor\_report@{handle\_sensor\_report}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{handle\_sensor\_report()}{handle\_sensor\_report()}} {\footnotesize\ttfamily void BNO08x\+::handle\+\_\+sensor\+\_\+report (\begin{DoxyParamCaption}\item[{sh2\+\_\+\+Sensor\+Value\+\_\+t \texorpdfstring{$\ast$}{*}}]{sensor\+\_\+val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Parses receieved report and updates uer data with it. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a7d5250a6017f9e76e3c2ddb00d7103a1_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a28cd1c0b3477571d87133234e6358503}\label{class_b_n_o08x_a28cd1c0b3477571d87133234e6358503} \index{BNO08x@{BNO08x}!hard\_reset@{hard\_reset}} \index{hard\_reset@{hard\_reset}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{hard\_reset()}{hard\_reset()}} {\footnotesize\ttfamily bool BNO08x\+::hard\+\_\+reset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Hard resets \doxylink{class_b_n_o08x}{BNO08x} device. \begin{DoxyReturn}{Returns} True if reset was success. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a28cd1c0b3477571d87133234e6358503_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=293pt]{class_b_n_o08x_a28cd1c0b3477571d87133234e6358503_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a804b95c58c30d36933fd251626b85bf7}\label{class_b_n_o08x_a804b95c58c30d36933fd251626b85bf7} \index{BNO08x@{BNO08x}!hint\_handler@{hint\_handler}} \index{hint\_handler@{hint\_handler}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{hint\_handler()}{hint\_handler()}} {\footnotesize\ttfamily void IRAM\+\_\+\+ATTR BNO08x\+::hint\+\_\+handler (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} HINT interrupt service routine, handles falling edge of \doxylink{class_b_n_o08x}{BNO08x} HINT pin. ISR that launches SPI task to perform transaction upon assertion of \doxylink{class_b_n_o08x}{BNO08x} interrupt pin. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a804b95c58c30d36933fd251626b85bf7_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a589eb9780f5bf613bbd447ef5b9ade3d}\label{class_b_n_o08x_a589eb9780f5bf613bbd447ef5b9ade3d} \index{BNO08x@{BNO08x}!init\_config\_args@{init\_config\_args}} \index{init\_config\_args@{init\_config\_args}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_config\_args()}{init\_config\_args()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+config\+\_\+args (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes required esp-\/idf SPI data structures with values from user passed \doxylink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t} struct. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a589eb9780f5bf613bbd447ef5b9ade3d_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_ae0dab25557befcf62bf384fdc241ef10}\label{class_b_n_o08x_ae0dab25557befcf62bf384fdc241ef10} \index{BNO08x@{BNO08x}!init\_gpio@{init\_gpio}} \index{init\_gpio@{init\_gpio}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_gpio()}{init\_gpio()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+gpio (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes required gpio. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=343pt]{class_b_n_o08x_ae0dab25557befcf62bf384fdc241ef10_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ae0dab25557befcf62bf384fdc241ef10_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a8f34d5475474f00ae6a92f73c1fe14e4}\label{class_b_n_o08x_a8f34d5475474f00ae6a92f73c1fe14e4} \index{BNO08x@{BNO08x}!init\_gpio\_inputs@{init\_gpio\_inputs}} \index{init\_gpio\_inputs@{init\_gpio\_inputs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_gpio\_inputs()}{init\_gpio\_inputs()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+gpio\+\_\+inputs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes required gpio inputs. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a8f34d5475474f00ae6a92f73c1fe14e4_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_ad0b9e8f8d051798bb1da9b19598dbd64}\label{class_b_n_o08x_ad0b9e8f8d051798bb1da9b19598dbd64} \index{BNO08x@{BNO08x}!init\_gpio\_outputs@{init\_gpio\_outputs}} \index{init\_gpio\_outputs@{init\_gpio\_outputs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_gpio\_outputs()}{init\_gpio\_outputs()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+gpio\+\_\+outputs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes required gpio outputs. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ad0b9e8f8d051798bb1da9b19598dbd64_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_aa27026da2c52b4aca49b78863f10ec61}\label{class_b_n_o08x_aa27026da2c52b4aca49b78863f10ec61} \index{BNO08x@{BNO08x}!init\_hint\_isr@{init\_hint\_isr}} \index{init\_hint\_isr@{init\_hint\_isr}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_hint\_isr()}{init\_hint\_isr()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+hint\+\_\+isr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes host interrupt ISR. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=336pt]{class_b_n_o08x_aa27026da2c52b4aca49b78863f10ec61_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_aa27026da2c52b4aca49b78863f10ec61_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_ae2fc9a0fe63a927c015a267621316a80}\label{class_b_n_o08x_ae2fc9a0fe63a927c015a267621316a80} \index{BNO08x@{BNO08x}!init\_sh2\_HAL@{init\_sh2\_HAL}} \index{init\_sh2\_HAL@{init\_sh2\_HAL}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_sh2\_HAL()}{init\_sh2\_HAL()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+sh2\+\_\+\+HAL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes sh2 HAL. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ae2fc9a0fe63a927c015a267621316a80_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ae2fc9a0fe63a927c015a267621316a80_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a58f43c8bb1e7fe8560ce442d46240e81}\label{class_b_n_o08x_a58f43c8bb1e7fe8560ce442d46240e81} \index{BNO08x@{BNO08x}!init\_spi@{init\_spi}} \index{init\_spi@{init\_spi}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_spi()}{init\_spi()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+spi (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes SPI. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a58f43c8bb1e7fe8560ce442d46240e81_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a90d959312e6f7f8151b8a38218492ead}\label{class_b_n_o08x_a90d959312e6f7f8151b8a38218492ead} \index{BNO08x@{BNO08x}!init\_tasks@{init\_tasks}} \index{init\_tasks@{init\_tasks}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_tasks()}{init\_tasks()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::init\+\_\+tasks (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Initializes data\+\_\+proc\+\_\+task. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if initialization was success. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a90d959312e6f7f8151b8a38218492ead_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a90d959312e6f7f8151b8a38218492ead_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_aea8e2c6dd7a2c9899479a7f39fe94798}\label{class_b_n_o08x_aea8e2c6dd7a2c9899479a7f39fe94798} \index{BNO08x@{BNO08x}!initialize@{initialize}} \index{initialize@{initialize}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{initialize()}{initialize()}} {\footnotesize\ttfamily bool BNO08x\+::initialize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Initializes \doxylink{class_b_n_o08x}{BNO08x} sensor. Resets sensor and goes through initialization process. Configures GPIO, required ISRs, and launches two tasks, one to manage SPI transactions, another to process any received data. \begin{DoxyReturn}{Returns} True if initialization was success, false if otherwise. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_aea8e2c6dd7a2c9899479a7f39fe94798_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=282pt]{class_b_n_o08x_aea8e2c6dd7a2c9899479a7f39fe94798_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a8e43dd50140f326cfb58e00399923e8c}\label{class_b_n_o08x_a8e43dd50140f326cfb58e00399923e8c} \index{BNO08x@{BNO08x}!lock\_sh2\_HAL@{lock\_sh2\_HAL}} \index{lock\_sh2\_HAL@{lock\_sh2\_HAL}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{lock\_sh2\_HAL()}{lock\_sh2\_HAL()}} {\footnotesize\ttfamily void BNO08x\+::lock\+\_\+sh2\+\_\+\+HAL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Locks sh2 HAL lib to only allow the calling task to call its APIs. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a8e43dd50140f326cfb58e00399923e8c_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a37e7c18232f47694d5e55bacc109189c}\label{class_b_n_o08x_a37e7c18232f47694d5e55bacc109189c} \index{BNO08x@{BNO08x}!lock\_user\_data@{lock\_user\_data}} \index{lock\_user\_data@{lock\_user\_data}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{lock\_user\_data()}{lock\_user\_data()}} {\footnotesize\ttfamily void BNO08x\+::lock\+\_\+user\+\_\+data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Locks locks user data to only allow the calling task to read/modify it. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} \Hypertarget{class_b_n_o08x_aaaa15b21ad98a3b161065c3d03ff62b5}\label{class_b_n_o08x_aaaa15b21ad98a3b161065c3d03ff62b5} \index{BNO08x@{BNO08x}!on@{on}} \index{on@{on}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{on()}{on()}} {\footnotesize\ttfamily bool BNO08x\+::on (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Places \doxylink{class_b_n_o08x}{BNO08x} device in on state by sending ON (2) command on "{}device"{} channel. \begin{DoxyReturn}{Returns} True if on operation succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=318pt]{class_b_n_o08x_aaaa15b21ad98a3b161065c3d03ff62b5_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=258pt]{class_b_n_o08x_aaaa15b21ad98a3b161065c3d03ff62b5_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6}\label{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6} \index{BNO08x@{BNO08x}!print\_product\_ids@{print\_product\_ids}} \index{print\_product\_ids@{print\_product\_ids}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{print\_product\_ids()}{print\_product\_ids()}} {\footnotesize\ttfamily void BNO08x\+::print\+\_\+product\+\_\+ids (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Prints product IDs received at initialization. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_ac732c968f8d639c81f5d423aad004e95}\label{class_b_n_o08x_ac732c968f8d639c81f5d423aad004e95} \index{BNO08x@{BNO08x}!re\_enable\_reports@{re\_enable\_reports}} \index{re\_enable\_reports@{re\_enable\_reports}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{re\_enable\_reports()}{re\_enable\_reports()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::re\+\_\+enable\+\_\+reports (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Re-\/enables all reports enabled by user (called when \doxylink{class_b_n_o08x}{BNO08x} reset is detected by sh2 HAL lib). \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if enabled reports were successfuly re-\/enabled. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_ac732c968f8d639c81f5d423aad004e95_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a082c79d9951ac32ea5fa25de90255a41}\label{class_b_n_o08x_a082c79d9951ac32ea5fa25de90255a41} \index{BNO08x@{BNO08x}!register\_cb@{register\_cb}} \index{register\_cb@{register\_cb}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{register\_cb()}{register\_cb()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily bool BNO08x\+::register\+\_\+cb (\begin{DoxyParamCaption}\item[{std\+::function$<$ void(uint8\+\_\+t report\+\_\+\+ID)$>$}]{cb\+\_\+fxn }\end{DoxyParamCaption})} Registers a callback to execute when new data from a report is received, overloaded with callback param for most recent report ID. \begin{DoxyParams}{Parameters} {\em cb\+\_\+fxn} & Pointer to the call-\/back function should be of void return type with single input param of uint8\+\_\+t for most recent report ID.\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} \Hypertarget{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3}\label{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3} \index{BNO08x@{BNO08x}!register\_cb@{register\_cb}} \index{register\_cb@{register\_cb}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{register\_cb()}{register\_cb()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily bool BNO08x\+::register\+\_\+cb (\begin{DoxyParamCaption}\item[{std\+::function$<$ void(void)$>$}]{cb\+\_\+fxn }\end{DoxyParamCaption})} Registers a callback to execute when new data from a report is received. \begin{DoxyParams}{Parameters} {\em cb\+\_\+fxn} & Pointer to the call-\/back function should be of void return type void input param.\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=295pt]{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a1c703a1fb79ce777dc73a83f02bfdb85}\label{class_b_n_o08x_a1c703a1fb79ce777dc73a83f02bfdb85} \index{BNO08x@{BNO08x}!save\_dynamic\_calibration@{save\_dynamic\_calibration}} \index{save\_dynamic\_calibration@{save\_dynamic\_calibration}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{save\_dynamic\_calibration()}{save\_dynamic\_calibration()}} {\footnotesize\ttfamily bool BNO08x\+::save\+\_\+dynamic\+\_\+calibration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Saves dynamic/motion engine calibration data to \doxylink{class_b_n_o08x}{BNO08x} internal flash immediately. See ref manual 6.\+4.\+5.\+1. \begin{DoxyReturn}{Returns} True if save dynamic/\+ME calibration data succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a1c703a1fb79ce777dc73a83f02bfdb85_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=309pt]{class_b_n_o08x_a1c703a1fb79ce777dc73a83f02bfdb85_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}\label{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23} \index{BNO08x@{BNO08x}!sh2\_HAL\_service\_task@{sh2\_HAL\_service\_task}} \index{sh2\_HAL\_service\_task@{sh2\_HAL\_service\_task}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sh2\_HAL\_service\_task()}{sh2\_HAL\_service\_task()}} {\footnotesize\ttfamily void BNO08x\+::sh2\+\_\+\+HAL\+\_\+service\+\_\+task (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Task responsible for calling shtp\+\_\+service() when HINT is asserted to dispatch any sh2 HAL lib callbacks. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a888eaf810d6140e2e771c44f5857b7c1}\label{class_b_n_o08x_a888eaf810d6140e2e771c44f5857b7c1} \index{BNO08x@{BNO08x}!sh2\_HAL\_service\_task\_trampoline@{sh2\_HAL\_service\_task\_trampoline}} \index{sh2\_HAL\_service\_task\_trampoline@{sh2\_HAL\_service\_task\_trampoline}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sh2\_HAL\_service\_task\_trampoline()}{sh2\_HAL\_service\_task\_trampoline()}} {\footnotesize\ttfamily void BNO08x\+::sh2\+\_\+\+HAL\+\_\+service\+\_\+task\+\_\+trampoline (\begin{DoxyParamCaption}\item[{void \texorpdfstring{$\ast$}{*}}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} Static function used to launch sh2 HAL service task. Used such that \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} can be non-\/static class member. \begin{DoxyParams}{Parameters} {\em arg} & void pointer to \doxylink{class_b_n_o08x}{BNO08x} imu object \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a888eaf810d6140e2e771c44f5857b7c1_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a888eaf810d6140e2e771c44f5857b7c1_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a7c5774a48227e8e3346fa5df7dfa420c}\label{class_b_n_o08x_a7c5774a48227e8e3346fa5df7dfa420c} \index{BNO08x@{BNO08x}!sleep@{sleep}} \index{sleep@{sleep}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sleep()}{sleep()}} {\footnotesize\ttfamily bool BNO08x\+::sleep (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Places \doxylink{class_b_n_o08x}{BNO08x} device in sleep state by sending SLEEP (3) command on "{}device"{} channel. \begin{DoxyReturn}{Returns} True if sleep operation succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=330pt]{class_b_n_o08x_a7c5774a48227e8e3346fa5df7dfa420c_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=270pt]{class_b_n_o08x_a7c5774a48227e8e3346fa5df7dfa420c_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a973a1b1785f3302ee1b2702c6a27646e}\label{class_b_n_o08x_a973a1b1785f3302ee1b2702c6a27646e} \index{BNO08x@{BNO08x}!soft\_reset@{soft\_reset}} \index{soft\_reset@{soft\_reset}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{soft\_reset()}{soft\_reset()}} {\footnotesize\ttfamily bool BNO08x\+::soft\+\_\+reset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Soft resets \doxylink{class_b_n_o08x}{BNO08x} device by sending RESET (1) command on "{}device"{} channel. \begin{DoxyReturn}{Returns} True if soft reset operation succeeded. \end{DoxyReturn} Here is the call graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a973a1b1785f3302ee1b2702c6a27646e_cgraph} \end{center} \end{figure} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=290pt]{class_b_n_o08x_a973a1b1785f3302ee1b2702c6a27646e_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_aa8347555e37a185bef4a834b04231123}\label{class_b_n_o08x_aa8347555e37a185bef4a834b04231123} \index{BNO08x@{BNO08x}!stability\_to\_str@{stability\_to\_str}} \index{stability\_to\_str@{stability\_to\_str}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{stability\_to\_str()}{stability\_to\_str()}} {\footnotesize\ttfamily const char \texorpdfstring{$\ast$}{*} BNO08x\+::stability\+\_\+to\+\_\+str (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a498b35f9e00b24e51f8f60b029751ab5}{BNO08x\+Stability}}}]{stability }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Converts a BNO08x\+Stability enum to string. \begin{DoxyReturn}{Returns} The resulting string conversion of the enum. \end{DoxyReturn} \Hypertarget{class_b_n_o08x_a6711a624f7229f2eee51ee0a5bc87e67}\label{class_b_n_o08x_a6711a624f7229f2eee51ee0a5bc87e67} \index{BNO08x@{BNO08x}!toggle\_reset@{toggle\_reset}} \index{toggle\_reset@{toggle\_reset}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{toggle\_reset()}{toggle\_reset()}} {\footnotesize\ttfamily void BNO08x\+::toggle\+\_\+reset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Toggles reset gpio pin for hard reset of \doxylink{class_b_n_o08x}{BNO08x} device. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a6711a624f7229f2eee51ee0a5bc87e67_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a2dbce689245a1b9968e3ea627d2b9a42}\label{class_b_n_o08x_a2dbce689245a1b9968e3ea627d2b9a42} \index{BNO08x@{BNO08x}!unlock\_sh2\_HAL@{unlock\_sh2\_HAL}} \index{unlock\_sh2\_HAL@{unlock\_sh2\_HAL}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{unlock\_sh2\_HAL()}{unlock\_sh2\_HAL()}} {\footnotesize\ttfamily void BNO08x\+::unlock\+\_\+sh2\+\_\+\+HAL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Unlocks sh2 HAL lib to allow other tasks to call its APIs. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a2dbce689245a1b9968e3ea627d2b9a42_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a171b4f380b145e295a11219a8e2a961a}\label{class_b_n_o08x_a171b4f380b145e295a11219a8e2a961a} \index{BNO08x@{BNO08x}!unlock\_user\_data@{unlock\_user\_data}} \index{unlock\_user\_data@{unlock\_user\_data}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{unlock\_user\_data()}{unlock\_user\_data()}} {\footnotesize\ttfamily void BNO08x\+::unlock\+\_\+user\+\_\+data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Unlocks user data to allow other tasks to read/modify it. \begin{DoxyReturn}{Returns} void, nothing to return \end{DoxyReturn} \Hypertarget{class_b_n_o08x_a69cf0da11a71f5ea40f9fddd598d06fc}\label{class_b_n_o08x_a69cf0da11a71f5ea40f9fddd598d06fc} \index{BNO08x@{BNO08x}!wait\_for\_hint@{wait\_for\_hint}} \index{wait\_for\_hint@{wait\_for\_hint}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{wait\_for\_hint()}{wait\_for\_hint()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::wait\+\_\+for\+\_\+hint (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Waits for HINT pin assertion or HOST\+\_\+\+INT\+\_\+\+TIMEOUT\+\_\+\+DEFAULT\+\_\+\+MS to elapse. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if HINT was asserted. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a69cf0da11a71f5ea40f9fddd598d06fc_icgraph} \end{center} \end{figure} \Hypertarget{class_b_n_o08x_a6602374314c07e9f707c0a6d2234bf7e}\label{class_b_n_o08x_a6602374314c07e9f707c0a6d2234bf7e} \index{BNO08x@{BNO08x}!wait\_for\_reset@{wait\_for\_reset}} \index{wait\_for\_reset@{wait\_for\_reset}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{wait\_for\_reset()}{wait\_for\_reset()}} {\footnotesize\ttfamily esp\+\_\+err\+\_\+t BNO08x\+::wait\+\_\+for\+\_\+reset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} Waits for SH2 HAL lib to detect reset or HOST\+\_\+\+INT\+\_\+\+TIMEOUT\+\_\+\+DEFAULT\+\_\+\+MS to elapse. \begin{DoxyReturn}{Returns} ESP\+\_\+\+OK if reset was detected by SH2 HAL lib. \end{DoxyReturn} Here is the caller graph for this function\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{class_b_n_o08x_a6602374314c07e9f707c0a6d2234bf7e_icgraph} \end{center} \end{figure} \doxysubsection{Friends And Related Symbol Documentation} \Hypertarget{class_b_n_o08x_a6dd0081dc9eb0cfb019bfdca3aa31802}\label{class_b_n_o08x_a6dd0081dc9eb0cfb019bfdca3aa31802} \index{BNO08x@{BNO08x}!BNO08xSH2HAL@{BNO08xSH2HAL}} \index{BNO08xSH2HAL@{BNO08xSH2HAL}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{BNO08xSH2HAL}{BNO08xSH2HAL}} {\footnotesize\ttfamily friend class \mbox{\hyperlink{class_b_n_o08x_s_h2_h_a_l}{BNO08x\+SH2\+HAL}}\hspace{0.3cm}{\ttfamily [friend]}} \Hypertarget{class_b_n_o08x_a190775b71c35d8007faae7dd6a9f1030}\label{class_b_n_o08x_a190775b71c35d8007faae7dd6a9f1030} \index{BNO08x@{BNO08x}!BNO08xTestHelper@{BNO08xTestHelper}} \index{BNO08xTestHelper@{BNO08xTestHelper}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{BNO08xTestHelper}{BNO08xTestHelper}} {\footnotesize\ttfamily friend class \mbox{\hyperlink{class_b_n_o08x_test_helper}{BNO08x\+Test\+Helper}}\hspace{0.3cm}{\ttfamily [friend]}} \doxysubsection{Member Data Documentation} \Hypertarget{class_b_n_o08x_a982f065df42f00e53fd87c840efdb0f1}\label{class_b_n_o08x_a982f065df42f00e53fd87c840efdb0f1} \index{BNO08x@{BNO08x}!bus\_config@{bus\_config}} \index{bus\_config@{bus\_config}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{bus\_config}{bus\_config}} {\footnotesize\ttfamily spi\+\_\+bus\+\_\+config\+\_\+t BNO08x\+::bus\+\_\+config \{\}\hspace{0.3cm}{\ttfamily [private]}} SPI bus GPIO configuration settings. \Hypertarget{class_b_n_o08x_a6931b6544788f268a9441a9f9d4a5e33}\label{class_b_n_o08x_a6931b6544788f268a9441a9f9d4a5e33} \index{BNO08x@{BNO08x}!cb\_task\_hdl@{cb\_task\_hdl}} \index{cb\_task\_hdl@{cb\_task\_hdl}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{cb\_task\_hdl}{cb\_task\_hdl}} {\footnotesize\ttfamily Task\+Handle\+\_\+t BNO08x\+::cb\+\_\+task\+\_\+hdl\hspace{0.3cm}{\ttfamily [private]}} \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} task handle \Hypertarget{class_b_n_o08x_a63002547e309412846c3967c9d068ee3}\label{class_b_n_o08x_a63002547e309412846c3967c9d068ee3} \index{BNO08x@{BNO08x}!CB\_TASK\_SZ@{CB\_TASK\_SZ}} \index{CB\_TASK\_SZ@{CB\_TASK\_SZ}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{CB\_TASK\_SZ}{CB\_TASK\_SZ}} {\footnotesize\ttfamily const constexpr config\+STACK\+\_\+\+DEPTH\+\_\+\+TYPE BNO08x\+::\+CB\+\_\+\+TASK\+\_\+\+SZ\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_CB\_TASK\_SZ} \end{DoxyCode} Size of \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} stack in bytes. \Hypertarget{class_b_n_o08x_ae32ce16c51a93b9d53058bf3b6f0d94b}\label{class_b_n_o08x_ae32ce16c51a93b9d53058bf3b6f0d94b} \index{BNO08x@{BNO08x}!DATA\_AVAILABLE\_TIMEOUT\_MS@{DATA\_AVAILABLE\_TIMEOUT\_MS}} \index{DATA\_AVAILABLE\_TIMEOUT\_MS@{DATA\_AVAILABLE\_TIMEOUT\_MS}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{DATA\_AVAILABLE\_TIMEOUT\_MS}{DATA\_AVAILABLE\_TIMEOUT\_MS}} {\footnotesize\ttfamily const constexpr Tick\+Type\+\_\+t BNO08x\+::\+DATA\+\_\+\+AVAILABLE\+\_\+\+TIMEOUT\+\_\+\+MS\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_DATA\_AVAILABLE\_TIMEOUT\_MS\ /} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ portTICK\_PERIOD\_MS} \end{DoxyCode} Max wait between \doxylink{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc}{data\+\_\+available()} being called and no new data/report being detected. \Hypertarget{class_b_n_o08x_af9b6fbf35e7cd55d517d30c6429a21a4}\label{class_b_n_o08x_af9b6fbf35e7cd55d517d30c6429a21a4} \index{BNO08x@{BNO08x}!data\_proc\_task\_hdl@{data\_proc\_task\_hdl}} \index{data\_proc\_task\_hdl@{data\_proc\_task\_hdl}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{data\_proc\_task\_hdl}{data\_proc\_task\_hdl}} {\footnotesize\ttfamily Task\+Handle\+\_\+t BNO08x\+::data\+\_\+proc\+\_\+task\+\_\+hdl\hspace{0.3cm}{\ttfamily [private]}} \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} task handle \Hypertarget{class_b_n_o08x_a876ef3f899989de83ee6a9d6b218f8e1}\label{class_b_n_o08x_a876ef3f899989de83ee6a9d6b218f8e1} \index{BNO08x@{BNO08x}!DATA\_PROC\_TASK\_SZ@{DATA\_PROC\_TASK\_SZ}} \index{DATA\_PROC\_TASK\_SZ@{DATA\_PROC\_TASK\_SZ}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{DATA\_PROC\_TASK\_SZ}{DATA\_PROC\_TASK\_SZ}} {\footnotesize\ttfamily const constexpr config\+STACK\+\_\+\+DEPTH\+\_\+\+TYPE BNO08x\+::\+DATA\+\_\+\+PROC\+\_\+\+TASK\+\_\+\+SZ\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_DATA\_PROC\_TASK\_SZ} \end{DoxyCode} Size of \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} stack in bytes. \Hypertarget{class_b_n_o08x_aa07e329d693eb8d9270a7f9ad6f1d94b}\label{class_b_n_o08x_aa07e329d693eb8d9270a7f9ad6f1d94b} \index{BNO08x@{BNO08x}!HARD\_RESET\_DELAY\_MS@{HARD\_RESET\_DELAY\_MS}} \index{HARD\_RESET\_DELAY\_MS@{HARD\_RESET\_DELAY\_MS}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{HARD\_RESET\_DELAY\_MS}{HARD\_RESET\_DELAY\_MS}} {\footnotesize\ttfamily const constexpr Tick\+Type\+\_\+t BNO08x\+::\+HARD\+\_\+\+RESET\+\_\+\+DELAY\+\_\+\+MS\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_HARD\_RESET\_DELAY\_MS\ /} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ portTICK\_PERIOD\_MS} \end{DoxyCode} How long RST pin is held low during hard reset (min 10ns according to datasheet, but should be longer for stable operation) \Hypertarget{class_b_n_o08x_ae51d4e3228a91ee407d5866e604804c4}\label{class_b_n_o08x_ae51d4e3228a91ee407d5866e604804c4} \index{BNO08x@{BNO08x}!HOST\_INT\_TIMEOUT\_DEFAULT\_MS@{HOST\_INT\_TIMEOUT\_DEFAULT\_MS}} \index{HOST\_INT\_TIMEOUT\_DEFAULT\_MS@{HOST\_INT\_TIMEOUT\_DEFAULT\_MS}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{HOST\_INT\_TIMEOUT\_DEFAULT\_MS}{HOST\_INT\_TIMEOUT\_DEFAULT\_MS}} {\footnotesize\ttfamily const constexpr Tick\+Type\+\_\+t BNO08x\+::\+HOST\+\_\+\+INT\+\_\+\+TIMEOUT\+\_\+\+DEFAULT\+\_\+\+MS\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_HINT\_TIMEOUT\_MS\ /} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ portTICK\_PERIOD\_MS} \end{DoxyCode} Max wait between HINT being asserted by \doxylink{class_b_n_o08x}{BNO08x} before transaction is considered failed (in miliseconds). \Hypertarget{class_b_n_o08x_aeda443e9f608fccfec0e6770edc90c82}\label{class_b_n_o08x_aeda443e9f608fccfec0e6770edc90c82} \index{BNO08x@{BNO08x}!imu\_config@{imu\_config}} \index{imu\_config@{imu\_config}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{imu\_config}{imu\_config}} {\footnotesize\ttfamily \mbox{\hyperlink{structbno08x__config__t}{bno08x\+\_\+config\+\_\+t}} BNO08x\+::imu\+\_\+config \{\}\hspace{0.3cm}{\ttfamily [private]}} IMU configuration settings. \Hypertarget{class_b_n_o08x_a425a1f5a9f3232aadc685caaf4c2f82e}\label{class_b_n_o08x_a425a1f5a9f3232aadc685caaf4c2f82e} \index{BNO08x@{BNO08x}!imu\_spi\_config@{imu\_spi\_config}} \index{imu\_spi\_config@{imu\_spi\_config}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{imu\_spi\_config}{imu\_spi\_config}} {\footnotesize\ttfamily spi\+\_\+device\+\_\+interface\+\_\+config\+\_\+t BNO08x\+::imu\+\_\+spi\+\_\+config \{\}\hspace{0.3cm}{\ttfamily [private]}} SPI slave device settings. \Hypertarget{class_b_n_o08x_a0a2d157afc0da144536d8d6927cc63f1}\label{class_b_n_o08x_a0a2d157afc0da144536d8d6927cc63f1} \index{BNO08x@{BNO08x}!init\_status@{init\_status}} \index{init\_status@{init\_status}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{init\_status}{init\_status}} {\footnotesize\ttfamily \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__init__status__t}{BNO08x\+Private\+Types\+::bno08x\+\_\+init\+\_\+status\+\_\+t}} BNO08x\+::init\+\_\+status\hspace{0.3cm}{\ttfamily [private]}} Initialization status of various functionality, used by deconstructor during cleanup, set during initialization. \Hypertarget{class_b_n_o08x_ac8f6fc515923ffc820a7cfafc0c2830f}\label{class_b_n_o08x_ac8f6fc515923ffc820a7cfafc0c2830f} \index{BNO08x@{BNO08x}!product\_IDs@{product\_IDs}} \index{product\_IDs@{product\_IDs}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{product\_IDs}{product\_IDs}} {\footnotesize\ttfamily sh2\+\_\+\+Product\+Ids\+\_\+t BNO08x\+::product\+\_\+\+IDs\hspace{0.3cm}{\ttfamily [private]}} Product ID info returned IMU at initialization, can be viewed with \doxylink{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6}{print\+\_\+product\+\_\+ids()} \Hypertarget{class_b_n_o08x_a8b45106ee35e8d2ddc9709b7f788212e}\label{class_b_n_o08x_a8b45106ee35e8d2ddc9709b7f788212e} \index{BNO08x@{BNO08x}!queue\_cb\_report\_id@{queue\_cb\_report\_id}} \index{queue\_cb\_report\_id@{queue\_cb\_report\_id}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{queue\_cb\_report\_id}{queue\_cb\_report\_id}} {\footnotesize\ttfamily Queue\+Handle\+\_\+t BNO08x\+::queue\+\_\+cb\+\_\+report\+\_\+id\hspace{0.3cm}{\ttfamily [private]}} Queue to send report ID of most recent report to \doxylink{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7}{cb\+\_\+task()} \Hypertarget{class_b_n_o08x_aefd6d59af9f8cf73be017db55f8b2e6a}\label{class_b_n_o08x_aefd6d59af9f8cf73be017db55f8b2e6a} \index{BNO08x@{BNO08x}!queue\_rx\_sensor\_event@{queue\_rx\_sensor\_event}} \index{queue\_rx\_sensor\_event@{queue\_rx\_sensor\_event}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{queue\_rx\_sensor\_event}{queue\_rx\_sensor\_event}} {\footnotesize\ttfamily Queue\+Handle\+\_\+t BNO08x\+::queue\+\_\+rx\+\_\+sensor\+\_\+event\hspace{0.3cm}{\ttfamily [private]}} Queue to send sensor events from sh2 HAL sensor event callback (\doxylink{class_b_n_o08x_s_h2_h_a_l_a19c041ef614d7eda85b94b10202a3997}{BNO08x\+SH2\+HAL\+::sensor\+\_\+event\+\_\+cb()}) to \doxylink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\+\_\+proc\+\_\+task()} \Hypertarget{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}\label{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e} \index{BNO08x@{BNO08x}!rpt@{rpt}} \index{rpt@{rpt}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{rpt}{rpt}} {\footnotesize\ttfamily \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t}{bno08x\+\_\+reports\+\_\+t}} BNO08x\+::rpt} \Hypertarget{class_b_n_o08x_a1a037bda37493cde56732cc6fdc7884b}\label{class_b_n_o08x_a1a037bda37493cde56732cc6fdc7884b} \index{BNO08x@{BNO08x}!RX\_DATA\_LENGTH@{RX\_DATA\_LENGTH}} \index{RX\_DATA\_LENGTH@{RX\_DATA\_LENGTH}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{RX\_DATA\_LENGTH}{RX\_DATA\_LENGTH}} {\footnotesize\ttfamily const constexpr uint16\+\_\+t BNO08x\+::\+RX\+\_\+\+DATA\+\_\+\+LENGTH = 300U\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} length buffer containing data received over spi \Hypertarget{class_b_n_o08x_a031976dacd97917d9d72edccb607160c}\label{class_b_n_o08x_a031976dacd97917d9d72edccb607160c} \index{BNO08x@{BNO08x}!SCLK\_MAX\_SPEED@{SCLK\_MAX\_SPEED}} \index{SCLK\_MAX\_SPEED@{SCLK\_MAX\_SPEED}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{SCLK\_MAX\_SPEED}{SCLK\_MAX\_SPEED}} {\footnotesize\ttfamily const constexpr uint32\+\_\+t BNO08x\+::\+SCLK\+\_\+\+MAX\+\_\+\+SPEED = 3000000\+UL\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} Max SPI SCLK speed \doxylink{class_b_n_o08x}{BNO08x} is capable of. \Hypertarget{class_b_n_o08x_aa92ff86d82a097a565ed2a2b9000b571}\label{class_b_n_o08x_aa92ff86d82a097a565ed2a2b9000b571} \index{BNO08x@{BNO08x}!sem\_kill\_tasks@{sem\_kill\_tasks}} \index{sem\_kill\_tasks@{sem\_kill\_tasks}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sem\_kill\_tasks}{sem\_kill\_tasks}} {\footnotesize\ttfamily Semaphore\+Handle\+\_\+t BNO08x\+::sem\+\_\+kill\+\_\+tasks\hspace{0.3cm}{\ttfamily [private]}} Counting Semaphore to count amount of killed tasks. \Hypertarget{class_b_n_o08x_abae123678dc62f139749f13a3b6d1baa}\label{class_b_n_o08x_abae123678dc62f139749f13a3b6d1baa} \index{BNO08x@{BNO08x}!sh2\_HAL@{sh2\_HAL}} \index{sh2\_HAL@{sh2\_HAL}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sh2\_HAL}{sh2\_HAL}} {\footnotesize\ttfamily sh2\+\_\+\+Hal\+\_\+t BNO08x\+::sh2\+\_\+\+HAL\hspace{0.3cm}{\ttfamily [private]}} sh2 hardware abstraction layer struct for use with sh2 HAL lib. \Hypertarget{class_b_n_o08x_afb288b912294ac6a568c1aab8bb382f6}\label{class_b_n_o08x_afb288b912294ac6a568c1aab8bb382f6} \index{BNO08x@{BNO08x}!sh2\_HAL\_service\_task\_hdl@{sh2\_HAL\_service\_task\_hdl}} \index{sh2\_HAL\_service\_task\_hdl@{sh2\_HAL\_service\_task\_hdl}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sh2\_HAL\_service\_task\_hdl}{sh2\_HAL\_service\_task\_hdl}} {\footnotesize\ttfamily Task\+Handle\+\_\+t BNO08x\+::sh2\+\_\+\+HAL\+\_\+service\+\_\+task\+\_\+hdl\hspace{0.3cm}{\ttfamily [private]}} \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} task handle \Hypertarget{class_b_n_o08x_aac1f772772db2d5fd14d51e44649d8eb}\label{class_b_n_o08x_aac1f772772db2d5fd14d51e44649d8eb} \index{BNO08x@{BNO08x}!SH2\_HAL\_SERVICE\_TASK\_SZ@{SH2\_HAL\_SERVICE\_TASK\_SZ}} \index{SH2\_HAL\_SERVICE\_TASK\_SZ@{SH2\_HAL\_SERVICE\_TASK\_SZ}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{SH2\_HAL\_SERVICE\_TASK\_SZ}{SH2\_HAL\_SERVICE\_TASK\_SZ}} {\footnotesize\ttfamily const constexpr config\+STACK\+\_\+\+DEPTH\+\_\+\+TYPE BNO08x\+::\+SH2\+\_\+\+HAL\+\_\+\+SERVICE\+\_\+\+TASK\+\_\+\+SZ\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_SH2\_HAL\_SERVICE\_TASK\_SZ} \end{DoxyCode} Size of \doxylink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\+\_\+\+HAL\+\_\+service\+\_\+task()} stack in bytes. \Hypertarget{class_b_n_o08x_acc0ea091465fc9a5736f5e0c6a0ce8ef}\label{class_b_n_o08x_acc0ea091465fc9a5736f5e0c6a0ce8ef} \index{BNO08x@{BNO08x}!spi\_hdl@{spi\_hdl}} \index{spi\_hdl@{spi\_hdl}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{spi\_hdl}{spi\_hdl}} {\footnotesize\ttfamily spi\+\_\+device\+\_\+handle\+\_\+t BNO08x\+::spi\+\_\+hdl \{\}\hspace{0.3cm}{\ttfamily [private]}} SPI device handle. \Hypertarget{class_b_n_o08x_ac16adc5f00b0039c98a4921f13895026}\label{class_b_n_o08x_ac16adc5f00b0039c98a4921f13895026} \index{BNO08x@{BNO08x}!spi\_transaction@{spi\_transaction}} \index{spi\_transaction@{spi\_transaction}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{spi\_transaction}{spi\_transaction}} {\footnotesize\ttfamily spi\+\_\+transaction\+\_\+t BNO08x\+::spi\+\_\+transaction \{\}\hspace{0.3cm}{\ttfamily [private]}} SPI transaction handle. \Hypertarget{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}\label{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e} \index{BNO08x@{BNO08x}!sync\_ctx@{sync\_ctx}} \index{sync\_ctx@{sync\_ctx}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{sync\_ctx}{sync\_ctx}} {\footnotesize\ttfamily \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t}{BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t}} BNO08x\+::sync\+\_\+ctx\hspace{0.3cm}{\ttfamily [private]}} Holds context used to synchronize tasks and callback execution. \Hypertarget{class_b_n_o08x_a2c98d5f2c406a3efd0b48c5666fa8c46}\label{class_b_n_o08x_a2c98d5f2c406a3efd0b48c5666fa8c46} \index{BNO08x@{BNO08x}!TAG@{TAG}} \index{TAG@{TAG}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{TAG}{TAG}} {\footnotesize\ttfamily const constexpr char\texorpdfstring{$\ast$}{*} BNO08x\+::\+TAG = "{}BNO08x"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [private]}} Class tag used for serial print statements. \Hypertarget{class_b_n_o08x_a58b4949a61a784d09df3e7ecda175b39}\label{class_b_n_o08x_a58b4949a61a784d09df3e7ecda175b39} \index{BNO08x@{BNO08x}!usr\_reports@{usr\_reports}} \index{usr\_reports@{usr\_reports}!BNO08x@{BNO08x}} \doxysubsubsection{\texorpdfstring{usr\_reports}{usr\_reports}} {\footnotesize\ttfamily etl\+::map$<$uint8\+\_\+t, \mbox{\hyperlink{class_b_n_o08x_rpt}{BNO08x\+Rpt}}\texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a9808babb45af9b32fc51cef8d50341be}{TOTAL\+\_\+\+RPT\+\_\+\+COUNT}}, etl\+::less$<$uint8\+\_\+t$>$ $>$ BNO08x\+::usr\+\_\+reports\hspace{0.3cm}{\ttfamily [private]}} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item include/\mbox{\hyperlink{_b_n_o08x_8hpp}{BNO08x.\+hpp}}\item source/\mbox{\hyperlink{_b_n_o08x_8cpp}{BNO08x.\+cpp}}\end{DoxyCompactItemize}