\doxysection{BNO08x.\+hpp}
\hypertarget{_b_n_o08x_8hpp_source}{}\label{_b_n_o08x_8hpp_source}\index{BNO08x.hpp@{BNO08x.hpp}}
\mbox{\hyperlink{_b_n_o08x_8hpp}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ \textcolor{comment}{//\ etl\ includes}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <etl/vector.h>}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <etl/variant.h>}}
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#include\ <etl/map.h>}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ \textcolor{comment}{//\ esp-\/idf\ includes}}
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ <driver/gpio.h>}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ <driver/spi\_common.h>}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#include\ <driver/spi\_master.h>}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ <freertos/FreeRTOS.h>}}
\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#include\ <freertos/task.h>}}
\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#include\ <freertos/event\_groups.h>}}
\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#include\ <freertos/queue.h>}}
\DoxyCodeLine{00021\ \textcolor{comment}{//\ in-\/house\ includes}}
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{_b_n_o08x_global_types_8hpp}{BNO08xGlobalTypes.hpp}}"{}}}
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{_b_n_o08x_private_types_8hpp}{BNO08xPrivateTypes.hpp}}"{}}}
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{_b_n_o08x_s_h2_h_a_l_8hpp}{BNO08xSH2HAL.hpp}}"{}}}
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{_b_n_o08x_reports_8hpp}{BNO08xReports.hpp}}"{}}}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00032\ \textcolor{keyword}{class\ }\mbox{\hyperlink{class_b_n_o08x}{BNO08x}}}
\DoxyCodeLine{00033\ \{}
\DoxyCodeLine{00034\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \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{_b_n_o08x_global_types_8hpp_a648bbdbf22731476890dd8da977d7503}{bno08x\_config\_t}}());}
\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_a687eee44d68e1bcabce04780d7eb5fb9}{\string~BNO08x}}();}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_aea8e2c6dd7a2c9899479a7f39fe94798}{initialize}}();}
\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a28cd1c0b3477571d87133234e6358503}{hard\_reset}}();}
\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a973a1b1785f3302ee1b2702c6a27646e}{soft\_reset}}();}
\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_ab2a2ace42f7f438d6a799dfcbc243147}{BNO08xResetReason}}\ \mbox{\hyperlink{class_b_n_o08x_a96d47dd0f9aedfbe3f731f8ae76b2e85}{get\_reset\_reason}}();}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_aaaa15b21ad98a3b161065c3d03ff62b5}{on}}();}
\DoxyCodeLine{00044\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a7c5774a48227e8e3346fa5df7dfa420c}{sleep}}();}
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00046\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_af0dd28db9e331312e45937b12295ca94}{calibration\_start}}(uint32\_t\ period\_us);}
\DoxyCodeLine{00047\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a817ec9ad9d51a1515f658374de48f483}{calibration\_end}}(sh2\_CalStatus\_t\&\ status);}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a90ea8e811d4bea28a356290d6f5caac5}{dynamic\_calibration\_enable}}(\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aeeb4f49593c062357c3b7037bc2de850}{BNO08xCalSel}}\ sensor);}
\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a5c7498f6fa4bd43280dff1d322233b95}{dynamic\_calibration\_disable}}(\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aeeb4f49593c062357c3b7037bc2de850}{BNO08xCalSel}}\ sensor);}
\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a4e8b49abd33e6e11f23b2ae345058b9b}{dynamic\_calibration\_autosave\_enable}}();}
\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a9387728c276734da27388dbea38b6b32}{dynamic\_calibration\_autosave\_disable}}();}
\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a1c703a1fb79ce777dc73a83f02bfdb85}{save\_dynamic\_calibration}}();}
\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a84a19cd1564f8d427394f137df54477d}{clear\_dynamic\_calibration}}();}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_aee6ce74b95c1e1651cb93a60d723c16c}{get\_frs}}(uint16\_t\ frs\_ID,\ uint32\_t\ (\&data)[16],\ uint16\_t\&\ rx\_data\_sz);}
\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ sh2\_ProductIds\_t\ \mbox{\hyperlink{class_b_n_o08x_aa8fd64f60de86ff6b8562f90f3b09690}{get\_product\_IDs}}();}
\DoxyCodeLine{00058\ }
\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_a367d525d1c0ba119b3dca3067bb5bccc}{data\_available}}();}
\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3}{register\_cb}}(std::function<\textcolor{keywordtype}{void}(\textcolor{keywordtype}{void})>\ cb\_fxn);}
\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_b_n_o08x_aadd44524e6d22c48916acd9518b63ec3}{register\_cb}}(std::function<\textcolor{keywordtype}{void}(uint8\_t\ report\_ID)>\ cb\_fxn);}
\DoxyCodeLine{00062\ }
\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a7441f7f2477c152deca17054041bf3e6}{print\_product\_ids}}();}
\DoxyCodeLine{00064\ }
\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ enum\ helper\ fxns}}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{class_b_n_o08x_a0559c3f2f49d287e7c400a780975f850}{activity\_to\_str}}(\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_abcc5d57e21ea6ed79e792deafcb62187}{BNO08xActivity}}\ activity);}
\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{class_b_n_o08x_aa8347555e37a185bef4a834b04231123}{stability\_to\_str}}(\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a498b35f9e00b24e51f8f60b029751ab5}{BNO08xStability}}\ stability);}
\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{class_b_n_o08x_a41d65567bb316971f68718ca69039ace}{accuracy\_to\_str}}(\mbox{\hyperlink{_b_n_o08x_global_types_8hpp_aed7bab8e55be415938e078ebe72562a0}{BNO08xAccuracy}}\ accuracy);}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t}{bno08x\_reports\_t}}}
\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_acceleration}{BNO08xRptAcceleration}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_ab7939486c9ba7e7c70f82d2284fb6119}{accelerometer}};}
\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_linear_acceleration}{BNO08xRptLinearAcceleration}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_ac8114db28ee3f7be5578e52f48caa9c3}{linear\_accelerometer}};}
\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_gravity}{BNO08xRptGravity}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_af5245d5e4a6f7548a0c3a30af53b7355}{gravity}};}
\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_cal_magnetometer}{BNO08xRptCalMagnetometer}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a03d6194225331df5326a97ec6d45b094}{cal\_magnetometer}};}
\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_uncal_magnetometer}{BNO08xRptUncalMagnetometer}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a5774fa69fc74264d40478a729aeb5ece}{uncal\_magnetometer}};}
\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_cal_gyro}{BNO08xRptCalGyro}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_adabe838126b5bbc83fc4f69bba78123e}{cal\_gyro}};}
\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_uncal_gyro}{BNO08xRptUncalGyro}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6f1929843393c09c21b1f107a47c8fe3}{uncal\_gyro}};}
\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_r_v}{BNO08xRptRV}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aeab138f8ddfed3f4d6b855a73b7e2db5}{rv}};}
\DoxyCodeLine{00081\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_game_r_v}{BNO08xRptGameRV}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a7f33ac650137f5933ee1eab1ce936db6}{rv\_game}};}
\DoxyCodeLine{00082\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_a_r_v_r_stabilized_r_v}{BNO08xRptARVRStabilizedRV}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a027c914e51da445148dc9b2735cc5fc9}{rv\_ARVR\_stabilized}};}
\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_a_r_v_r_stabilized_game_r_v}{BNO08xRptARVRStabilizedGameRV}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_af550968d0e56f114b4afb20a5a442206}{rv\_ARVR\_stabilized\_game}};}
\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_i_gyro_r_v}{BNO08xRptIGyroRV}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6937b5d9bf8af9344a5013e1c543ab42}{rv\_gyro\_integrated}};}
\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_r_v_geomag}{BNO08xRptRVGeomag}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a7e17ff7b9763ed040158813c69614a9f}{rv\_geomagnetic}};}
\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_raw_m_e_m_s_gyro}{BNO08xRptRawMEMSGyro}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a13357e58bc926c2420ab41e4ffef4196}{raw\_gyro}};}
\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_raw_m_e_m_s_accelerometer}{BNO08xRptRawMEMSAccelerometer}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aa3a65aaf2adf05aa014b72c2d4485590}{raw\_accelerometer}};}
\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_raw_m_e_m_s_magnetometer}{BNO08xRptRawMEMSMagnetometer}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aad8698945b261c0a871f2f409897b071}{raw\_magnetometer}};}
\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_step_counter}{BNO08xRptStepCounter}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aee9528ea57ab86ef29e10de9ecfefcf7}{step\_counter}};}
\DoxyCodeLine{00090\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_activity_classifier}{BNO08xRptActivityClassifier}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6475bdab7c49091f3086537efc00c12f}{activity\_classifier}};}
\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_stability_classifier}{BNO08xRptStabilityClassifier}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a2edee4386eaea86ef3d316f5840d7a2f}{stability\_classifier}};}
\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_shake_detector}{BNO08xRptShakeDetector}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a9d7ff08c5a141c3d1ad3493423e7c49c}{shake\_detector}};}
\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_rpt_tap_detector}{BNO08xRptTapDetector}}\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a0cabee7da991a7399d607373f09548a7}{tap\_detector}};}
\DoxyCodeLine{00094\ }
\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aad0b1641e9c31927c33d0f69c174f9cb}{bno08x\_reports\_t}}(\mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t}{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}*\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_ab7939486c9ba7e7c70f82d2284fb6119}{accelerometer}}(SH2\_ACCELEROMETER,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_ACCELEROMETER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_ac8114db28ee3f7be5578e52f48caa9c3}{linear\_accelerometer}}(}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SH2\_LINEAR\_ACCELERATION,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_LINEAR\_ACCELEROMETER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00099\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_af5245d5e4a6f7548a0c3a30af53b7355}{gravity}}(SH2\_GRAVITY,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_GRAVITY\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a03d6194225331df5326a97ec6d45b094}{cal\_magnetometer}}(}
\DoxyCodeLine{00101\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SH2\_MAGNETIC\_FIELD\_CALIBRATED,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_CAL\_MAGNETOMETER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a5774fa69fc74264d40478a729aeb5ece}{uncal\_magnetometer}}(}
\DoxyCodeLine{00103\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SH2\_MAGNETIC\_FIELD\_UNCALIBRATED,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_UNCAL\_MAGNETOMETER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00104\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_adabe838126b5bbc83fc4f69bba78123e}{cal\_gyro}}(SH2\_GYROSCOPE\_CALIBRATED,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_CAL\_GYRO\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00105\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6f1929843393c09c21b1f107a47c8fe3}{uncal\_gyro}}(SH2\_GYROSCOPE\_UNCALIBRATED,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_UNCAL\_GYRO\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00106\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aeab138f8ddfed3f4d6b855a73b7e2db5}{rv}}(SH2\_ROTATION\_VECTOR,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RV\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00107\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a7f33ac650137f5933ee1eab1ce936db6}{rv\_game}}(SH2\_GAME\_ROTATION\_VECTOR,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RV\_GAME\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00108\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a027c914e51da445148dc9b2735cc5fc9}{rv\_ARVR\_stabilized}}(SH2\_ARVR\_STABILIZED\_RV,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RV\_ARVR\_S\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00109\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_af550968d0e56f114b4afb20a5a442206}{rv\_ARVR\_stabilized\_game}}(}
\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SH2\_ARVR\_STABILIZED\_GRV,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RV\_ARVR\_S\_GAME\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6937b5d9bf8af9344a5013e1c543ab42}{rv\_gyro\_integrated}}(SH2\_GYRO\_INTEGRATED\_RV,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_GYRO\_INTEGRATED\_RV\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a7e17ff7b9763ed040158813c69614a9f}{rv\_geomagnetic}}(SH2\_GEOMAGNETIC\_ROTATION\_VECTOR,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_GEOMAG\_RV\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a13357e58bc926c2420ab41e4ffef4196}{raw\_gyro}}(SH2\_RAW\_GYROSCOPE,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RAW\_GYRO\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aa3a65aaf2adf05aa014b72c2d4485590}{raw\_accelerometer}}(SH2\_RAW\_ACCELEROMETER,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RAW\_ACCELEROMETER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00115\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aad8698945b261c0a871f2f409897b071}{raw\_magnetometer}}(SH2\_RAW\_MAGNETOMETER,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_RAW\_MAGNETOMETER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00116\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aee9528ea57ab86ef29e10de9ecfefcf7}{step\_counter}}(SH2\_STEP\_COUNTER,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_STEP\_COUNTER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00117\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6475bdab7c49091f3086537efc00c12f}{activity\_classifier}}(}
\DoxyCodeLine{00118\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SH2\_PERSONAL\_ACTIVITY\_CLASSIFIER,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_ACTIVITY\_CLASSIFIER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00119\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a2edee4386eaea86ef3d316f5840d7a2f}{stability\_classifier}}(}
\DoxyCodeLine{00120\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SH2\_STABILITY\_CLASSIFIER,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_STABILITY\_CLASSIFIER\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00121\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a9d7ff08c5a141c3d1ad3493423e7c49c}{shake\_detector}}(SH2\_SHAKE\_DETECTOR,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_SHAKE\_DETECTOR\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00122\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a0cabee7da991a7399d607373f09548a7}{tap\_detector}}(SH2\_TAP\_DETECTOR,\ \mbox{\hyperlink{namespace_b_n_o08x_private_types}{BNO08xPrivateTypes}}::EVT\_GRP\_RPT\_TAP\_DETECTOR\_BIT,\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}})}
\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ \}\ \mbox{\hyperlink{class_b_n_o08x_ae08bdaff01ecacf0f399ab289fdf0b99}{bno08x\_reports\_t}};}
\DoxyCodeLine{00126\ }
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t}{bno08x\_reports\_t}}\ \mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}};}
\DoxyCodeLine{00128\ }
\DoxyCodeLine{00129\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{00130\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ data\ processing\ task}}
\DoxyCodeLine{00131\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ configSTACK\_DEPTH\_TYPE\ \mbox{\hyperlink{class_b_n_o08x_a876ef3f899989de83ee6a9d6b218f8e1}{DATA\_PROC\_TASK\_SZ}}\ =}
\DoxyCodeLine{00132\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_DATA\_PROC\_TASK\_SZ;\ }
\DoxyCodeLine{00133\ \ \ \ \ \ \ \ \ TaskHandle\_t\ \mbox{\hyperlink{class_b_n_o08x_af9b6fbf35e7cd55d517d30c6429a21a4}{data\_proc\_task\_hdl}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00134\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a0ae135d7bf7a5f047a1d1aa5cc07e520}{data\_proc\_task\_trampoline}}(\textcolor{keywordtype}{void}*\ arg);}
\DoxyCodeLine{00135\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_ab4373e9b87837ea9fcbc0b536338c7b8}{data\_proc\_task}}();}
\DoxyCodeLine{00136\ }
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ sh2\ service\ task}}
\DoxyCodeLine{00138\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ configSTACK\_DEPTH\_TYPE\ \mbox{\hyperlink{class_b_n_o08x_aac1f772772db2d5fd14d51e44649d8eb}{SH2\_HAL\_SERVICE\_TASK\_SZ}}\ =}
\DoxyCodeLine{00139\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_SH2\_HAL\_SERVICE\_TASK\_SZ;\ }
\DoxyCodeLine{00140\ \ \ \ \ \ \ \ \ TaskHandle\_t\ \mbox{\hyperlink{class_b_n_o08x_afb288b912294ac6a568c1aab8bb382f6}{sh2\_HAL\_service\_task\_hdl}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00141\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a888eaf810d6140e2e771c44f5857b7c1}{sh2\_HAL\_service\_task\_trampoline}}(\textcolor{keywordtype}{void}*\ arg);}
\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a7c7a9a0b81f9c8762fc927efea68bf23}{sh2\_HAL\_service\_task}}();}
\DoxyCodeLine{00143\ }
\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ callback\ task}}
\DoxyCodeLine{00145\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ configSTACK\_DEPTH\_TYPE\ \mbox{\hyperlink{class_b_n_o08x_a63002547e309412846c3967c9d068ee3}{CB\_TASK\_SZ}}\ =}
\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_CB\_TASK\_SZ;\ }
\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ TaskHandle\_t\ \mbox{\hyperlink{class_b_n_o08x_a6931b6544788f268a9441a9f9d4a5e33}{cb\_task\_hdl}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00148\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_addf01190119091237ad7a9a1aaea4dcc}{cb\_task\_trampoline}}(\textcolor{keywordtype}{void}*\ arg);}
\DoxyCodeLine{00149\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a5fb7f6c3e5d1b3478f529644a0f175b7}{cb\_task}}();}
\DoxyCodeLine{00150\ }
\DoxyCodeLine{00151\ \ \ \ \ \ \ \ \ SemaphoreHandle\_t\ \mbox{\hyperlink{class_b_n_o08x_aa92ff86d82a097a565ed2a2b9000b571}{sem\_kill\_tasks}};\ }
\DoxyCodeLine{00152\ }
\DoxyCodeLine{00153\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a8e43dd50140f326cfb58e00399923e8c}{lock\_sh2\_HAL}}();}
\DoxyCodeLine{00154\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a2dbce689245a1b9968e3ea627d2b9a42}{unlock\_sh2\_HAL}}();}
\DoxyCodeLine{00155\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a37e7c18232f47694d5e55bacc109189c}{lock\_user\_data}}();}
\DoxyCodeLine{00156\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a171b4f380b145e295a11219a8e2a961a}{unlock\_user\_data}}();}
\DoxyCodeLine{00157\ }
\DoxyCodeLine{00158\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a7d5250a6017f9e76e3c2ddb00d7103a1}{handle\_sensor\_report}}(sh2\_SensorValue\_t*\ sensor\_val);}
\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a86275a93706656dae6af421bc15a4e59}{handle\_cb}}(uint8\_t\ rpt\_ID,\ \mbox{\hyperlink{class_b_n_o08x_cb_generic}{BNO08xCbGeneric}}*\ cb\_entry);}
\DoxyCodeLine{00160\ }
\DoxyCodeLine{00161\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a589eb9780f5bf613bbd447ef5b9ade3d}{init\_config\_args}}();}
\DoxyCodeLine{00162\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_ae0dab25557befcf62bf384fdc241ef10}{init\_gpio}}();}
\DoxyCodeLine{00163\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a8f34d5475474f00ae6a92f73c1fe14e4}{init\_gpio\_inputs}}();}
\DoxyCodeLine{00164\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_ad0b9e8f8d051798bb1da9b19598dbd64}{init\_gpio\_outputs}}();}
\DoxyCodeLine{00165\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_aa27026da2c52b4aca49b78863f10ec61}{init\_hint\_isr}}();}
\DoxyCodeLine{00166\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a58f43c8bb1e7fe8560ce442d46240e81}{init\_spi}}();}
\DoxyCodeLine{00167\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a90d959312e6f7f8151b8a38218492ead}{init\_tasks}}();}
\DoxyCodeLine{00168\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_ae2fc9a0fe63a927c015a267621316a80}{init\_sh2\_HAL}}();}
\DoxyCodeLine{00169\ }
\DoxyCodeLine{00170\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a4f007dd431f10e741414d197bb4926c3}{deinit\_gpio}}();}
\DoxyCodeLine{00171\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a1f0f4cd8dc7d38448e2198ea47d0018c}{deinit\_gpio\_inputs}}();}
\DoxyCodeLine{00172\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_ab132a061bd437fd109225446aa1f6010}{deinit\_gpio\_outputs}}();}
\DoxyCodeLine{00173\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a9d96108b0f5b1e1e1ac431bc993ca758}{deinit\_hint\_isr}}();}
\DoxyCodeLine{00174\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a233920ce97f685fbdabecccacf471d85}{deinit\_spi}}();}
\DoxyCodeLine{00175\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a968144efd5100ccce0e453c40a63592b}{deinit\_tasks}}();}
\DoxyCodeLine{00176\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a75c7226ea4626862a5039aa053116861}{deinit\_sh2\_HAL}}();}
\DoxyCodeLine{00177\ }
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a69cf0da11a71f5ea40f9fddd598d06fc}{wait\_for\_hint}}();}
\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_a6602374314c07e9f707c0a6d2234bf7e}{wait\_for\_reset}}();}
\DoxyCodeLine{00180\ }
\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_b_n_o08x_a6711a624f7229f2eee51ee0a5bc87e67}{toggle\_reset}}();}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ esp\_err\_t\ \mbox{\hyperlink{class_b_n_o08x_ac732c968f8d639c81f5d423aad004e95}{re\_enable\_reports}}();}
\DoxyCodeLine{00184\ }
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ sh2\_Hal\_t\ \mbox{\hyperlink{class_b_n_o08x_abae123678dc62f139749f13a3b6d1baa}{sh2\_HAL}};\ }
\DoxyCodeLine{00186\ }
\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ QueueHandle\_t}
\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_aefd6d59af9f8cf73be017db55f8b2e6a}{queue\_rx\_sensor\_event}};\ }
\DoxyCodeLine{00189\ }
\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ QueueHandle\_t\ \mbox{\hyperlink{class_b_n_o08x_a8b45106ee35e8d2ddc9709b7f788212e}{queue\_cb\_report\_id}};\ }
\DoxyCodeLine{00191\ }
\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structbno08x__config__t}{bno08x\_config\_t}}\ \mbox{\hyperlink{class_b_n_o08x_aeda443e9f608fccfec0e6770edc90c82}{imu\_config}}\{\};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00193\ \ \ \ \ \ \ \ \ spi\_bus\_config\_t\ \mbox{\hyperlink{class_b_n_o08x_a982f065df42f00e53fd87c840efdb0f1}{bus\_config}}\{\};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00194\ \ \ \ \ \ \ \ \ spi\_device\_interface\_config\_t\ \mbox{\hyperlink{class_b_n_o08x_a425a1f5a9f3232aadc685caaf4c2f82e}{imu\_spi\_config}}\{\};\ }
\DoxyCodeLine{00195\ \ \ \ \ \ \ \ \ spi\_device\_handle\_t\ \mbox{\hyperlink{class_b_n_o08x_acc0ea091465fc9a5736f5e0c6a0ce8ef}{spi\_hdl}}\{\};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00196\ \ \ \ \ \ \ \ \ spi\_transaction\_t\ \mbox{\hyperlink{class_b_n_o08x_ac16adc5f00b0039c98a4921f13895026}{spi\_transaction}}\{\};\ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00197\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__init__status__t}{BNO08xPrivateTypes::bno08x\_init\_status\_t}}}
\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{class_b_n_o08x_a0a2d157afc0da144536d8d6927cc63f1}{init\_status}};\ }
\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t}{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}\ \mbox{\hyperlink{class_b_n_o08x_a22bb1bdc1153a455ec8f549d9389406e}{sync\_ctx}};\ }
\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ sh2\_ProductIds\_t\ \mbox{\hyperlink{class_b_n_o08x_ac8f6fc515923ffc820a7cfafc0c2830f}{product\_IDs}};\ }
\DoxyCodeLine{00201\ }
\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ clang-\/format\ off}}
\DoxyCodeLine{00203\ \ \ \ \ \ \ \ \ etl::map<uint8\_t,\ BNO08xRpt*,\ TOTAL\_RPT\_COUNT,\ etl::less<uint8\_t>>\ \mbox{\hyperlink{class_b_n_o08x_a58b4949a61a784d09df3e7ecda175b39}{usr\_reports}}\ =\ }
\DoxyCodeLine{00204\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00205\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_ACCELEROMETER,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_ab7939486c9ba7e7c70f82d2284fb6119}{accelerometer}}\},}
\DoxyCodeLine{00206\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_LINEAR\_ACCELERATION,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_ac8114db28ee3f7be5578e52f48caa9c3}{linear\_accelerometer}}\},\ }
\DoxyCodeLine{00207\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_GRAVITY,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_af5245d5e4a6f7548a0c3a30af53b7355}{gravity}}\},\ }
\DoxyCodeLine{00208\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_MAGNETIC\_FIELD\_CALIBRATED,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a03d6194225331df5326a97ec6d45b094}{cal\_magnetometer}}\},}
\DoxyCodeLine{00209\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_MAGNETIC\_FIELD\_UNCALIBRATED,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a5774fa69fc74264d40478a729aeb5ece}{uncal\_magnetometer}}\},\ }
\DoxyCodeLine{00210\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_GYROSCOPE\_CALIBRATED,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_adabe838126b5bbc83fc4f69bba78123e}{cal\_gyro}}\},}
\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_GYROSCOPE\_UNCALIBRATED,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6f1929843393c09c21b1f107a47c8fe3}{uncal\_gyro}}\},\ }
\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_ROTATION\_VECTOR,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aeab138f8ddfed3f4d6b855a73b7e2db5}{rv}}\},\ }
\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_GAME\_ROTATION\_VECTOR,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a7f33ac650137f5933ee1eab1ce936db6}{rv\_game}}\},}
\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_ARVR\_STABILIZED\_RV,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a027c914e51da445148dc9b2735cc5fc9}{rv\_ARVR\_stabilized}}\},\ }
\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_ARVR\_STABILIZED\_GRV,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_af550968d0e56f114b4afb20a5a442206}{rv\_ARVR\_stabilized\_game}}\},}
\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_GYRO\_INTEGRATED\_RV,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6937b5d9bf8af9344a5013e1c543ab42}{rv\_gyro\_integrated}}\},\ }
\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_GEOMAGNETIC\_ROTATION\_VECTOR,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a7e17ff7b9763ed040158813c69614a9f}{rv\_geomagnetic}}\},\ }
\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_RAW\_GYROSCOPE,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a13357e58bc926c2420ab41e4ffef4196}{raw\_gyro}}\},}
\DoxyCodeLine{00219\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_RAW\_ACCELEROMETER,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aa3a65aaf2adf05aa014b72c2d4485590}{raw\_accelerometer}}\},\ }
\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_RAW\_MAGNETOMETER,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aad8698945b261c0a871f2f409897b071}{raw\_magnetometer}}\},\ }
\DoxyCodeLine{00221\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_STEP\_COUNTER,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_aee9528ea57ab86ef29e10de9ecfefcf7}{step\_counter}}\},}
\DoxyCodeLine{00222\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_PERSONAL\_ACTIVITY\_CLASSIFIER,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a6475bdab7c49091f3086537efc00c12f}{activity\_classifier}}\},\ }
\DoxyCodeLine{00223\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_STABILITY\_CLASSIFIER,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a2edee4386eaea86ef3d316f5840d7a2f}{stability\_classifier}}\},}
\DoxyCodeLine{00224\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_SHAKE\_DETECTOR,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a9d7ff08c5a141c3d1ad3493423e7c49c}{shake\_detector}}\},\ }
\DoxyCodeLine{00225\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_TAP\_DETECTOR,\ \&\mbox{\hyperlink{class_b_n_o08x_ae1db7422ee9c2cac77382cc0a7aa430e}{rpt}}.\mbox{\hyperlink{struct_b_n_o08x_1_1bno08x__reports__t_a0cabee7da991a7399d607373f09548a7}{tap\_detector}}\},}
\DoxyCodeLine{00226\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00227\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ not\ implemented,\ see\ include/report\ for\ existing\ implementations\ to\ add\ your\ own}}
\DoxyCodeLine{00228\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_PRESSURE,\ \textcolor{keyword}{nullptr}\},\ \textcolor{comment}{//\ requires\ auxilary\ i2c\ sensor}}
\DoxyCodeLine{00229\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_AMBIENT\_LIGHT,\ \textcolor{keyword}{nullptr}\},\ \ \textcolor{comment}{//\ requires\ auxilary\ i2c\ sensor}}
\DoxyCodeLine{00230\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_HUMIDITY,\ \textcolor{keyword}{nullptr}\},\ \ \textcolor{comment}{//\ requires\ auxilary\ i2c\ sensor}}
\DoxyCodeLine{00231\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_PROXIMITY,\ \textcolor{keyword}{nullptr}\},\ \ \textcolor{comment}{//\ requires\ auxilary\ i2c\ sensor}}
\DoxyCodeLine{00232\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_TEMPERATURE,\ \textcolor{keyword}{nullptr}\},\ \ \textcolor{comment}{//\ requires\ auxilary\ i2c\ sensor}}
\DoxyCodeLine{00233\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_HEART\_RATE\_MONITOR,\ \textcolor{keyword}{nullptr}\},\ \ \textcolor{comment}{//\ requires\ auxilary\ i2c\ sensor}}
\DoxyCodeLine{00234\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_STEP\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00235\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_SIGNIFICANT\_MOTION,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00236\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_FLIP\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00237\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_PICKUP\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00238\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_STABILITY\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00239\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_SLEEP\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00240\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_TILT\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00241\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_POCKET\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00242\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_CIRCLE\_DETECTOR,\ \textcolor{keyword}{nullptr}\},}
\DoxyCodeLine{00243\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{SH2\_IZRO\_MOTION\_REQUEST,\ \textcolor{keyword}{nullptr}\}}
\DoxyCodeLine{00244\ \ \ \ \ \ \ \ \ \};}
\DoxyCodeLine{00245\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ clang-\/format\ on}}
\DoxyCodeLine{00246\ }
\DoxyCodeLine{00247\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}\ IRAM\_ATTR\ \mbox{\hyperlink{class_b_n_o08x_a804b95c58c30d36933fd251626b85bf7}{hint\_handler}}(\textcolor{keywordtype}{void}*\ arg);}
\DoxyCodeLine{00248\ }
\DoxyCodeLine{00249\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ uint16\_t\ \mbox{\hyperlink{class_b_n_o08x_a1a037bda37493cde56732cc6fdc7884b}{RX\_DATA\_LENGTH}}\ =\ 300U;\ }
\DoxyCodeLine{00250\ }
\DoxyCodeLine{00251\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ TickType\_t\ \mbox{\hyperlink{class_b_n_o08x_ae51d4e3228a91ee407d5866e604804c4}{HOST\_INT\_TIMEOUT\_DEFAULT\_MS}}\ =}
\DoxyCodeLine{00252\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_HINT\_TIMEOUT\_MS\ /}
\DoxyCodeLine{00253\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ portTICK\_PERIOD\_MS;\ }
\DoxyCodeLine{00254\ }
\DoxyCodeLine{00255\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ TickType\_t\ \mbox{\hyperlink{class_b_n_o08x_ae32ce16c51a93b9d53058bf3b6f0d94b}{DATA\_AVAILABLE\_TIMEOUT\_MS}}\ =}
\DoxyCodeLine{00256\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_DATA\_AVAILABLE\_TIMEOUT\_MS\ /}
\DoxyCodeLine{00257\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ portTICK\_PERIOD\_MS;\ }
\DoxyCodeLine{00258\ }
\DoxyCodeLine{00259\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ TickType\_t\ \mbox{\hyperlink{class_b_n_o08x_aa07e329d693eb8d9270a7f9ad6f1d94b}{HARD\_RESET\_DELAY\_MS}}\ =}
\DoxyCodeLine{00260\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ CONFIG\_ESP32\_BNO08X\_HARD\_RESET\_DELAY\_MS\ /}
\DoxyCodeLine{00261\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ portTICK\_PERIOD\_MS;\ }
\DoxyCodeLine{00262\ }
\DoxyCodeLine{00263\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ uint32\_t\ \mbox{\hyperlink{class_b_n_o08x_a031976dacd97917d9d72edccb607160c}{SCLK\_MAX\_SPEED}}\ =\ 3000000UL;\ }
\DoxyCodeLine{00264\ }
\DoxyCodeLine{00265\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keyword}{constexpr}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{class_b_n_o08x_a2c98d5f2c406a3efd0b48c5666fa8c46}{TAG}}\ =\ \textcolor{stringliteral}{"{}BNO08x"{}};\ }
\DoxyCodeLine{00266\ }
\DoxyCodeLine{00267\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\mbox{\hyperlink{class_b_n_o08x_s_h2_h_a_l}{BNO08xSH2HAL}};}
\DoxyCodeLine{00268\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\mbox{\hyperlink{class_b_n_o08x_test_helper}{BNO08xTestHelper}};}
\DoxyCodeLine{00269\ \};}

\end{DoxyCode}
