  % Handle batch mode
  % to overcome problems with too many open files
  \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
  \pdfminorversion=7
  % Set document class depending on configuration
  \documentclass[twoside]{book}
  %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
  \usepackage{ifthen}
  \ifx\requestedLaTeXdate\undefined
    \usepackage{array}
  \else
    \usepackage{array}[=2016-10-06]
  \fi
  %%
  % Packages required by doxygen
  \makeatletter
  \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
  % suppress package identification of infwarerr as it contains the word "warning"
  \let\@@protected@wlog\protected@wlog
  \def\protected@wlog#1{\wlog{package info suppressed}}
  \RequirePackage{infwarerr}
  \let\protected@wlog\@@protected@wlog
  \makeatother
  \IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript
  \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{}
  \usepackage{doxygen}
  \usepackage{graphicx}
  \usepackage[utf8]{inputenc}
  \usepackage{makeidx}
  \PassOptionsToPackage{warn}{textcomp}
  \usepackage{textcomp}
  \usepackage[nointegrals]{wasysym}
  \usepackage{ifxetex}
  % NLS support packages
  % Define default fonts
  % Font selection
  \usepackage[T1]{fontenc}
  % set main and monospaced font
  \usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
  \doxyallsectionsfont{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \renewcommand{\DoxyLabelFont}{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
   % Arguments of doxygenemoji:
   % 1) ':<text>:' form of the emoji, already LaTeX-escaped
   % 2) file with the name of the emoji without the .png extension
   % in case image exist use this otherwise use the ':<text>:' form
   \newcommand{\doxygenemoji}[2]{%
     \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
   }
  % Page & text layout
  \usepackage{geometry}
  \geometry{%
    a4paper,%
    top=2.5cm,%
    bottom=2.5cm,%
    left=2.5cm,%
    right=2.5cm%
  }
  \usepackage{changepage}
  % Allow a bit of overflow to go unnoticed by other means
  \tolerance=750
  \hfuzz=15pt
  \hbadness=750
  \setlength{\emergencystretch}{15pt}
  \setlength{\parindent}{0cm}
  \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
  \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
  \doxynormalparskip
  % Redefine paragraph/subparagraph environments, using sectsty fonts
  \makeatletter
  \renewcommand{\paragraph}{%
    \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@parafont%
    }%
  }
  \renewcommand{\subparagraph}{%
    \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@subparafont%
    }%
  }
  \makeatother
  \makeatletter
  \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
  \makeatother
  % Headers & footers
  \usepackage{fancyhdr}
  \pagestyle{fancyplain}
  \renewcommand{\footrulewidth}{0.4pt}
  \fancypagestyle{fancyplain}{
    \fancyhf{}
    \fancyhead[LE, RO]{\bfseries\thepage}
    \fancyhead[LO]{\bfseries\rightmark}
    \fancyhead[RE]{\bfseries\leftmark}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
  }
  \fancypagestyle{plain}{
    \fancyhf{}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
    \renewcommand{\headrulewidth}{0pt}
  }
  \pagestyle{fancyplain}
  \renewcommand{\chaptermark}[1]{%
    \markboth{#1}{}%
  }
  \renewcommand{\sectionmark}[1]{%
    \markright{\thesection\ #1}%
  }
  % ToC, LoF, LoT, bibliography, and index
  % Indices & bibliography
  \usepackage{natbib}
  \usepackage[titles]{tocloft}
  \setcounter{tocdepth}{3}
  \setcounter{secnumdepth}{5}
  % creating indexes
  \makeindex
  \usepackage{newunicodechar}
  \makeatletter
    \def\doxynewunicodechar#1#2{%
    \@tempswafalse
    \edef\nuc@tempa{\detokenize{#1}}%
    \if\relax\nuc@tempa\relax
      \nuc@emptyargerr
    \else
      \edef\@tempb{\expandafter\@car\nuc@tempa\@nil}%
      \nuc@check
      \if@tempswa
        \@namedef{u8:\nuc@tempa}{#2}%
      \fi
    \fi
  }
  \makeatother
  \doxynewunicodechar{⁻}{${}^{-}$}% Superscript minus
  \doxynewunicodechar{²}{${}^{2}$}% Superscript two
  \doxynewunicodechar{³}{${}^{3}$}% Superscript three
  % Hyperlinks
    % Hyperlinks (required, but should be loaded last)
    \ifpdf
      \usepackage[pdftex,pagebackref=true]{hyperref}
    \else
      \ifxetex
        \usepackage[pagebackref=true]{hyperref}
      \else
        \usepackage[ps2pdf,pagebackref=true]{hyperref}
      \fi
    \fi
    \hypersetup{%
      colorlinks=true,%
      linkcolor=blue,%
      citecolor=blue,%
      unicode,%
      pdftitle={Make\+Block Drive Updated},%
      pdfsubject={Updated library for Make\+Block Ranger}%
    }
  % Custom commands used by the header
  % Custom commands
  \newcommand{\clearemptydoublepage}{%
    \newpage{\pagestyle{empty}\cleardoublepage}%
  }
  % caption style definition
  \usepackage{caption}
  \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
  % in page table of contents
  \IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}}
  \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
  \etocsetlevel{subsubsubsection}{4}
  \etocsetlevel{subsubsubsubsection}{5}
  \etocsetlevel{subsubsubsubsubsection}{6}
  \etocsetlevel{subsubsubsubsubsubsection}{7}
  \etocsetlevel{paragraph}{8}
  \etocsetlevel{subparagraph}{9}
  % prevent numbers overlap the titles in toc
  \renewcommand{\numberline}[1]{#1~}
% End of preamble, now comes the document contents
%===== C O N T E N T S =====
\begin{document}
  \raggedbottom
  % Titlepage & ToC
    % To avoid duplicate page anchors due to reuse of same numbers for
    % the index (be it as roman numbers)
    \hypersetup{pageanchor=false,
                bookmarksnumbered=true,
                pdfencoding=unicode
               }
  \pagenumbering{alph}
  \begin{titlepage}
  \vspace*{7cm}
  \begin{center}%
  {\Large Make\+Block Drive Updated}\\
  \vspace*{1cm}
  {\large Generated by Doxygen 1.9.8}\\
  \end{center}
  \end{titlepage}
  \clearemptydoublepage
  \pagenumbering{roman}
  \tableofcontents
  \clearemptydoublepage
  \pagenumbering{arabic}
  % re-enable anchors again
  \hypersetup{pageanchor=true}
%--- Begin generated contents ---
\input{index}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Class Documentation}
\input{struct___u_s_b___c_o_n_f_i_g___d_escript_o_r}
\input{struct___u_s_b___c_o_n_f_i_g___d_escript_o_r___l_o_n_g}
\input{struct___u_s_b___d_e_v_i_c_e___d_escript_o_r}
\input{struct___u_s_b___e_n_d_p_o_i_n_t___d_escript_o_r}
\input{struct___u_s_b___i_n_t_e_r_f___d_escript_o_r}
\input{struct_cmd__list__tab__type}
\input{struct_compass___calibration___parameter}
\input{structc_r_g_b}
\input{struct_e_e_p_r_o_m_class}
\input{struct_e_e_ptr}
\input{struct_e_e_ref}
\input{struct_encoder__port__type}
\input{structirparams__t}
\input{struct_l_e_d___matrix___clock___number___font__3x8___type_def}
\input{struct_l_e_d___matrix___font__6x8___type_def}
\input{class_m_bot_d_c_motor}
\input{class_me4_button}
\input{class_me7_segment_display}
\input{struct_me___encoder__type}
\input{class_me_bluetooth}
\input{class_me_buzzer}
\input{class_mecolor}
\input{class_me_color_sensor}
\input{class_me_compass}
\input{class_me_d_c_motor}
\input{class_me_encoder_motor}
\input{class_me_encoder_new}
\input{class_me_encoder_on_board}
\input{class_me_flame_sensor}
\input{structmegapi__dc__type}
\input{structmega_pi__slot}
\input{structmegapipro__esc__type}
\input{class_me_gas_sensor}
\input{class_me_gyro}
\input{class_me_host_parser}
\input{class_me_humiture}
\input{class_me_infrared_receiver}
\input{class_me_i_r}
\input{class_me_joystick}
\input{class_me_l_e_d_matrix}
\input{class_me_light_sensor}
\input{class_me_limit_switch}
\input{class_me_line_follower}
\input{class_me_mega_pi_d_c_motor}
\input{class_me_mega_pi_pro4_dc_motor}
\input{class_me_mega_pi_pro_e_s_c_motor}
\input{class_me_on_board_temp}
\input{class_me_one_wire}
\input{class_me_p_i_r_motion_sensor}
\input{class_me_pm25_sensor}
\input{class_me_port}
\input{struct_me_port___sig}
\input{class_me_potentiometer}
\input{class_me_pressure_sensor}
\input{class_me_p_s2}
\input{class_me_r_g_b_led}
\input{class_me_serial}
\input{class_me_shutter}
\input{class_me_smart_servo}
\input{class_me_sound_sensor}
\input{class_me_stepper}
\input{class_me_stepper_on_board}
\input{class_me_temperature}
\input{class_me_touch_sensor}
\input{class_me_ultrasonic_sensor}
\input{class_me_u_s_b_host}
\input{class_me_voice}
\input{class_me_wifi}
\input{struct_p_i_d__internal}
\input{struct_p_m25_d_a_t_a_s_t_r_u_c_t}
\input{union_p_m25_d_a_t_a_u_i_n_o}
\input{class_servo}
\input{structservo__device__type}
\input{structservo__t}
\input{struct_servo_pin__t}
\input{class_software_serial}
\input{class_s_p_i_class}
\input{class_s_p_i_settings}
\input{unionsysex__message}
\input{structsysex__message__type}
\input{class_two_wire}
\chapter{File Documentation}
\input{_me4_button_8cpp}
\input{_me4_button_8h}
\input{_me4_button_8h_source}
\input{_me7_segment_display_8cpp}
\input{_me7_segment_display_8h}
\input{_me7_segment_display_8h_source}
\input{_me_auriga_8h}
\input{_me_auriga_8h_source}
\input{_me_base_board_8h}
\input{_me_base_board_8h_source}
\input{_me_bluetooth_8cpp}
\input{_me_bluetooth_8h}
\input{_me_bluetooth_8h_source}
\input{_me_buzzer_8cpp}
\input{_me_buzzer_8h}
\input{_me_buzzer_8h_source}
\input{_me_color_sensor_8cpp}
\input{_me_color_sensor_8h}
\input{_me_color_sensor_8h_source}
\input{_me_compass_8cpp}
\input{_me_compass_8h}
\input{_me_compass_8h_source}
\input{_me_config_8h}
\input{_me_config_8h_source}
\input{_me_d_c_motor_8cpp}
\input{_me_d_c_motor_8h}
\input{_me_d_c_motor_8h_source}
\input{_me_e_e_p_r_o_m_8h}
\input{_me_e_e_p_r_o_m_8h_source}
\input{_me_encoder_motor_8cpp}
\input{_me_encoder_motor_8h}
\input{_me_encoder_motor_8h_source}
\input{_me_encoder_new_8cpp}
\input{_me_encoder_new_8h}
\input{_me_encoder_new_8h_source}
\input{_me_encoder_on_board_8cpp}
\input{_me_encoder_on_board_8h}
\input{_me_encoder_on_board_8h_source}
\input{_me_flame_sensor_8cpp}
\input{_me_flame_sensor_8h}
\input{_me_flame_sensor_8h_source}
\input{_me_gas_sensor_8cpp}
\input{_me_gas_sensor_8h}
\input{_me_gas_sensor_8h_source}
\input{_me_gyro_8cpp}
\input{_me_gyro_8h}
\input{_me_gyro_8h_source}
\input{_me_host_parser_8cpp}
\input{_me_host_parser_8h}
\input{_me_host_parser_8h_source}
\input{_me_humiture_sensor_8cpp}
\input{_me_humiture_sensor_8h}
\input{_me_humiture_sensor_8h_source}
\input{_me_infrared_receiver_8cpp}
\input{_me_infrared_receiver_8h}
\input{_me_infrared_receiver_8h_source}
\input{_me_i_r_8cpp}
\input{_me_i_r_8h}
\input{_me_i_r_8h_source}
\input{_me_joystick_8cpp}
\input{_me_joystick_8h}
\input{_me_joystick_8h_source}
\input{_me_l_e_d_matrix_8cpp}
\input{_me_l_e_d_matrix_8h}
\input{_me_l_e_d_matrix_8h_source}
\input{_me_l_e_d_matrix_data_8h}
\input{_me_l_e_d_matrix_data_8h_source}
\input{_me_light_sensor_8cpp}
\input{_me_light_sensor_8h}
\input{_me_light_sensor_8h_source}
\input{_me_limit_switch_8cpp}
\input{_me_limit_switch_8h}
\input{_me_limit_switch_8h_source}
\input{_me_line_follower_8cpp}
\input{_me_line_follower_8h}
\input{_me_line_follower_8h_source}
\input{_me_mbot_d_c_motor_8cpp}
\input{_me_mbot_d_c_motor_8h}
\input{_me_mbot_d_c_motor_8h_source}
\input{_me_m_core_8h}
\input{_me_m_core_8h_source}
\input{_me_mega_pi_8h}
\input{_me_mega_pi_8h_source}
\input{_me_mega_pi_d_c_motor_8cpp}
\input{_me_mega_pi_d_c_motor_8h}
\input{_me_mega_pi_d_c_motor_8h_source}
\input{_me_mega_pi_pro_8h}
\input{_me_mega_pi_pro_8h_source}
\input{_me_mega_pi_pro4_dc_motor_8cpp}
\input{_me_mega_pi_pro4_dc_motor_8h}
\input{_me_mega_pi_pro4_dc_motor_8h_source}
\input{_me_mega_pi_pro_e_s_c_motor_8cpp}
\input{_me_mega_pi_pro_e_s_c_motor_8h}
\input{_me_mega_pi_pro_e_s_c_motor_8h_source}
\input{_me_on_board_temp_8cpp}
\input{_me_on_board_temp_8h}
\input{_me_on_board_temp_8h_source}
\input{_me_one_wire_8cpp}
\input{_me_one_wire_8h}
\input{_me_one_wire_8h_source}
\input{_me_orion_8h}
\input{_me_orion_8h_source}
\input{_me_p_i_r_motion_sensor_8cpp}
\input{_me_p_i_r_motion_sensor_8h}
\input{_me_p_i_r_motion_sensor_8h_source}
\input{_me_pm25_sensor_8cpp}
\input{_me_pm25_sensor_8h}
\input{_me_pm25_sensor_8h_source}
\input{_me_port_8cpp}
\input{_me_port_8h}
\input{_me_port_8h_source}
\input{_me_potentiometer_8cpp}
\input{_me_potentiometer_8h}
\input{_me_potentiometer_8h_source}
\input{_me_pressure_sensor_8h_source}
\input{_me_p_s2_8cpp}
\input{_me_p_s2_8h}
\input{_me_p_s2_8h_source}
\input{_me_r_g_b_led_8cpp}
\input{_me_r_g_b_led_8h}
\input{_me_r_g_b_led_8h_source}
\input{_me_serial_8cpp}
\input{_me_serial_8h}
\input{_me_serial_8h_source}
\input{_me_shield_8h}
\input{_me_shield_8h_source}
\input{_me_shutter_8cpp}
\input{_me_shutter_8h}
\input{_me_shutter_8h_source}
\input{_me_smart_servo_8cpp}
\input{_me_smart_servo_8h}
\input{_me_smart_servo_8h_source}
\input{_me_sound_sensor_8cpp}
\input{_me_stepper_8cpp}
\input{_me_stepper_8h}
\input{_me_stepper_8h_source}
\input{_me_stepper_on_board_8cpp}
\input{_me_stepper_on_board_8h}
\input{_me_stepper_on_board_8h_source}
\input{_me_temperature_8cpp}
\input{_me_temperature_8h}
\input{_me_temperature_8h_source}
\input{_me_touch_sensor_8cpp}
\input{_me_touch_sensor_8h}
\input{_me_touch_sensor_8h_source}
\input{_me_ultrasonic_sensor_8cpp}
\input{_me_ultrasonic_sensor_8h}
\input{_me_ultrasonic_sensor_8h_source}
\input{_me_u_s_b_host_8cpp}
\input{_me_u_s_b_host_8h}
\input{_me_u_s_b_host_8h_source}
\input{_me_voice_8cpp}
\input{_me_voice_8h}
\input{_me_voice_8h_source}
\input{_me_wifi_8cpp}
\input{_me_wifi_8h}
\input{_me_wifi_8h_source}
\input{_servo_timers_8h_source}
\input{_e_e_p_r_o_m_8h_source}
\input{_servo_8h_source}
\input{_software_serial_8h_source}
\input{_s_p_i_8h_source}
\input{twi_8h_source}
\input{_wire_8h_source}
\chapter{Examples}
\input{_me4_button_test_8ino-example}
\input{_number_display_8ino-example}
\input{_number_flow_8ino-example}
\input{_time_display_8ino-example}
\input{_slave_bluetooth_by_soft_serial_test_8ino-example}
\input{_buzzer_test_8ino-example}
\input{_mbot_buzzer_test_8ino-example}
\input{_mbot_buzzer_test2_8ino-example}
\input{_me_color_sensor_test_8ino-example}
\input{_me_compass_test_8ino-example}
\input{_d_c_motor_driver_test_8ino-example}
\input{_encoder_motor_test_move_to_8ino-example}
\input{_encoder_motor_test_run_speed_8ino-example}
\input{_encoder_motor_test_run_speed_and_time_8ino-example}
\input{_encoder_motor_test_run_turns_8ino-example}
\input{_encoder_motor_change_i2_c_dev_i_d_8ino-example}
\input{_encoder_motor_test_is_tar_pos_reached_8ino-example}
\input{_me__auriga_encoder_direct_8ino-example}
\input{_me__auriga_encoder_pid_pos_8ino-example}
\input{_me__auriga_encoder_pid_speed_8ino-example}
\input{_me__auriga_encoder_pwm_8ino-example}
\input{_me__auriga_encoder_callback_8ino-example}
\input{_me__megapi_encoder_direct_8ino-example}
\input{_me__megapi_encoder_pid_pos_8ino-example}
\input{_me__megapi_encoder_pid_speed_8ino-example}
\input{_me__megapi_encoder_pwm_8ino-example}
\input{_me_flame_sensor_test_8ino-example}
\input{_me_gas_sensor_test_8ino-example}
\input{_me_gyro_test_8ino-example}
\input{_me_humiture_sensor_test1_8ino-example}
\input{_me_humiture_sensor_test2_8ino-example}
\input{_infrared_receiver_test_8ino-example}
\input{_me_joystick_test_8ino-example}
\input{_me__l_e_d_matrix_test_8ino-example}
\input{_me_light_sensor_test_reset_port_8ino-example}
\input{_me_light_sensor_test_8ino-example}
\input{_me_light_sensor_test_with_l_e_don_8ino-example}
\input{_limit_switch_test_8ino-example}
\input{_line_follower_test_8ino-example}
\input{_me_mega_pi_d_c_motor_test_8ino-example}
\input{_me_mega_pi_pro_e_s_c_motor_8ino-example}
\input{_me_on_board_temp_test_8ino-example}
\input{_p_i_r_motion_sensor_test_8ino-example}
\input{_pm25_sensor_8ino-example}
\input{_potentiometer_test_8ino-example}
\input{_me_p_s2_test_8ino-example}
\input{_color_loop_test_8ino-example}
\input{_indicators_test_8ino-example}
\input{_white_breath_light_test_8ino-example}
\input{_me_serial_receive_test_8ino-example}
\input{_me_serial_transmit_test_8ino-example}
\input{_me_shutter_test_8ino-example}
\input{_smart_servo_test_8ino-example}
\input{_sound_sensor_test_8ino-example}
\input{_mega_pi_on_board_stepper_test_8ino-example}
\input{_temperature_test_8ino-example}
\input{_touch_sensor_test_8ino-example}
\input{_ultrasonic_sensor_test_8ino-example}
\input{_test_u_s_b_hsot_8ino-example}
\input{_me_voice_test_8ino-example}
\input{_me_wifi_8ino-example}
%--- End generated contents ---
% Index
  \backmatter
  \newpage
  \phantomsection
  \clearemptydoublepage
  \addcontentsline{toc}{chapter}{\indexname}
  \printindex
% Required for some languages (in combination with latexdocumentpre from the header)
\end{document}
