From c07b219ce6db7a07a849ee60a30f99162082f5e5 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Tue, 6 Oct 2020 23:37:24 -0300 Subject: [PATCH 01/71] :busts_in_silhouette: Add Code of Conduct --- CODE_OF_CONDUCT.md | 78 ++++++++++++++++++++++++++++++++++++++++ CODE_OF_CONDUCT.pt-br.md | 76 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CODE_OF_CONDUCT.pt-br.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..487c0bf --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,78 @@ +# Contributor Covenant Code of Conduct + +Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](CODE_OF_CONDUCT.pt-br.md). + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at comp@thunderatz.org. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq \ No newline at end of file diff --git a/CODE_OF_CONDUCT.pt-br.md b/CODE_OF_CONDUCT.pt-br.md new file mode 100644 index 0000000..79f701c --- /dev/null +++ b/CODE_OF_CONDUCT.pt-br.md @@ -0,0 +1,76 @@ +# Código de Conduta para Colaboradores + +## Nossa Promessa + +Com o interesse de fomentar uma comunidade aberta e acolhedora, nós, como +colaboradores e administradores deste projeto, comprometemo-nos a fazer a +participação neste projeto e nesta comunidade uma experiência livre de assédio +para todes, independente da idade, porte físico, deficiência, etnia, características +sexuais, identidade ou expressão de gênero, nível de experiência, educação, status +socio=econômico, nacionalidade, aparência pessoal, raça, religião, ou identidade +e orientação sexual. + +## Nossos Padrões + +Exemplos de comportamentos que contribuem a criar um ambiente positivo incluem: + +* Usar linguagem acolhedora e inclusiva +* Respeitar pontos de vista e experiências diferentes +* Aceitar crítica construtiva graciosamente +* Focar no que é melhor para a comunidade +* Mostrar empatia com outros membros da comunidade + +Exemplos de comportamentos inaceitáveis por parte dos participantes incluem: + +* Uso de linguagem ou imagens sexuais e atenção ou avanço sexual indesejada +* Comentários insultuosos e/ou depreciativos e ataques pessoais ou + políticos (Trolling) +* Assédio público ou privado +* Publicar informação pessoal de outros sem permissão explícita, como, por exemplo, + um endereço eletrônico ou residencial +* Qualquer outra forma de conduta que pode ser razoavelmente considerada + inapropriada num ambiente profissional + +## Nossas Responsibilidades + +Os administradores do projeto são responsáveis por esclarecer os padrões de +comportamento e deverão tomar ação corretiva apropriada e justa em resposta a +qualquer instância de comportamento inaceitável. + +Os administradores do projeto têm o direito e a responsabilidade de remover, editar ou +rejeitar comentários, commits, código, edições na wiki, issues ou outras formas de +contribuição que não estejam de acordo com este Código de Conduta, bem como banir +temporariamente ou permanentemente qualquer colaborador por qualquer outro +comportamento que se considere impróprio, perigoso, ofensivo ou problemático. + +## Escopo + +Este Código de Conduta aplica-se dentro dos espaços do projeto ou qualquer espaço +público onde alguém represente o mesmo ou a sua comunidade. Exemplos de +representação do projeto ou comunidade incluem usar um endereço de email oficial do +projeto, postar por uma conta de mídia social oficial, ou agir como um representante +designado num evento online ou offline. A representação de um projeto pode ser ainda +definida e esclarecida pelos administradores do projeto. + +## Aplicação + +Comportamento abusivo, de assédio ou de outros tipos podem ser comunicados +contatando a equipe do projeto em comp@thunderatz.org. Todas as queixas serão +revistas investigadas e resultarão numa resposta necessária e apropriada à +situação. A equipe é obrigada a manter a confidencialidade em relação a quem +reportou o incidente. Demais detalhes de políticas de aplicação podem ser +postadas separadamente. + +Administradores do projeto que não sigam ou não mantenham o Código de Conduta em +boa fé podem enfrentar repercussões temporárias ou permanentes determinadas por +outros membros da liderança do projeto. + +## Atribuição + +Este Código de Conduta é adaptado do [Contributor Covenant][homepage], versão 1.4, +disponível em https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +Para obter respostas a perguntas comuns sobre este código de conduta, veja +https://www.contributor-covenant.org/faq \ No newline at end of file From 0d07d5083328f7dafeeb8315d7e916acd84d4d3f Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Tue, 6 Oct 2020 23:38:45 -0300 Subject: [PATCH 02/71] :page_facing_up: Add License --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c35bc5b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 ThundeRatz Robotics Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 11e7863630a1eb78f8272dbba2f68ce322896acf Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Fri, 9 Oct 2020 22:06:52 -0300 Subject: [PATCH 03/71] :pencil: Add doxyfile and :art: css for generated doc --- Doxyfile | 348 ++++++++++++++++++++ docs/doxygen_css/custom.css | 338 ++++++++++++++++++++ docs/doxygen_css/custom_dark_theme.css | 424 +++++++++++++++++++++++++ docs/images/logo.png | Bin 0 -> 6880 bytes 4 files changed, 1110 insertions(+) create mode 100644 Doxyfile create mode 100644 docs/doxygen_css/custom.css create mode 100644 docs/doxygen_css/custom_dark_theme.css create mode 100644 docs/images/logo.png diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 0000000..a9ddd19 --- /dev/null +++ b/Doxyfile @@ -0,0 +1,348 @@ +# Doxyfile 1.8.20 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = STM32RF24 +PROJECT_NUMBER = 1.0 +PROJECT_BRIEF = "STM32 library for nRF24L01" +PROJECT_LOGO = docs/images/logo.png +OUTPUT_DIRECTORY = docs/Doxygen +CREATE_SUBDIRS = YES +ALLOW_UNICODE_NAMES = YES +OUTPUT_LANGUAGE = English +OUTPUT_TEXT_DIRECTION = None +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +JAVADOC_BANNER = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = YES +PYTHON_DOCSTRING = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +OPTIMIZE_OUTPUT_SLICE = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +TOC_INCLUDE_HEADINGS = 5 +AUTOLINK_SUPPORT = YES +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = NO +LOOKUP_CACHE_SIZE = 0 +NUM_PROC_THREADS = 1 +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_PRIV_VIRTUAL = NO +EXTRACT_PACKAGE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = YES +HIDE_COMPOUND_REFERENCE= NO +SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = NO +GENERATE_DEPRECATEDLIST= NO +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = NO +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_AS_ERROR = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = . +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c \ + *.h \ + *.md + +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = ./README.md +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = +CLANG_DATABASE_PATH = +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = docs/doxygen_css/custom.css \ + docs/doxygen_css/custom_dark_theme.css +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 254 +HTML_COLORSTYLE_SAT = 255 +HTML_COLORSTYLE_GAMMA = 130 +HTML_TIMESTAMP = NO +HTML_DYNAMIC_MENUS = YES +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +GENERATE_TREEVIEW = YES +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +HTML_FORMULA_FORMAT = png +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +FORMULA_MACROFILE = +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax@2 +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = +MAKEINDEX_CMD_NAME = makeindex +LATEX_MAKEINDEX_CMD = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO +LATEX_EMOJI_DIRECTORY = +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +RTF_SOURCE_CODE = NO +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_SUBDIR = +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +XML_NS_MEMB_FILE_SCOPE = NO +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +EXTERNAL_PAGES = YES +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +DIA_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = NO +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = NO +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_CFG_FILE = +PLANTUML_INCLUDE_PATH = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES \ No newline at end of file diff --git a/docs/doxygen_css/custom.css b/docs/doxygen_css/custom.css new file mode 100644 index 0000000..ac39ccb --- /dev/null +++ b/docs/doxygen_css/custom.css @@ -0,0 +1,338 @@ +div.fragment, pre.fragment { + margin: 0; + padding: 4px; +} + +/*********************************************/ +/** Main content **/ +/*********************************************/ +.contents { + margin: 10px auto !important; + padding: 0 10px; + max-width: 1200px; +} + +/*********************************************/ +/** Inline code **/ +/*********************************************/ +p code, +li code, +td code, +dd code { + display: inline; + padding: 0px 6px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + background-color: #CCCCCC; + border: 1px solid #333333; + + color: #333333; +} + +/*********************************************/ +/** Table of Contents (ToC) **/ +/*********************************************/ +div.toc { + margin: 0 !important; + border-radius: 4px !important; +} + +div.toc h3 { + font-size: 150%; + color: inherit; +} + +/*********************************************/ +/** Content table **/ +/*********************************************/ +.contents table.doxtable { + margin: 0 auto; +} + +/*********************************************/ +/** Field table **/ +/*********************************************/ +.fieldtable { + box-shadow: none !important; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} + +/*********************************************/ +/** Memitem and memtitle **/ +/*********************************************/ +.memitem, +.memproto, +.memdoc { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + background-image: none; +} + +/*********************************************/ +/** TOP navigation **/ +/*********************************************/ +.tablist a:hover, +.tablist li.current a { + text-shadow: none; + -moz-text-shadow: none; + -webkit-text-shadow: none; +} + +/*********************************************/ +/** H1 in textblocks **/ +/*********************************************/ +.textblock h1 { + border-bottom: 1px solid #32363d; + border-left: 3px solid #32363d; + margin: 40px 0px 10px 0px; + padding-bottom: 10px; + padding-top: 10px; + padding-left: 5px; +} + +.textblock h1:first-child { + margin-top: 10px; +} + +/*********************************************/ +/** Note, warning **/ +/*********************************************/ +dl.note, +dl.warning, +dl.todo, +dl.deprecated, +dl.reflist { + border: 0; + padding: 0px; + margin: 4px 0px 4px 0px; + border-radius: 4px; +} + +dl.note dt, +dl.warning dt, +dl.todo dt, +dl.deprecated dt, +dl.reflist dt { + margin: 0; + font-size: 14px; + padding: 2px 4px; + + border: none; + border-top-left-radius: 0px; + border-top-right-radius:0px; + + font-weight: bold; + text-transform: uppercase; + color: #FFFFFF !important; + + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + text-shadow: none; +} + +dl.note dd, +dl.warning dd, +dl.todo dd, +dl.deprecated dd, +dl.reflist dd { + margin: 0; + padding: 4px; + background: none; + + color: #222222; + + border: 1px solid; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + border-top: none; + + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + text-shadow: none; +} + +dl.reflist dd { + margin-bottom: 15px; +} + +/* Background colors */ +dl.note {} +dl.warning {} +dl.todo {} +dl.deprecated {} +dl.reflist {} + +/* Header */ +dl.note dt { + background-color: #cbc693; +} + +dl.warning dt { + background-color: #bf5f82; +} + +dl.todo dt { + background-color: #82b3c9; +} + +dl.deprecated dt { + background-color: #af8eb5; +} + +dl.reflist dt { + background-color: #cbae82; +} + +/* Content */ +dl.note dd { + background-color: #fff9c4; + border-color: #cbc693; +} + +dl.warning dd { + background-color: #f48fb1; + border-color: #bf5f82; +} + +dl.todo dd { + background-color: #b3e5fc; + border-color: #82b3c9; +} + +dl.deprecated dd { + background-color: #e1bee7; + border-color: #af8eb5; +} + +dl.reflist dd { + background-color: #ffe0b2; + border-color: #cbae82; +} + +/*********************************************/ +/** Reference list **/ +/**Similar to warning/note/todo/... messages**/ +/*********************************************/ +dl.reflist { + +} + +/*********************************************/ +/** Note, warning **/ +/*********************************************/ +#docs_list { + padding: 0 10px; +} + +#docs_list ul { + margin: 0; + padding: 0; + list-style: none; +} + +#docs_list ul li { + display: inline-block; + border-right: 1px solid #BFBFBF; +} + +#docs_list ul li:last-child { + border-right: none; +} + +#docs_list ul li a { + display: block; + padding: 8px 13px; + font-weight: bold; + font-size: 15px; +} + +#docs_list ul li a:hover, +#docs_list ul li a.docs_current { + text-decoration: underline; +} + +/*********************************************/ +/** Resizable UI **/ +/*********************************************/ +.ui-resizable-e { + width: 3px; +} + +/*********************************************/ +/** Download url **/ +/*********************************************/ +.download_url { + font-weight: bold; + font-size: 150%; + line-height: 150%; +} + +/*********************************************/ +/** Syntax folor **/ +/*********************************************/ +div.line a { + text-decoration: underline; +} + +span.lineno a { + text-decoration: none; +} + +/*********************************************/ +/** Modules/Directory table **/ +/*********************************************/ +.directory .arrow { + height: initial; +} + +.directory td.entry { + padding: 3px 6px; +} + +/*********************************************/ +/** Mem items **/ +/*********************************************/ +.memproto table td { + font-family: monospace, fixed !important; +} + +td.memItemLeft, td.memItemRight { + font-family: monospace, fixed; +} + +.paramname, .paramname em { + font-style: italic; +} + +.memdoc { + text-shadow: none; +} + +.memItem { + font-family: monospace, fixed; +} + +.memItem table { + font-family: inherit; +} + +/*********************************************/ +/** Footer **/ +/*********************************************/ +img.footer { + height: 22px; +} + +/*********************************************/ +/** Custom scrollbar **/ +/*********************************************/ + +/*********************************************/ +/** Custom scrollbar **/ +/*********************************************/ diff --git a/docs/doxygen_css/custom_dark_theme.css b/docs/doxygen_css/custom_dark_theme.css new file mode 100644 index 0000000..1815425 --- /dev/null +++ b/docs/doxygen_css/custom_dark_theme.css @@ -0,0 +1,424 @@ +/* Light background: #3 5 3 6 2 9; */ +/* New light dark background #3 2 3 6 3 d */ +/* Dark background: #d f e 5 f 2; */ + +/* TOP MENU */ +.sm-dox { + background: #dfe5f2 !important; +} + +.sm-dox a { + background: none; +} + +body { + background: #282923; + background-image: none; + color: #D8D8D8; +} + +div.fragment, pre.fragment { + border: 1px solid #000000; + background: #32363d; +} + +a, a:link, a:visited { + color: #67d8ef !important; +} + +.highlighted { + background: none !important; +} + +a.highlighted { + background: none !important; +} + +/*********************************************/ +/** Top main menu **/ +/*********************************************/ +#main-nav { + /* display: none; */ + border-bottom: 1px solid #32363d; +} + +#main-nav .sm-dox { + background: transparent !important; +} + +.sm-dox a { + text-shadow: none !important; + background: transparent !important; +} + +.sm-dox a:hover { + background: #282923 !important; +} + +.sm-dox { + text-shadow: none !important; + box-shadow: none !important; +} + +.sm-dox ul { + border: 1px solid #000000; + background: #32363d; +} + +.directory tr.even { + background: #32363d; +} + + +/*********************************************/ +/** Top search **/ +/*********************************************/ +#MSearchSelectWindow { + border: 1px solid #000000; + background: #32363d; +} + +a.selectItem { + padding: 3px; +} + +a.SelectItem:hover { + background: #282923 !important; +} + +#MSearchResultsWindow { + border: 1px solid #000000; + background: #32363d; + color: #67d8ef !important;; +} + +/*********************************************/ +/** Main menu **/ +/*********************************************/ +#nav-tree { + background: transparent; +} + +#nav-tree .selected { + background-image: none; + background: #32363d; +} + +/*********************************************/ +/** Main content **/ +/*********************************************/ + +/*********************************************/ +/** Inline code **/ +/*********************************************/ +p code, +li code, +td code, +dd code { + background-color: #000000; + border: 1px solid #A8B8D9; + + color: #D8D8D8; +} + +/*********************************************/ +/** Table of Contents (ToC) **/ +/*********************************************/ +div.toc { + background: #32363d; + border: 1px solid #000000; +} + +div.toc h3 { + font-size: 150%; + color: inherit; +} + +/*********************************************/ +/** Content table **/ +/*********************************************/ +table.doxtable tr:nth-child(even) td { + background: #32363d; +} + +div.header { + background: transparent; + border-bottom: 1px solid #32363d; +} + +/*********************************************/ +/** Field table **/ +/*********************************************/ +.fieldtable th { + background: #282923; + color: inherit; +} + +/*********************************************/ +/** Memitem and memtitle **/ +/*********************************************/ +.memdoc { + border: 1px solid #A8B8D9; +} + +/*********************************************/ +/** TOP navigation **/ +/*********************************************/ +.tabs, .tabs2, .tabs3 { + background: #DDDDDD; +} + +.tablist li { + background: transparent !important; +} + +.tablist a { + background-image: none; + border-right: 1px solid #999999; + + color: #32363d; +} + +.tablist a:hover, +.tablist li.current a { + text-decoration: none; + color: #000000; + background: #CCCCCC; + background-image: none; +} + +/*********************************************/ +/** H1 in textblocks **/ +/*********************************************/ + +/*********************************************/ +/** Note, warning **/ +/*********************************************/ + +/*********************************************/ +/** Reference list **/ +/**Similar to warning/note/todo/... messages**/ +/*********************************************/ +dl.reflist { + +} + + +/*********************************************/ +/** Note, warning **/ +/*********************************************/ +#docs_list { + background: #32363d; +} + +#docs_list ul li { + border-right: 1px solid #BFBFBF; +} + +#docs_list ul li a { + color: #1b1e21; +} + +#docs_list ul li a:hover, +#docs_list ul li a.docs_current { + background: #282923; +} + +/*********************************************/ +/** Resizable UI **/ +/*********************************************/ +.ui-resizable-e { + background: #32363d; +} + +/*********************************************/ +/** Download url **/ +/*********************************************/ + +/*********************************************/ +/** Syntax folor **/ +/*********************************************/ +div.line { + background: transparent; + color: #d7d7d7; +} + +div.line a { + color: inherit; +} + +span.keyword { + color: #f92472; + font-style: italic; +} + +span.keywordtype { + color: #67cfc1; + font-style: italic; +} + +span.keywordflow { + color: #f92472; + font-style: italic; +} + +span.comment { + color: #74705a; +} + +span.preprocessor { + color: #a6e22b; +} + +span.stringliteral { + color: #e7db74; +} + +span.charliteral { + color: #e7db74; +} + +span.vhdldigit { + color: #ff00ff; +} + +span.vhdlchar { + color: #000000; +} + +span.vhdlkeyword { + color: #700070; +} + +span.vhdllogic { + color: #ff0000; +} + +span.lineno { + background: transparent; +} + +span.lineno a { + background: transparent; +} + +/*********************************************/ +/** Modules/Directory table **/ +/*********************************************/ +.mdescLeft, .mdescRight, .memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background: #32363d; + color: inherit; +} + +.memtemplate { + color: #B4CCF9; +} + +.memSeparator { + border: none; + background: transparent; +} + +h2.groupheader { + color: #67d8ef; +} + +/*********************************************/ +/** Mem items **/ +/*********************************************/ +.memtitle { + background: #32363d !important; + border-color: #000000; +} + +.memitem { + background: #32363d !important; + color: inherit; + text-shadow: none; +} + +.memproto { + background: inherit; + border-color: #000000; + color: inherit; + text-shadow: none; +} + +.memproto table td { + font-family: monospace, fixed !important; +} + +td.memItemLeft, td.memItemRight { + font-family: monospace, fixed; +} + +.paramname, .paramname em { + color: #bf5f82; +} + +.memdoc { + background: inherit; + border-color: #000000; +} + + +/*********************************************/ +/** Footer **/ +/*********************************************/ +.titlearea { + border-bottom: 1px solid #32363d; +} + +/*********************************************/ +/** Footer **/ +/*********************************************/ +#nav-path { + background: transparent; +} + +#nav-path ul { + background: transparent; + color: inherit; + border: none; + border-top: 1px solid #32363d; +} + +.navpath li.footer { + color: inherit; +} + +.navpath li.navelem a { + text-shadow: none; +} + +/*********************************************/ +/** Custom scrollbar **/ +/*********************************************/ +::-webkit-scrollbar { + width: 10px; +} + +/* Track */ +::-webkit-scrollbar-track { + border-radius: 10px; +} + +/* Handle */ +::-webkit-scrollbar-thumb { + background: #234567; + border: none; +} + +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: #32363d; +} + +/*********************************************/ +/** Custom scrollbar **/ +/*********************************************/ +h1.glow, h2.glow, h3.glow, +h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px #67d8ef; +} \ No newline at end of file diff --git a/docs/images/logo.png b/docs/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..74d4e388bf23dc8263600a88051671b2e026a65a GIT binary patch literal 6880 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 Mc?~(Zj78-C0AouuPXGV_ literal 0 HcmV?d00001 From f0a1349117d5221787c263f2bb0f12ee3eac25b7 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Fri, 9 Oct 2020 22:07:17 -0300 Subject: [PATCH 04/71] :see_no_evil: Add .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e2a5968 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +Doxygen/ \ No newline at end of file From 9b13a701618d7ac1d6279d9e2b5199240e29d1bc Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Fri, 9 Oct 2020 22:49:56 -0300 Subject: [PATCH 05/71] :memo: Update README --- README.md | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 49f56ad..7fa6aa9 100644 --- a/README.md +++ b/README.md @@ -1 +1,133 @@ -# STM32RF24 \ No newline at end of file +[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) +[![forthebadge](https://forthebadge.com/images/badges/powered-by-coders-sweat.svg)](https://forthebadge.com) + + +# 📡 STM32RF24 + +## 📜 Índice + +- [🎉 Introdução](#-introdução) +- [➕ Requisitos](#-requisitos) +- [📦 Submódulos com Git](#-submódulos-com-git) + - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) + - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) +- [📁 Estrutura do Repositório](#-estrutura-do-repositório) +- [📝 Documentação](#-documentação) +- [🏗️ Estrutura do Código](#-estrutura-do-código) +- [🔌 Configuração de Hardware](#-configuração-de-hardware) +- [📚 Usando a biblioteca](#-usando-a-biblioteca) +- [📝 Contribuindo](#-contribuindo) +- [✨ Contribuidores](#-contribuidores) + +## 🎉 Introdução + +Esse repositório contém uma biblioteca para lidar com o módulo de rádiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). + +Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). + + +## ➕ Requisitos + +Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). + +Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: + +```bash +sudo apt install doxygen +``` + +Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). + + +## 📦 Submódulos com Git + +Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. + +### 💥 Adicionando um submódulo + +Crie um diretório chamado `lib`, caso não exista: + +```bash +mkdir lib +``` + +E adicione o submódulo fazendo: + +* Com HTTPS: +```bash +git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +* Com SSH: +```bash +git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +### ✅ Inicializando um submódulo já existente + +Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. + +Exemplo: + +Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: + +```bash +git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git +``` + +Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: + +```bash +git submodule update --init +``` + + +## 📁 Estrutura do Repositório + +O repositório contém as seguintes pastas: + +- **docs/** → Arquivos de documentação +- **inc/** → Arquivos de cabeçalho +- **src/** → Arquivos de código fonte + +Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licensa, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. + + +## 📝 Documentação + +Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: + +```bash +doxygen +``` + +As configurações estão no arquivo [Doxyfile](./Doxyfile). + + +## 🏗️ Estrutura do Código + +O código está estruturado da seguinte forma: + +- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. +- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. +- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. +- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. + + +## 🔌 Configuração de Hardware + + +## 📚 Usando a biblioteca + + +## 📝 Contribuindo + +Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). + +## ✨ Contribuidores + + + +--------------------- + +Equipe ThundeRatz de Robótica From bc79a2be35c60c216a2031c9f1d6239dca1466d1 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Fri, 9 Oct 2020 22:52:31 -0300 Subject: [PATCH 06/71] :art: Update badges --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7fa6aa9..1ff9fd8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/powered-by-coders-sweat.svg)](https://forthebadge.com) +[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) # 📡 STM32RF24 From abff2c0137d37b78edf613949589609adbcfdb06 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Fri, 9 Oct 2020 23:40:47 -0300 Subject: [PATCH 07/71] :busts_in_silhouette: Add contributors --- .all-contributorsrc | 57 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 23 ++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000..064ee35 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,57 @@ +{ + "projectName": "STM32RF24", + "projectOwner": "ThundeRatz", + "repoType": "github", + "repoHost": "https://github.com", + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": true, + "commitConvention": "gitmoji", + "contributors": [ + { + "login": "LucasHaug", + "name": "Lucas Haug", + "avatar_url": "https://avatars3.githubusercontent.com/u/39196309?v=4", + "profile": "https://github.com/LucasHaug", + "contributions": [ + "code", + "doc", + "test", + "translation" + ] + }, + { + "login": "lucastrschneider", + "name": "Lucas Schneider", + "avatar_url": "https://avatars0.githubusercontent.com/u/50970346?v=4", + "profile": "https://github.com/lucastrschneider", + "contributions": [ + "code", + "doc", + "test", + "translation" + ] + }, + { + "login": "d-nery", + "name": "Daniel Nery", + "avatar_url": "https://avatars2.githubusercontent.com/u/12468184?v=4", + "profile": "https://github.com/d-nery", + "contributions": [ + "code" + ] + }, + { + "login": "FelipeGdM", + "name": "Felipe Gomes de Melo", + "avatar_url": "https://avatars3.githubusercontent.com/u/1054087?v=4", + "profile": "https://github.com/FelipeGdM", + "contributions": [ + "ideas" + ] + } + ], + "contributorsPerLine": 7 +} diff --git a/README.md b/README.md index 1ff9fd8..f83b163 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ [![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) + +[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-) + + # 📡 STM32RF24 @@ -126,7 +130,26 @@ Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos ## ✨ Contribuidores +Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + +

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Daniel Nery

💻

Felipe Gomes de Melo

🤔
+ + + + + +Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! --------------------- From 96911130764c18c3f75a983ffe3b2c1b4c89aa85 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 9 Oct 2020 23:57:09 -0300 Subject: [PATCH 08/71] :busts_in_silhouette: Add @Berbardo as a contributor --- .all-contributorsrc | 9 ++ README.md | 281 ++++++++++++++++++++++---------------------- 2 files changed, 150 insertions(+), 140 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 064ee35..081eb5f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -51,6 +51,15 @@ "contributions": [ "ideas" ] + }, + { + "login": "Berbardo", + "name": "Bernardo Coutinho", + "avatar_url": "https://avatars0.githubusercontent.com/u/48636340?v=4", + "profile": "https://github.com/Berbardo", + "contributions": [ + "test" + ] } ], "contributorsPerLine": 7 diff --git a/README.md b/README.md index f83b163..7349e53 100644 --- a/README.md +++ b/README.md @@ -1,137 +1,137 @@ -[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) - +[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) +[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) + -[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-) - - - -# 📡 STM32RF24 - -## 📜 Índice - -- [🎉 Introdução](#-introdução) -- [➕ Requisitos](#-requisitos) -- [📦 Submódulos com Git](#-submódulos-com-git) - - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) - - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) -- [📁 Estrutura do Repositório](#-estrutura-do-repositório) -- [📝 Documentação](#-documentação) -- [🏗️ Estrutura do Código](#-estrutura-do-código) -- [🔌 Configuração de Hardware](#-configuração-de-hardware) -- [📚 Usando a biblioteca](#-usando-a-biblioteca) -- [📝 Contribuindo](#-contribuindo) -- [✨ Contribuidores](#-contribuidores) - -## 🎉 Introdução - -Esse repositório contém uma biblioteca para lidar com o módulo de rádiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). - -Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). - - -## ➕ Requisitos - -Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). - -Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: - -```bash -sudo apt install doxygen -``` - -Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). - - -## 📦 Submódulos com Git - -Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. - -### 💥 Adicionando um submódulo - -Crie um diretório chamado `lib`, caso não exista: - -```bash -mkdir lib -``` - -E adicione o submódulo fazendo: - -* Com HTTPS: -```bash -git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 -``` - -* Com SSH: -```bash -git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 -``` - -### ✅ Inicializando um submódulo já existente - -Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. - -Exemplo: - -Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: - -```bash -git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git -``` - -Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: - -```bash -git submodule update --init -``` - - -## 📁 Estrutura do Repositório - -O repositório contém as seguintes pastas: - -- **docs/** → Arquivos de documentação -- **inc/** → Arquivos de cabeçalho -- **src/** → Arquivos de código fonte - -Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licensa, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. - - -## 📝 Documentação - -Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: - -```bash -doxygen -``` - -As configurações estão no arquivo [Doxyfile](./Doxyfile). - - -## 🏗️ Estrutura do Código - -O código está estruturado da seguinte forma: - -- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. -- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. -- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. -- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. - - -## 🔌 Configuração de Hardware - - -## 📚 Usando a biblioteca - - -## 📝 Contribuindo - -Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). - -## ✨ Contribuidores - -Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - +[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) + + + +# 📡 STM32RF24 + +## 📜 Índice + +- [🎉 Introdução](#-introdução) +- [➕ Requisitos](#-requisitos) +- [📦 Submódulos com Git](#-submódulos-com-git) + - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) + - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) +- [📁 Estrutura do Repositório](#-estrutura-do-repositório) +- [📝 Documentação](#-documentação) +- [🏗️ Estrutura do Código](#-estrutura-do-código) +- [🔌 Configuração de Hardware](#-configuração-de-hardware) +- [📚 Usando a biblioteca](#-usando-a-biblioteca) +- [📝 Contribuindo](#-contribuindo) +- [✨ Contribuidores](#-contribuidores) + +## 🎉 Introdução + +Esse repositório contém uma biblioteca para lidar com o módulo de rádiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). + +Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). + + +## ➕ Requisitos + +Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). + +Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: + +```bash +sudo apt install doxygen +``` + +Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). + + +## 📦 Submódulos com Git + +Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. + +### 💥 Adicionando um submódulo + +Crie um diretório chamado `lib`, caso não exista: + +```bash +mkdir lib +``` + +E adicione o submódulo fazendo: + +* Com HTTPS: +```bash +git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +* Com SSH: +```bash +git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +### ✅ Inicializando um submódulo já existente + +Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. + +Exemplo: + +Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: + +```bash +git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git +``` + +Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: + +```bash +git submodule update --init +``` + + +## 📁 Estrutura do Repositório + +O repositório contém as seguintes pastas: + +- **docs/** → Arquivos de documentação +- **inc/** → Arquivos de cabeçalho +- **src/** → Arquivos de código fonte + +Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licensa, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. + + +## 📝 Documentação + +Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: + +```bash +doxygen +``` + +As configurações estão no arquivo [Doxyfile](./Doxyfile). + + +## 🏗️ Estrutura do Código + +O código está estruturado da seguinte forma: + +- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. +- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. +- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. +- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. + + +## 🔌 Configuração de Hardware + + +## 📚 Usando a biblioteca + + +## 📝 Contribuindo + +Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). + +## ✨ Contribuidores + +Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + @@ -141,16 +141,17 @@ Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.
Lucas Schneider

💻 📖 ⚠️ 🌍
Daniel Nery

💻
Felipe Gomes de Melo

🤔 +
Bernardo Coutinho

⚠️ - - -Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! - ---------------------- - -Equipe ThundeRatz de Robótica + + +Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! + +--------------------- + +Equipe ThundeRatz de Robótica From 4ca7043d54ec606a8665e64401dc03d1c66768d0 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Sun, 18 Oct 2020 00:58:57 -0300 Subject: [PATCH 09/71] :see_no_evil: Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e2a5968..40e6009 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -Doxygen/ \ No newline at end of file +docs/Doxygen/ \ No newline at end of file From f469e49fbc916f74032226c716b59ff0ee9ebd1d Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Sun, 18 Oct 2020 00:59:48 -0300 Subject: [PATCH 10/71] :truck: Create assets folder and move files --- Doxyfile | 8 ++++---- {docs/doxygen_css => assets/css/doxygen}/custom.css | 0 .../css/doxygen}/custom_dark_theme.css | 0 {docs/images => assets/img}/logo.png | Bin 4 files changed, 4 insertions(+), 4 deletions(-) rename {docs/doxygen_css => assets/css/doxygen}/custom.css (100%) rename {docs/doxygen_css => assets/css/doxygen}/custom_dark_theme.css (100%) rename {docs/images => assets/img}/logo.png (100%) diff --git a/Doxyfile b/Doxyfile index a9ddd19..0d6d22a 100644 --- a/Doxyfile +++ b/Doxyfile @@ -7,7 +7,7 @@ DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = STM32RF24 PROJECT_NUMBER = 1.0 PROJECT_BRIEF = "STM32 library for nRF24L01" -PROJECT_LOGO = docs/images/logo.png +PROJECT_LOGO = assets/img/logo.png OUTPUT_DIRECTORY = docs/Doxygen CREATE_SUBDIRS = YES ALLOW_UNICODE_NAMES = YES @@ -167,8 +167,8 @@ HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = -HTML_EXTRA_STYLESHEET = docs/doxygen_css/custom.css \ - docs/doxygen_css/custom_dark_theme.css +HTML_EXTRA_STYLESHEET = assets/css/doxygen/custom.css \ + assets/css/doxygen/custom_dark_theme.css HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 254 HTML_COLORSTYLE_SAT = 255 @@ -318,7 +318,7 @@ HAVE_DOT = YES DOT_NUM_THREADS = 0 DOT_FONTNAME = Helvetica DOT_FONTSIZE = 10 -DOT_FONTPATH = +DOT_FONTPATH = CLASS_GRAPH = NO COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES diff --git a/docs/doxygen_css/custom.css b/assets/css/doxygen/custom.css similarity index 100% rename from docs/doxygen_css/custom.css rename to assets/css/doxygen/custom.css diff --git a/docs/doxygen_css/custom_dark_theme.css b/assets/css/doxygen/custom_dark_theme.css similarity index 100% rename from docs/doxygen_css/custom_dark_theme.css rename to assets/css/doxygen/custom_dark_theme.css diff --git a/docs/images/logo.png b/assets/img/logo.png similarity index 100% rename from docs/images/logo.png rename to assets/img/logo.png From e24b68c84070106756c5a6187ce97e65a40e2ae0 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Sun, 18 Oct 2020 01:53:40 -0300 Subject: [PATCH 11/71] :pencil: Update hw config in README --- README.md | 52 +++++++++++++++++++++------------ assets/img/nrf24l01_pinout.png | Bin 0 -> 35835 bytes 2 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 assets/img/nrf24l01_pinout.png diff --git a/README.md b/README.md index 7349e53..1ef43c3 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ [![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) - -[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) + +[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) @@ -19,6 +19,8 @@ - [📝 Documentação](#-documentação) - [🏗️ Estrutura do Código](#-estrutura-do-código) - [🔌 Configuração de Hardware](#-configuração-de-hardware) + - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) + - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) - [📚 Usando a biblioteca](#-usando-a-biblioteca) - [📝 Contribuindo](#-contribuindo) - [✨ Contribuidores](#-contribuidores) @@ -120,6 +122,20 @@ O código está estruturado da seguinte forma: ## 🔌 Configuração de Hardware +### 🤔 Conhecendo o módulo + +Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: + +![nRF24L01 Pinout](./assets/img/nrf24l01_pinout.png) + +O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. + +Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a trasição entre os estados da máquina de estados do módulo. + +O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. + +### 🔧 Configurando o microcontrolador + ## 📚 Usando a biblioteca @@ -132,22 +148,22 @@ Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - -

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Daniel Nery

💻

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️
- - - - + + + + + + + + + + + +

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Daniel Nery

💻

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️
+ + + + Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! diff --git a/assets/img/nrf24l01_pinout.png b/assets/img/nrf24l01_pinout.png new file mode 100644 index 0000000000000000000000000000000000000000..44bd99c2c2a53ae02e59403b2c957e4b5f653517 GIT binary patch literal 35835 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 C7PEH% literal 0 HcmV?d00001 From 96f43ebe8706d687a38632e971f6664b2cffcca0 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Sun, 18 Oct 2020 19:45:53 -0300 Subject: [PATCH 12/71] :camera: Add hw config images --- README.md | 14 +++++++++++++- assets/img/ce_config.jpg | Bin 0 -> 168761 bytes assets/img/irq_config_1.jpg | Bin 0 -> 164513 bytes assets/img/irq_config_2.jpg | Bin 0 -> 233787 bytes assets/img/spi_config_1.jpg | Bin 0 -> 151126 bytes assets/img/spi_config_2.jpg | Bin 0 -> 181290 bytes assets/img/spi_config_3.jpg | Bin 0 -> 228612 bytes 7 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 assets/img/ce_config.jpg create mode 100644 assets/img/irq_config_1.jpg create mode 100644 assets/img/irq_config_2.jpg create mode 100644 assets/img/spi_config_1.jpg create mode 100644 assets/img/spi_config_2.jpg create mode 100644 assets/img/spi_config_3.jpg diff --git a/README.md b/README.md index 1ef43c3..4c64732 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ O código está estruturado da seguinte forma: Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: -![nRF24L01 Pinout](./assets/img/nrf24l01_pinout.png) +![Pinagem do nRF24L01](./assets/img/nrf24l01_pinout.png) O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. @@ -136,6 +136,18 @@ O módulo também conta com um pino IRQ (Interruption Request), possibilitando o ### 🔧 Configurando o microcontrolador +![Configurando o SPI - 1](./assets/img/spi_config_1.jpg) + +![Configurando o SPI - 2](./assets/img/spi_config_2.jpg) + +![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) + +![Configurando o CE](./assets/img/ce_config.jpg) + +![Configurando o IRQ - 1](./assets/img/irq_config_1.jpg) + +![Configurando o IRQ - 2](./assets/img/irq_config_2.jpg) + ## 📚 Usando a biblioteca diff --git a/assets/img/ce_config.jpg b/assets/img/ce_config.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4dc565dcbacf29a1d3af514a21d8237478ca1a3d GIT binary patch literal 168761 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 BJ^z)p}nYxAxOW52)b;|bSK8o0< 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 b;Nm6UGjq%Nba*rZKtjZqYw#S0eINR7aCco6 literal 0 HcmV?d00001 diff --git a/assets/img/irq_config_1.jpg b/assets/img/irq_config_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3eaaa8cd234c59e339d843deee34854277d2fa06 GIT binary patch literal 164513 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

&aMSh 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

Iomw>-8g&)%hfXi+v=n5o%#S9t&t4otILwF| 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 YlJvB!L|jcC^nq{~Wz>HT|83|$06&oXq5uE@ literal 0 HcmV?d00001 diff --git a/assets/img/irq_config_2.jpg b/assets/img/irq_config_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ae6b5e7b22e33237bdbd192ddd05336206a6494 GIT binary patch literal 233787 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

L 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 z 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

MJw3VW4! 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 z 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 z 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%0D#gTpH^a2W%yjsG&^}BAHh3_ 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 literal 0 HcmV?d00001 diff --git a/assets/img/spi_config_2.jpg b/assets/img/spi_config_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9877c739c221dcde02373008d20babe6cd51dd2a GIT binary patch literal 181290 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

CxC>w~O-&i4ycQ~vSbcErDU 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

1E zIiAu<0K7){1z@+-f9wW3;fcr7i~ap*xzK%`3uetZ!g`ndgf>8beAMgLN422~PS&6U zAdler^`3p0PNEe!6ftn9a6m(t4nENygPm}u_}%-*Uckw)4+}Q}XsOXHY)e+gi5YMS zrNF@1TT^vXaNz+F=!ymqWGtr;xj!CLE~dxR;eixJ61tzA3w(1m5uC{=bS)bH45%;S zm9vPQ0KVJ;Y{A|d{Kr`s{5t+9v~^|__HR3VrkqK!6?G(DoCBuyuLGF^S5yRvH8jw} zp@AzL8T{*GK8uFSp#cu*4m-*uGZG zY4$)c#-dMEs3 zmXwg~fZ+G~R#kG{{UM%@;Tzl6KhE?PDuD&=UW-T@BExM~9ZK_9$1L&^J8xQvmCcjiO z0Nq7+4>+_L1SMZdv>mwfH9~5fI>_=lhs3k^K+fihVo#jnGm)^`|BDK_`O`KS_awO3 zn;As_!j$|mzMSJ_*?9JRT+(nMO?^wXN^v4d+v&9f`%i+TmwqVwAB60_yu~Q@zI$(qeFaEpb)(MO=;*;=NlNQ#RoRacQ|;3il*1dw~CKYV5ofc(MVnc&D$^9nbgW!a_ZD}CO;;4HKkiWcw5^F0pWBJX$iCsJ^XU|sz-wMF-kD!{xErnLOHIipvZ z^zEqc7tD(qg0)ZSAGxY*Z}ib*4(YxL)Jk;^uV0BX$QDQ1Ib^5T-)N#g${x&Bo#b~7 zF^`*6FlGKY%O08OVmg)Z_Qf07W%q)rArGmdUH;uY+NYJ{_PaR;0w%qh>`K!zS8Am$ zzJtfZn|Z&Kd}*0Tdo9WHtO~JFvx?tpuye1=cnWmVDE;Ro<^Lsq|Jz#e|54)i&)4{$ z|E2=g%Rpc;QqNPW;cCu zEF5y={}9fU`KIuBF@aRH93)XEB3sMNSRW?~yygfr1R7Rmd-GRW83O9CHDEp6Ia7qr z)chpKsu4YY?*sblRt(U)k>A6x#Vc(tt-wY|-q+TG?u*D({h>E~*DAt22&gkHl`T2% ze`So*)xAk=6F@>g9d;Vl z{P?_7(m2~=3y3l*{HngrNDXFyJJpCptzX2E&?qg}M=8xcxNah@Og$1iE>s>PbGtbb zTeQ^Ee8WS)&Jz9vKh^Br$09b^QGB^x&Dq_ZBJ08mVw$!;jqI-OExD_OGQ`UAwU4A+ zaYJ7KYw-ybWIG#Z-z?g7?um8yNuVi3)0~GYX^*C>X}8rN#tyZnCGcY?AeHoOf|Q$m*_$R{)NIZdOm0QooSGI3>Pgu4 z)?JFTLeJM(%_9wDY5kv1#DD*I2@qkq7U1bmKy2yI?p#LTf_{T;@byH=T?^Yf{;+KB z&cZ9iLOKVf^I%j}vWV|w1!)V{xt&zmKGoowt8qDJemW6CCnhc)*c(Gt(K>3WNUnJw z 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 Q9QtRSe+zTm^{wy!0Q#p&{{R30 literal 0 HcmV?d00001 diff --git a/assets/img/spi_config_3.jpg b/assets/img/spi_config_3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..75d2d447d5ba539c46e35e4b8d946004a6cbbec1 GIT binary patch literal 228612 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 z zRJPv2cQ?P?2ZfSp5zXD6x0UZtkGP1(l!biYfbWk!9%!|Ea`TGKBj4e&1MQQIu^GaE zRBK=w0@*|he`FLGXGrsN+7uCmq;9Z+{@nW5e)!&Ng+g8I>C*t4Cv25hiEUxjc+C?r zye5{%uS{jgMdNV;ZCwt@XwdSA&_>*bo2a70jd&Yo_Ar5Yhaa&sZC76)t#E0CaDE^$ zeG|EpTvDTiX0>WDg$(U!JU;L{(fyQT_`}NO!ol;uTZ{*FW{XcWpPVKm7hdB5mR4l; z0Gx5?uea5a;k9wk<|Am0PBYil`h_zCHR}ePkvI*D+ET%ny$cihp~Z@nLxQxHSLPiA zlLhmm_?81}c=8dNO~;nO89sf_M;{E@JufNsJGlw@5gfs%6? zD)IA9+rWNA9~r6fRX>T`d6Rr3jyix{2Bg@QLIRl?@W5n+?17lH`S(FHBLT8soQf#$L~{znQ{--TnBY|hRW2{jV5l& zW>l)L_ZHPhh!1JC2}Ez2k+tp!1jv(fcQ?J~Z>}+z6;y0v;J3>6LK^+P5h5*v{Ev%>0~UNuC{ra}pi`@Qv#oK;j#WDzCxAm!hEPgb{QyM<5aOJ#9%i|BfVh!TB= z|MU%>$aIDsF~{3avkUUUNxv<0Oda6v5y!i~L)ctS1eFlf$~*^HAxrSzPuZdYvo2SPXP-xj07|6Gg@?X+I4wAA6EG1VyAXcpq_z-og=||SguSwc+K%VbY4YQx3ia>k+a{dUF)rjq+e^DqITZsvSAL0TmuHP%AYckM%Wx96RHed^o(M{WLJ%m|9$mL@gZAw_0p7!f-$Ofslo| z*ZF9TFnKn6wP{i<$LQBS+R2(hZ=cv#)NSt+;SLzzI0?w|YQGAI(zbi(>gt9wkv1LY zamH_K_%!#!#PM{vB5YeLz%B?R!GxM!GAD@h1) zka|}=LwF4EhrbI&yg}gc`M_zzlZ3w6iv{<_6DwJto4;nLQ5TrqmSgK-(jAt+ZhALr z3^r*{&DnifX*hoJ8@KrFr=)Y$9%~QRR=R+O!qfi>Df!<5BIahV#(K0AjumcRtF4%h za+jpZ3$DE)B|+M%6Qj@8eD==eA5(M>hcalVei}}xGFrQT(Yxl-s=C^NUqj*9<9SZc zfNcU#qKU~`5>%JUjCfXHlu?&qW|wW0o+H)bLe`mj?`iw22*;~$6x3Ss>^Tt^R)9Ry z3o%(SqlvM)Bnqf`gt=?MWf`)YZ&=Pf_awhaP=PF1Dsm96fl=^2$zwKH&T&( z5YS%#1k5tGfl*4gTVg5xbrgMe&CFJBomr(w%pK`7KT+Ig;-vioLJb2V$CW0IWZMNf z63k*@u#lIE!{=4kX^zT>&IJ8{POh5Bm*+>~?3b?S%tpyQS_LTfpKk$0U+#ylP-lT$ zO+KW*oYhpwv`V6vERKqB2|I>;n3ipQSb?3Gl#g0vgM_NbuVy*h@YFcF(sg-doQW}e zRM|80(Qd!xTTZ&xVl=4W|~P{?soBCd4{r@4_HBd8CIn zh7tb@ml31XFysg9U=2FL>tiJ0Y!>b}kS#O#7m>U-2n5eO#`E@xi(BUv;*`WRkBL_S z-;OK=4Un@xyy`T0(3O&Bn4Sm+K6Qo|v#UW3F#}^~wC|j|`VxNseQz%eTy96Z1~_rg zJW;1t_xHHLKyn_|BM->I{&lYfCW{B}GAd?n=7f9-qzo+=ei4Tr@zfCmE{8Gfn49lp zWBYWJ`qUZ9hfX=%(Az%T>U_-qYq+4r7aUCu@#j-Gd`FPy(~!obV|H?1;+_ zXoj!PS@33kh2DQ>KJxCA3}m2vnR7V42oQbJ-?eP55eWoPSmi7bvPH=v(dlx4bl3;% zT$Jt%-aZ0nLmhZJr&2B6cN`6%2J1Tz4kL9RRp=q$ejK~hCb`hvho$`=@>R7T?$kpdL| z1`t{3RPch-bjUt1eAmF2n@5)m@nV6^u;VMJo%<8Nh{F0o*8X)YBOyQ-A5{)G-Of&m z-~Qd5e~-@ppXZJZ!gJoC#ev>7a`o8sn|(o&LHh~US9W$^gQ>Bzsl4Y(ipW0Gs-6wE zKAtjbCnH}jnWm}1-7L!)V+Z~1@{6q%TU#{Goo{b%XQBt* z(4W^~CHm(btI26@jf>cO&gvC^WO`7J%4k6k{f4%q*!UjCU8-dcYy zf)p0$MXDO@u62FmMp?f#t>C-<$ zqZ1^@zTnsr1E9O{zgZ(-6#s1;|81-Py_5ZWpZ}ML!Nr9-m#&Y~CwG^L z&eRh*pRH~CqXr?23r~mTPMg~fkdnyHHTEvl`o3E;R?cTXAr^95iwG@0>spvE2X?~0 z(Si4tF`u)rx4x!^@F%YRS5?6O)ONIX(z1#M*#l6cfr9*l@pT`nzWmhMnZ_xukxGG= zF>Tn^ILc~{^Ox=j-P{xO(m2ubGQ&N>j2`%6l_Ri%Kp2einc>MtraA`=DJn^C?5phTByVQnq&k+l-@SWl^(}EfCn; zbg;snZ33{H%T!BZgw69l!ja%|Swgp*HM=;~m*UI&6)9K6f#)40wfwe58l51$p8K?K zwJIRzYi&}}>4Kc%v{9V8d;G1ddb~QmbqC=VjqVn?i_WK+P;C4rsA=6Hekrpw5_Udx@@e3sgjDJjl4W@6;w-JpNfE`9vtD?vHQOLYo~ZI6IY6>qi67!FC3WSkh4e%gtQv&lcS4Ss?A81M%v_xN2mtp z%jTl%ugbrYUrOU767?X%2#-(9Cr8X{(wg9!8miub5b%Zdv1^!}jT`Mzu>hlFaZL?v ze-0yW+U*y9F<13W&woG%EjilQS{dZr9hI(~P8@~^JVr7<-`~0I3obR?&hmQ33NHnkXz}H5y zqV{fU+oTU`h^lc`L~$5g* z`!vMji7sZ+DToc&5Yaub{1P9pL3D2L;%D%Y*B3LRLA&)8@L6A*^gbdDk@$<514Mso z)c~z;L8};O?K|_^U+H}!+#fa04XS-6ihm|Xr}5h@-VNP)d@=n$K6Oi*$g;p_?m7st zND5E=_fV(86$KyT7YXdh_Oqje#$y;Eu0a*I~OL~J2sKIG%Lk~yV=xI&yt)3`<0 zzJGFz*YocP?E#hY@9e|PMfol1b~_?H1H|;Mlzlj>gW}UzuRHVPvNi-MM5s>j;C`4o zY_ODNiq_H0%+u>oP$ua4V3gI|!QvBjet+6z(K8STAMIfZ2P#e0LaR;tUM)~)mqgg~D2&*P`!o+_ zk@EJ?kaHb7*lfy6Xz2Szgl6qe8x>P)v^n6cH@w|aomL*wv!9iI&zC7;$ITlDzO9sKUSwskc>8}s*kHDKzW=Oi# zWCH*zM9uO9uHL*_Mn0=}NJdhXM5EyxDR zz4Tud57X_F|^f~k)FrN!v+WMe`5Veg;QpF97O9i6=N<2io{?lA7O z37-u@(+C7=64Dv^cP;NbtW!&B6hNUDE4742)gcFPMERD6T&w3;xGM1rt+e*ZkSb(`C|N9U9>uI5ia_rMSho@1U?t@+5zJG||J0ung@|4=S&vqZ* z#BqD(_rw_L{{;X?L=@@;>L?n_>s@d*r`N4>OgFa;-YzqABL(}L1di-!7>ZylH@xgV zfn5D+*A}y#G*#3q3#!dD0rAWjfDl6ntA%e*GvAPX64cf|sTyeAOdp zAx|=27h!7Y5C7Qmr`w$|`^P;v+t#?J2Oy6>bP9_8iQLyl?f3x!L@|;G|CPe3KQ$qn zz@hJ226FMjFQO`IatL`p3>3)vV;jg8eD;fI_&xxisechU_c6#Zrq%&v**~@Z<*7dl z{2wqB`>Qh~bKYj^*yX@HbDhz$BqqDP6*aQMhjCi>4_4F`r)a*V#d278T!Uny{y0j1 ze*7)pp49`J)1KwGUQnDv0m9R`Pe8_qwneuZjjkJR6 zQ2~?sy>{9ebNTG26Xl7qZ2o_qzy&jRPXl-`TfXJGrZ@WLhXzLGI%N?ETcui6ONwIZ z*u8rjI#Y@@FVIG30vOMoF7mqogZd&aV;}Efi$;t=g?shZfJr_aTsk#EcZsaBabd}D zuSoGwN3<-1iL}-UJ1N_2$J6Lijd$(|HM6**;_m8gr#?mWkxN7{iq?EkMm9|)b0xmm z=91xR@}<&YA;CGi2a4`g{dbElg)JF(steI5o=J3r{&%xp+-rKryAW3f_zhkij}G0v zp(G9iOKi1hTn1Lszm(jB_+dh$1d?`JQ0Tgb(1nmI3vk^KN$y#o>CS5(vi+uYLL-tt+k1Y|Zdncl<^R16 zFnD#6h#GBjz{!Hy4Y#HKW_>fBKyJ9o+krCup7KZd;(Gr50pb8p40l2P0H zt=f&GC#r526X^v@mv47)*E#>AWo(CeMIMlz<@e3`VRQSo+U({~6z zJ2BX(K6&jS$Ah52I|d)GY`1;S)K8k*JjN ziyR?{apD(eKk2)_{ra9rF1mDRV|%&QcYKRHI4^_Y@KF~7i6 z9(yHAL^zB}P@FW62lobT?XWat**{+vZCGw#dd%(%*UH$jR1{E1JNdE1EkAiH2@_Xe zVM>m5XsP}rw)bstAE<;D6h1X`W=Bk@4W`B#-{4aF9x!|9Cuh#>hI9B&1qiy9l*?jw z%rF9y@s%Y*1TKVwj)u^(y2!-jG$Q2AY{gL2W<{u8I0vWir27el1u2#2nZtmDT>W+3 zZO5!>qnU~HK_jv9fxM9777ir=^PFp(;4o!fie*7Jx>sp7Jd+hqr-JnmDyGQv_^N=uXXwpXYHTKvsIvHf_*MwU8{4g;~7Ir zHQ)vVoYrNm(hrB8eg9tU^88(i@;gJ(EA-c2H=J`Rh^o^mIZeS^p;6RuQ-Pw|k!=|p zhq?UwClC5)2?OI-_CD1-iBD>&p;gXSH#MA4iFCR}WX}8GzR5j9O+TNTk`Z+fIAggf zcl?ygl%Ez3Z^J9nxV&LLjARx^-MVwBp5nNW3}A^FEpV6%Z%O@-9ikvDa<{-lqWtAV98-I~EW~gSuaseE8?Uino|QS( zT4FS9&{d)+_CmBEJUu{L>XIXj*&21m=LSM^mNLu#T41xArcEm1{0{#W7f=4&1VP=l zM+V~78)1_H=XPex%gj}vR+g|263gAE!f1z9S!u=4yKqW`jnB331EyQv(B?}vhf?M? zbDq`R%4&pev1j)7&L{27g;q^6qS^H{=ZQ|vk7||GO&q{K+DqPxj^L9Y3)?NiL0!tr zsTKXgW1iR1I z%HK7 znnmx$X%RCwmvcnkP_zSswa@K7I~Nq?x)d@<%qV|aIW1#~tGi}GKkY^2McpR;8x6BL ztV&+$CprjE9W2l0Go)R*O%L@};woAsB`RWz^S<@c;rz7BBU#lb^3pHW&-#)UlAWf?s60dWj(fKLCLix* zUw3uon}U_g(vg#@c*2;-g9mvcMb+N3qMw}-A-6=|S-g#pE*{)fX~p_WxroZ#gWvBz zblLj=v#OhbDkEG{0$uEs95gcH+?@qJl=TNp&9oEW5q`51P7S*sFsfEp2Y+T~;rPAT)I zKre;MmOCgMk+x@X&J%gcMO!@jODbd#Frru#{KK!IyV;f&FVK1#Um{s&Wx$|HIR59%cH*%ln zTl37lu>i5fcy5nv4YoiSw)6H(6x;pO1_z&1mVIP=+upeO>GGQ${}Yj`3$$%l&ep}@ zg7XaFbpqe3i(EWm?Bnz|18J6SbG!>W#GjnG%ZThQ720w#g~R7R;B4lFnc;&S3(Dh^ z{!yU7lxn(YT^d~)1bxIQ^NYw>uQFQWadT(Xur%QUI60qVV7#60n|_qWzwXT(wwc*; zGP5&$VgE0$}1+UJyljzo;p3{|IS@^1nKMT3cq4j=6m~E*z*8! z(jdPxPbi2kWZVV-2;Bqu-{FyH`7>gT*4*(L*Zu?g_#aTn`!fJa0qw+pLS4q?FaNDI zy$@UfU@-u587H~{{t}Bn|DQ+tUVEgPpk(pLod5WR`ycawU2g0svEU**u zRpc>@#CiA!{w@@I9e9D?%0K-g%D`xeR~{RkaIY~`q?8CZe$3x`mTUyOxPqDFe0AR1 zT*|xp?Mu1!7tSx(UUquWm?Q^cr5mQXzoYzAu$FDt}-7?@LYfg<> zpnI(%zH8Mua{<>)IEUwDqpUE?M4;*o+2RUJRbIU>|DZiR(m{*C=#VnO&A^h$~exe1{YQvY#TikxidQn?pcGqxt z33fr|m{cC62*F@_DKfjZmAB(1l+77>`d#=d;I)xjt=_lhI zHEH&dwu>hs;N<+)5MZu4Vqt`IDSwY{9|vQfagXJV&Fr;gNX6jX$R$K>vm3EW{P_@r z=h4QsFR|))CBWmzI*(GQp_{Y7X8G-zc)zgUD;wIFt7g#a-$5f|56cPy;}%J`&pzO(%;Y`d+-}4+5G1^i|qwU|ZCSN`GxoH80iSpK^FO zXhCB#Gd|v~_fjqM38!<<#nlGCAWe_Es1l=iL~jyGC=s@LKc zUJ+ra?#?W66BW$Fdhxcs8YWo($DQ)L&>ozem zRjB&C(5$+7?d%i61!EyOKwEfQ_!~*56_9k^s1X3cK@X60%m6c?9>7)1Yhm_!KBg6b zn&=GPi{a5JmNPxMdgd3AJw7q|$b04nE~15bDJJWu^Pl>$;C{b-%v) zfo8p`Jm0ARQSqc~sI>Qt&7qBBW(L|x;x1Niz=Pz6rl9lABO?R2G`ON{Fsph5*}RNx@iiJP%YsEl?2NEwhMeH z^p+^(9>IsM4RJO2mwjp9P0d~Uqsj^$i@y##3`ke zFoEJaI9<=3{VKJWHWpZFHI4e~)uDg+t`0^!$C8L5y8djzT0C1?s*Fwc>Y*+r`?gY* zf0{sD+DoR(o?=%w0FL)hiV@V2iOG8yO}dW@AxeDh^|Lt_-YaZA>fh+|RQ6s6$nZZbpa3Izq*6j{ z-P<3+n_49Cr?WoZ)Yt!S{w+g27l@BAOgRNvNBwH18Gj0e1#w?M9mo-|)?c9ZwDoel zz&TnZBjA;nqmISb-MvVc16zB(hVbT5y-p3`CHkK~Sm?N4iw_?lI5t%aU!24Rkmoxz z=Rb3U_&*{VwD!;TmG1)rSV>p1H<$ zvkH@UJQ7_1mz3jHhci?M3krP(Mejc#lE=73j2XT^QEHmFf9dlD=ILuV|H8GyhtF|= zaI~zX5+*!m?r}j=R^tJ4O@-)Wy07Yz-g|kH(tH0GZ|@z|RJW~-qo^Q?Nbf`i0jU;x zi->dq0qH^nq=XP6(p#b+y@P;&fJpBGfzVND(nLChX6T*J1BATa_LTdb>wCuco-uyE zd;ef4d$9LjYp=Ctd**y5j~-9+ihyMNtNRK;A8U2O6$F~_d|#VcJ(C_)vIXU2*<}f+-R@OtOPA9KyW^;T_&lfd}=XSIr%`gp#z%gEnvN zO^m^ty2YF-u$x?t)7I^0o5#)P_)FUS^k?}ZARSy6N!^4{YoBaF*tFTj(hmb0X6l2R zDxo*mU&^oo(e`?Q$v_XaroJ5xS?(H&fjy)5MC#gY#-(64ld4{C6vN6^f%K34qHfP? zH4UG3tXkuQXgjzr&)DybKfVy&<)q%ZLlX*OA>CLei48dt#ifQ!yJw$!Yd}G^A&t{X zpf^SaDP0m1u{`lYfjoTI#}#ESV9AaXo5fLxEi&M|IG^a#5b}wNfNfAgxTgsu;4mJJ zH*Abz^N#!8ZnjU$OG=jbRh>xsswT~je(j%48Zt7(G>p1^TSqX7N65dGshX5{b)Nk7 zIcE{I&UWKCb%jgYgPH^4G}y|v!8KZAIVSKGS6Ik|J}lNL$}M~ubGur>^62?9vTvQ| z@b@f`mc9GX9a(v>m~RH74`SVc^wr_+p_`AWw`5avP9I>n;uL|1y9(hoApZJDqpC!H z@NxdkRWRNQ$o5%VDUt^%!bjQMLq$V`-Q;aIzYa_-#sPr}<;ah20-wF!Xn4KoKB??5 z&B-PxJsOph#TlA~>~$AyXppcw2RjSg;oU)kP-f`M{5-nbtlTaV7u)Y_a}ClCKt|Fn z>~;|&yYMU%$@wHBhTBKA7Bmhk;rlH@MKekM^|`x|#Z^nw6mj3d;pyT{!<)RCZus81P{zBl_j2<%?!WF= z~UqM zP&y(0bN2NQh*=TtC1+vWExk4_R+U(DW#2b*y`dE!qGn8oc$o@fe&;Gjy1mMW5`L?Z5d6tx6U)EW{<%wv@Wp~nz?dcfT$XJu74lO$Mab6fymf+ns zCWQyz$n176-lV(~#O;y56Unt0S*?kFgIrc?$8E}bb8rpQwvJ}$iDd6JJI!#XWYF1p zUN*R8RUX-rI=zN()YlRonJ#$Wysk7$bCr1iv=j}uYxkzD!Bm|X6!v;KK63A6xW{i# znAlNgd30cXii4EmpSHcAc{}megHv#!c`Wa9xdWu~`)fbWZdK>g@-m*tYg4r@#1%xbEE62q04w%Xa2wr&^E&668Ea#7Ar95}J{uxdM8n{@t6$#K*feBa)9CLfqp2LqXba_rN`|s~b4zt}U2*3) z^WJieiwy{}3koXB7h`^mn_67JXy(?;@P|}rXdF=m^f+Es?8=ws37ehJtA}-NVppx* z6#gKSaJfFii&xrooZsyH?mfSl9d9zkJ7_(ae!Q?pnD90g>#;K2zxbZKbBS}+(V$Oh zn8^LnfjQ-ox8FzT!Ci;MW4E53-JD*`yDNIQn@5^I?@X~$Nqpjt)we&WQ%EW_n>ICF z!7Tbo8b+y=Bp$(=J?wiZq3(CwyR*pD$mZcZv`dm$QeL5%nc1|1q=)-K%T;B$^%Z8s zTl&Cd8Sf`?o>?ZTkNrtnrpKCVZWGjlPiqtJ^ihp}<48|O8;d}G6%%lqSN9Q)c1jhx z*A6nS6C-?%>hElYRpL%X^+r@uZBTMC_DLzN5<7C)PITqi^;*EqmylX;!PXjBMX;(H zQe2Dr2pH*`IVGJODN&hjC>~f9+p2p^{@(e}&$--{gJOOl{gn1&KThEr_WK4&+F{W9 zU|aOAwO>!$YoRf@xjTES0t@xV#sq8Q2K0dN#`ip2RoWa~k0BFV+-G;&M?cq%T9}UB z($s0BUs!8p%h~@?TRT)HBJxm+EX8Chqg&ufuKM?Z;?GgG?k zQ7|H@xo14$bP8A~8KI zS9?axQN;GGG%=#pLWa_t{s*?)~hgZJ?ZAieSObWq$rPznB-~>pKmKgVo+> zs2k>5+CVv&EB4#QTaXscZMRWq736 zA)u!4Ayy?bbF4Z%Po#>mflWBI1(t=Kp49a4xT{=eEIgjBRZ{PCL`jvZ4Jo~F9^gZO z9w>0(`$Exc<}y^N9%mX|La(gH|uj&bGE!wTbXE|fW_*ww?2=EeQV88!HWy1R^em`!;yG=Edhto zZ&r(55seQHk+UpZO=QNVe93GK^I{r_c8pi&HlO_5?7egKY$Bg<2V=7HiHf}*)SEXe z%RU9LRyM>rx%yh^C8A;Mop~#xW)0!VAHC>Qs4H~h7~^!Nz@2Sm?rcjfAPUbcHMpP& zK0UYy3U?n}Y(LQovZwC8C#zHbw(Olra`+rix%6T&Z2By|FRaWpwHMZsqFwHht+})^ z%6xD~=jPk@zWB<5I~ekWFF%ds^NCg!72EZm?lX#`;`Sw5*9NPot#$lw!Nn#DVtK-D zb-d$ck25x|d-(06fk@ZAsPOjb+vRvr(5737B3}xN1-~_>>i+IiEukWY+wB+08sff% ze2BR_$8*J=9HfoEg0Y*sD4rS}LgF1lx2HhCIL^B2fwmB%%S_k$$A#O6CaD&!I;=MB zjw(HLfTpv(d@VA;!9u>=AI3d>9^3i!^3FU8lGRK^H9Zdz=@5SXKH$B})4;tiEF_eO23_8r#A?~(-zaITYHQdr>!W{TYu+iO zCt{GSJ?XD_;gxg}fi>4&#-J$~zxyNucO|7#)5Y2DXC$8nCTPdVc(f;hukxMKC6+TW zx31wZmhSteIdczC_6TYXJ~nXWy8ql1k*q3W%!bObWR zw7_ORd>K(62#{8;YxUcxAhR}a+az0|*&2z$5vp&CJ|VLv_lK+;y;7YyYOEdvlkNF2 zKN$3td?w_YrZB2mL8p1Uy5hBEbWfa0oGSJM_4m!qjsjbr9W7tllNS#0_8_!tB^H+Q zl+J;RW)NQLy7sOrF{vx+BtuEa-~5c%*dj9$(~{bx=5pnzgjcnHVF` zsMMv;?rA)}HMGzF>a3VMPeZ}PXv*&HB_XjbE;xFkaMd@DQR7bMTJ3-VbG>KvY(^s| z7FvX8)^b&NIY{Dxr6@NJG0Bh;Y|dl7JZL9cW@|=lNNcY@5L@EE>=*XVnJaEsSHbm_ zVD?klYFcGs?t-5l_fQ;MIdlCg{fzw{ew2dUflDil3kpm=ZHwH_ z3KXE6Y`&KOdFS$YxtYdI>!tjejh-{&MYScu6$@eL2lu#T@_G2_$Uh6+mvilF_tEh2 zp&_Q2pZa8c|AWl*YrQ_H+q`5$V5QK^1zH60woB{YR%(@SP7M)nl!4-I_cFXF3!}xV zT`gue*%LQ-4oP55eh@IM0{cdE-j-D!5^KadWw}|;M%oC&o%&hhWS<17zf(~qqHpHP z#YRz(MU3{R-{=Rm)D4d$^K4IcJAGk$7-k%_epY2%m*cATl?9G~iIg25RDcYq6%m;- zp_^?tcllB+Qq0M`?y7YQ(ZgAUNz;3uP^B5=v8W@L?opm>zi9o$^D&;sR+km zQpN)X?AgQW>T5_i54Jj`YGHD-iHRsZNa9-Fy(FDeQ!_-R<04p&?ZdDdd}r_ztmLgg zD`%{~C}N^*&wL{J^i0?wZ&N=A{rc}%+u8qBtPP6R|1VVU)md2bZ!T+T3{bOvErSpP zq^OLU0RgyyWq!8FX#&J~HdKM0a2LzJ@%&S?Ms*@(_F#kdYR-ocrql1iJj(BG*kr{H zZLqkLv8|cuZD(2NxX;+Z3R;Q>(5mISd6!ca@Q}Yr{oW!LVb#ke_8j^s0*_^yxi!y>~OS1}A z;B<~XGv2Cwr-N(2WImGbb@GF~(avg7<%^$sYLn4TMAq8KKIMutd@rUr4xq@cW zIbYKBjqP3K{D)3&JMzJ)-a#F0gj(Mv*MJl9C25|8%Fg0G(bk#WrC)$U7C`XPH~Ql? z(Q!}&z;37<9xvAc-DN}I=#zK*cO3nvhb-!HDjv1%n5PYEw1aFHgsY6{mt9fTKXV#T z%p_ZvpOZoEODz!6%rEza(_>x!IWXbzqLzNY>XFk4y%C!@O{vnXNFG1a?P+1mW5wI{ z<0%p|be!MDSiUGs6hI|phU?5$nG6pPR>UL)8GAHu6ql=2v|YPQc{%Qe4937l@AiH1 zc~JQwF&2nISc5~G_fAn3!{&tof(fn)$M3l{X!FiLPe}TIGqzic6hfr`vYTNrwHK$){6ddzrI>T?L7mK0EkxR#F=o|KfgmXbSzS#_`0ZFBL! zY#vn<2E}t?=))#ICjV*_PWJoH|9*6)l_5X{aU!MQ?ZY|C*RK+%3mF@bqd~2=`$Qb z`>^-Xz*5dvSF@jh^oFkoUK^s+xh?P}Av+X%`#YU$WQZZlB-Lo9QL=qAW0fe~BveK_ z>F1PppKdIRLmZ5W-oy;5_&6XmO|Cw7SE8`^GVZl-4S(m+F6pZ5kpgIyDFvWrDUof} z{0Z0VZi`pX>7`$-OU-@&o@O|Etbb$jZZ~TT+0r7{GYZUDfqF^FZqqS|sj0UL-gBK# z#B3kabwDabSf&rYd_3KGSecyGf`TrmT&pZ<{t#|; zzUlUXj?DZ91N^9Nzv~v=innAiZji`K5&5w$RUJX2m2a$W<@!xUUnelO^aityak1)| zp;`)Ssst6$4V1-J#vyu-?tRKc4ry;@1!3rCWSnFnQW32;j4pbZsyBk3klM-_gufMv z<_J=}Y7|rKWgB$=?i|Y!SpY<8g+vvtHQ;+i&iR7_QWSr)u{!_L3LNJXnmFJkLR)e# zPw=TG2aGIHs-Xw1@c@%(W*^*cLH^o?5H6AWQ{EIHXEGtUoG(r0!NR7@y<&5^)ZsU~ zyfT`{;7^LwOb$e+C)xyPo7-mcQfD@sGo9n(F?q8CgLR|bPy96V&AaXLbX=(49uBIq zx>aKATPr@XQs#{7JFo2C=E`;}tOJLNZFuh*per(ZYX?e|bJlHGeUl^9`JcuH9o%euBmR129=;;6EieeC^jhsy(MsVO?YFf{$X`_ey5#@>4Dw{=OyJ; zK|OHLoz$}MwLAjigs&9{{Z=Dy47hRUvSii9vBSKq&;H~$>}_=^%C~Cijfvgm=*qcd zp*JwPH_Ug)JJnF;b2aA{|4s?y2zof>w*k`BwSeLuD9%RSGX!Lokk)K>V11Q(JExGf zB4^>;CmU)J8l`(iIV1D|c_K!2#N)EW_Sm?%x?h?7Js$vggq-i;wqf!twSc+Gz`S1y zljo+~Pb-**PE(xVvnes9N^>@mD>{W7xMDzJ8hifFGsWUz55Wuae*vB>YF^} zwJ7Rmp5Zw6$XRno2T8Dfs123q`p8Gm_Os_;b8L-SCe7Tg@1AcFdBh`9i6<{yq6@J^U#N^DYyn_cuUo(+<}q;2cYcji75G0wr}tx*`f>z1e_ zNs06$XPg9DL;^|=nv|v zwjqIX;*w$W;ilV9BqZ6y>!GG<%(2t(lY4?kviJRd`nJNQsnG!uI`qgHP!&bM*3Zge zqT7MVQkDO)aGgrhjm~rZ#pN<}_n-Jj&`<=#yig?nVWQ>n@jdd8q=K@@#e|#NZx?X}DodL3t0FdX?`K8cBde~sNxy&>*w?+zd@%Dr^_s#&58%pG0y!sQx;Rm~SutIY(EhNv7CwwyXg%?wtGpPa zyehFC$PBy|MR_eEK<9+F-d#WP6mmo{x?)N!12~cWkzIeibLQMLPLRkUZ_EK=tijUD z<229RQOGy?$`}}1s+#o9x()Mv?tAzGE4V>ti>ic=$e?);8?EI}B&xppA~tZpu+H}F zK#;PERX?RYtU9w5$U#8$KgHDP9(rsWtMtw?>&Cv=&MKEa&yt7op%SdPCv&4~R% z3|X@b)K6X_hmkY` zuADl?+o|KmYt`*rI>~51;fCce|;>`%9df&0fkJI!m0 z$U$95IFjbH7VLoF)O=ZI6un`{{y2AbSGTgiSlDt>?eXs9!`K2xj1THw(5a0Y-d-6R7MOqd5~5H z9Qv~46NobMx+#%u;W`oK+V}BRyxLnqfLGS`?umT;a0po!`#RJflz}fswucF5OzR@n7s3h6_5(<&Z zNRB^g^5{Q5>A!Y1%6?!Sc2D z?HgMa#4r6xV*PFc6rHfs61%tmCK&&}&*aDrAKU@Kh_+{3ioUvRA&jXWm^a63=C7Fg zsyMH{GEHwHtkNi1r~)0jCr^uzjD(L%Ez^A4Z|f`y5QiV*l?Gq5RNguPa|ayJjx^LU zK&@bM@@)9G!+Z5Bjp&gHS&J#HobbnC?>`IxqSqh!qaPA6eetxi*#Ribm+&~OQ;imy z8!Tp}Thbkd?`cU4Ncyfv^to_2Cpq4sWOt@&y-aRum{Dc7@!D;+1lH0wCo4;>s#Xw*2fKiV+n7%z%<{ zj0W1X9N!)ShRxJAQHC9U7xU2-qiTQgTJ-e!dFwKUXNC9nzO<<$)h17h_)hRME-t9EhcBPBvV3YolmylVW)MdyU8dH2`r zKv;%)Fd&A;`~L&I2B@XKD>mkT)d+u5Y@pxt<3IQIHB$fIZP))uiK48nz{yB3Fha3< za0{_-(&676r2Rt>kzVv5ju3hB0QD8H{NDhEF9bN8wsq)HLwbmNn ziQlqg_iWd)gb0-c=dSh^i9&Y7b0YE#9cZ=J4^UyC9eD@TK{p_)ZUO;(z%`+D?K^=1 z)T9;-nEywHn*!vldBkxkUjqD}S6INy;0oc1;#xJTWXQfV}ASXA~=XpG1;*KUS zv##3sPEIJC)gZy;WN!EJ)nP;v6(O~+qG3SJbJnH5LGW#QJQ002$wE~*cC7IfZt z^HHW%;9NDvNat3v|LrUFk&lOYN08$7hv^){aul=C!6dT@heXqnO5Ox#DhtyoC1*#u zdb5?ZZ;3oFa|}#$U%TWD?$&gn0bh?ipklRg&~5KusBS^1&rd35eq1&str^85VM9u)8(Q+&q)bUCj!le#}C5uBS+VWNo zt|fzLk0g)t-t$l~R5Ha#TTN7GlojjV=hDgarLGx}gIoIXHZyhv?xn#VZ*wJNm8R>> zQa{*x8Xg?C)O$k>Xb)G~^&wQ_sG$=6_!jXxfg+zMG29?4kv03yZA$iQIw-z{i?b^D z(FsrDfyhD63^e{bO2NF^u#401`WtJEke1I)hBIA2<5y84kWdncq{bsAP-x(LaP}AP zMOPnL7-1Fq&MGfDPEL3@exK@KZPzg+j2@r~&DQw%gY401Kku2A(K<}a>5cE$O)YiD zY^}NyV(B;a^EJ_yWKldzKTg*m=aJ(wn}9<{eUmpCI@`=(kA*kCL3h8c?3YvW%TrqH z^ePaFW56Vk-!aZ&58M+^+&Ogm8J}38sfljp zlr&A3&O-KsXyALpKqmVJg$dK)-D&LB=(EU&0|J7{s=UeyPweakkotXMQ+x*@c+Q~s zoRvXB(!-SLfz@NEDK(Ox>tU@wi;2POBaM*I&dDq5cVlA)PU~C2dtl%DfU!OU5HQRa zDoo9SjzLY=P&h;}YRAAAg8qsU`&Hzg5ldVyH(`LEV6mvdI&(G$(m^xT^s%6${xC__ zS9(<3(#>U7{@TOb5z5(ci)urrAFVgW%%D9H1)#0lWY?owYR=D9^)Wpqa3N?tzkZjf zEguq_lKJ|56*~uwC3X+;C6b-~9Ov(oYVlYxZ|lKMO*MSdnakkpJD0DgmbaZ=!sC?v ztVr-_!ZX!#R~0#7ODK9@(d~HO`;|Y$PF2i}GzLqUb#EVKG@t_;4h#e)T`}&m-k0sp z%{IO-6yq}=%AFc@O(X>`%h9U}wA$Wl!#O;03G-Nru*#5pZ#Jrh-uZEecvIIAwx7l{ zi=xN2kl7hl#44KbghVWia?oy!)ceCE)th&VOJd)KGKte(jl>hnsxWCb|*pmT8Lw~1KSwvn#eWL<+Qm}TUBt`R^E}*M4M70vsx?nEQoXeFV z2qW+D6BW{Q#dH~YZdI~)8^~kQ}&$ze# zl-&N*J_(+q>*0Pret3n^jpM}3A}vJe+5yz9(4yPxg=MfwW6({n9NX9f0CE*-#i@#~ zSM|7+_=oXl-~PY()c-fPx-7N92(ZId%KspP#G{sNn__>zQk_>DXdb(j&Hy;Y5Wrz5 zlS1vCF|A6#=^Qcc0o@w`6Y4%=k%@e7Vyh8&drR~r_(&I+G1oS#2AshBrz_VJw%k00 zZqjyh4&E^z4;nC0T?|w4Trv0+m;wY~x=b+XQYn})<fj(BuP`W?gs}O)K_)rA7pZFG(_g7sBM5r!pNKa}`7o0nq(9w<2Y>3%N!_p2UpZj>kZ3&aDIBH!W_aM_Ci2#cw=D`pRbtf~||7DK-g>X*mfCRXGi?%eR$t zp9-jikr_PZ{!B(jb^yRbzYj~RzP|jX&GWw;zNX^pU;fR1JVi%^YgH*vBCVP(uQM=z zN>f$H&Luk(&jC8;{Ey`9Sp)H5t+Kg{(=gLuQtagD?0Mu`M`p_`A^^-J=95|=1mCAV zyEvekpGhw#coV&B{vteb7NbB>QKQERo% z3uKTyoB!j5fo;MlM1NjDaBYTQ1-<|Tnzcv4_*h^^CW@h2XbF;}Fn1tw`z8WREHBGk z$k=JFP3Jp^q9Gy68jh$Ml@6@8CBlCK1U=~&N8}!sS4YE;xhP3?BZ01Bmv(YS>4P$0 zBL{Kg5vL3rKxpM63+l*P_4iTDwLhD_M{PvSGw}W?!fx2C{6!BwCN8CjQ?74BViY-U zg(z)Me%{0!eaa6}sChfvh2* zZ3d0`s&fgV#bH!u>d9@=@5K8oYheIgU0*HaO%VmYgPI6-i0IMsTx#h=(|`zIwc72c zKPrfFb~Uw_M6I#{=;dA>_d@S^b4(l!&m}x^-Hr=5Z;E>^_V6=e9D`|Qe}>6(VpecY^v`^ zkHP1KJR|kIK1%=O*Zo1Yy~W}yydB*FITtXS(10I+IPhP?Z)PqkiO(c)BsW}5zYJ}* z`li~ubo;@5hr^8DNARZ|QWVAY!kZ6)Z`vSbcZ+@Lgz5S%r4qUOiOREmfjdz58JeWo zr~pKfj`W~wtlMcx_9Oh~vKP5z?rkz3MZZ^wtXU`Mok1w#5&pjNZgXYqik7^XSz-6y zJ!7#G8iHzxuek@pc0|vwbi_C>j{g8#XJ*D8c&%gMRVKNO-CyssWXn~J11(5r0>|iu z67TRW2@)3}#J+Cy%QrNqMEk@StWJBQMwfJ%SUr2Pu-MI z=Pn2KDGJ=U=>P;*LiVZ!4?g|vG0{7^Ra%^#{qzPu^LI4<6uqs)Lls7A`MzGrf#G3W z^?7mN{QTuwf}f-`#*cO$0qyesAglV6vAgX@%9wvedETS8XnE8IcsK?>Rz4F zVv0AFQ`Qu8G7Ntbr8ddH;yGn@KIx{(>*)5Gii{wl*Q{9y>@gv!utlz$K^+16Ic6P1 zX$90wvy7go;pn9L8R)bbp2zoUejSDv$$BfS?U3rJZN~)pHW*KJVo5ik0m_8evwqU3 zN)4<-lHuG5>-hSoH~_uLs=Rk6JUS*${ps`csy?I9W_&A>8i*{Xm7;LmK)heb{!eRd zUP!MoS+;2>+w;PMByiFflV4Vb`u$k<|7jsIfWSk-X%7S|1wJ}%+MO5J18Valz8c$h;V7IXEXCvCpv;ec@tO@NlsY(MSXTrPSoRPn!a|hTD(rwMd8VOp9{LXx5*1uCDMbr-WV+z z5gGZ~rddXtggt#Ue>f#QZX6I|V?X(FEjHU$;PE|=Yl0xc)sAzznWU~dM37aAFlY`E zzV~kN4>IFK1rB4SKgb%G^;wB90mN9|S4p~t3Zm}lLhScN5Byu6@_oJ&m1emvPwi?* zM4pAq%ShRs6+xni#HezXN7d#AKKrBh@GgnDFZzOlBDbP*JHGmGNzfrlkevH^UY3enwwh z8y(pRoqg)*qWh^K_9=(@d{5Ns=NMDQXKG)H|5}!n)g&^#?9T&)S?SW*-cQcMPavp- za0MRxxtE@N`UIr|0(_k)I19OA3}bu4=lb}&P}M|<-rQ;C#k;xQZ>ue2jrg`HTGKBO z+Her|aZi}Z=;ppAEOS<#S#uaICG@ef(x1`aNA0=hc=rZ6>cRr^!l&;pUjV!6uXk+- z&NgkoIqT^3fW7w<+zhL_B^UowD9mhGiITvfE_bhO*a zN_C}nc3Y6r^T)jlay_d0lcN0di7GVqj)P|p6EgrZ$44%Y*wlTL58ukc3p8;+M2uMs z(7?-vKgOXzC1O*S2cm%Bp`8eWQm4&exr|3QE?tJejAI@=w~5gH5hJ&vdm^mg;-1cX zn%4jq4IzT_o~k=6;4AvNluspj7*6He^z+C)b!6 z_CDwQSh{V+rVCF+t)08o_tunTmCde$JtS(;DaXd6xo}4sgrxzhGEppYia8a~Z86>p z_Ius;?C2^L*<(gd-YMP|@*PuxM?vl|Q+=S3EqerfDAdoTQyL@?sQfC>2N;TbsIOqW z3n{o602y$MfFADlUW*vAif^6-;=D_5&ETZ`T^T{3)gp)h+@mxTg~Eqb0wk4U~158jh0gRmKBCKlPCTd-Se1_`6JVbB-wyzr0Z;||O_Q5X)=eK$8=b@uBe$6TBZ^L6;$@tUwqk*J{ zE2tlba~Z@N#X!gtq56+oq(OWACqQ*hhoOQbK^^DQd~P+xRpw!e?+bOO1*NgO(aEnk zb#&2tQhPU=Wtx8$D2U+O8@FLCSc?GHy1>oYXFq19FP@9!zN7a#we}1U-T53Ob)!L6 zX;^{F)ArWKev*){=74qTsg*Ioa2f#Aw$6`SK(TeDst^>N1-nI~i5@~x9`~C4*E_9O zbq*SlUT^V36+|1E-NFSnkA(pv!c%x@xXKo6Y67SJaKC8ommp5yJsjqg^l!Lc=&Ma& z$2D@dU?mD>kM=-J4l+SixT!OtL)2-#O{pAu?f%kNE>_j(h^fp<2-YIqsFx*EL<8mM z(&Yxl1tAO;CgViOYAr~Mkp+*x&&G|Pgt%`xDdyo|5&6O&8vRG-vNQ!aBs2(Rzj8<@ zz{@_{eI!~#6cO`p)_bx`K*s|%V>i8Y7Vc`auL{NYb+B1rX3ycbf?a(YnOjmIK}2gm z2APE88FTrzj^Ir?Bd<7?Cy~`Z_;p#@2fTPvzHTSAoT6p}M`C9|RLdSoO)SAm1CCB^ zQdYK=gNy#{mwckpT^Gi{ehd}93olFAvurE=lf7HoA5oiys*Nu)Oj-L1pXQbl zRdLi023zoxo{js|TqFVmroyoCuA)!?>}m+rog?kD=`L`8j(2)-mQ&EYcj)GZl|Q@<$nA-a(KC!h_9*Bka0AEgKR8Xn-EOdz`7ajVPksCM zIh&$!C^FyY1W3NUx7z@8oA_{WeNPx-fKN}$#cE}XRq#Y|e6@?$J$iIGDf+7Yx2Z()fuWPY<-0Bn{K8OI_!eH7SB09VCi!B}fJ|T*P(yiht0A7yC+XiMY z%F@IEMP94MCu9T&&FBRUP)oq6u-_l&j*p!N9gladCT8$Y$z^6=wmj;4H-6;Mc<)d0 z3{a?lR!QDk`q6^*NB5-j_)x=KcFNv%zkkp_AC!@%0R)!FY8)@Rt!V9#HgjqgA~Kj{_qtsv524x+Ms59Ix!IubFvY?Sf%p znTn6TcQ+-G2@1(mo#L#Ks;- zwU}krfN!P11BB_cPG!hz1vB+ZYKvjK)A#Q!xYEcgX&+X(SO)JW6z@gqzMC}tZ0kaI zx19IRrvh3oYrTTkmE={W0ET>y#O13td}D}c_EYq-XP#adEu3?)Dr;i;QS1d<+Td80 zz{~6IORQEtDP-Hx=Ly=R(K*A^7jm*F*c`vFZixj@NgM}_>!3aexbdqcty%a$(^H&p zuNb94XvD-fjk23HeZfuV8U~PTgb6kLR=|F*Lc6ppMN`d?t4}z!s-eH^EHt=&R8ZLg)Hmdf!bM|TP0Z_{ z>XYYC^4+RX`^xyRW7Q52l`s9a>^cPhjv#w~+iuL`H0i`e)BkY&zP zU|kkOsSh}!IYs&&4GL}SZAf%6R997^L#=`+V;^MO1Cc=kvh(C*War7e?AD98s({2N zHzzrz57VC3Morr^A#NAZse6LrH8mq;cFN%C^E`SiFS?Y@Dqd)?p7RL(iO<;3or8^+ zI&EZwsnNzbHa|jTZERGPr$z_w$QLY248wv!og2t%v;|z1*K#rw0zxPBcymZ@uNqp= z4PbX>!E|OTKRW5B9grH7^8=#lHqYNDPQMCP#Q5t(zqiW&`AJ-GG(VFO*129fV18Wr zt@jg4&)|7|idUGbgjz&(q(a~G45jp81#Yj5D+ueV+J-@dTcnF#O=5@UkZ%Zg*u$zL z+gG>ls;IsTjr(BPbau-oIpQxpazIlQ7$m=-? z*ZU#^|9x5l2m>e05X?7I<0xGmDdgQXste zeyLfDOj~dulFxHOzai`*Em0Q69-2eBKFFzYqdQ&mEbbGy-n?yeeQPcgb|=VeA<1%V z2A?vn9@Ierh%X?DHjyL`#3;KmXq&D-tyKQ$XZN6{dYhv{=}Lj~ZC&Tvf!Vh(RGCj$ zIfGfYcOqR}1}r&*Mb;OC14sKJ?C@n@st=M(XR&P`$Fl`#LifHszV`a;hAMu& zIDq9Vx`Oscea5?e2)?`l^#>U^{TiUtG3tPpv8_R&KRNdgDd^?V&krr)gr4Y|x&g|l z4j&xk=IP6NB2m?rm`A-B&)MLeP@f%s@XVDx+xkVu*N07}Htk9Z(uwCQF1YY(btraoVl{SD&ZZ3slXceq84La_A zRnKpCSa&7F^R+&S6!6TKmS@Uq_640*G)Us_ebrk=@}Xm(&V=|@3!9D9;<%Rjr%hH{ zOfH`;a1lAkAx;FBR#QZH12_-nEkExal#oA>Gh8yncS}e+GaB*n31ZgTWJU;WUKNbLk#vr#k zA%`Y-4xd};fotWxRN^jpD_PI+6)S^iFWb(gE4AOgfh222Wu3ENG{v{V4PwO>kCHv7 zo7bbjke&N7=iFiq-Ub=6p7UT>Rs7s0{3rH<{}I&09KS`3hlKn=c0dW(Jr8>!JVqlV zz}t_5ZG%W(=m0P=xoAFYCKw!SG>lZ0WI?e-XAyxVDEkDK|JOoh2{}+!$1Dv4)Z4Lw zGOI4l+D`tp`2LBf=$CkCR*NB$!=wzuVsVT4c{#saPv3WDj)>^stg1_96O&$?*t@arvwPfL5ITEP!bpU>r<;fnPQK|AYH6WB>}G3S-_ zk^W+}?}qA!)WrtsWP(?o&|Um&BFCI(wpwjS=YV;sBObwAp$f}mectn_O`wA<_-KMo zLY@D1@^|firlf5)K;HH1YiVjqC(4?IOD!co7v<0wdj0v#*QLW^CB~^Ab_hnsjA%rO zn~7*-6?)q3jf~?b$#?nqHV(ChtYC^mesx1u>2+swiPl~987(;G$o;$!h=;LpL$n$0 zeYi3Bq>gQLhI$<>T@_FSV`g$6p*L=)T3N_-b|LSnjrdm2YM@}l7o8e+|9n!$WsNEM zz{G5keOW&%VY)@;R~>A9w_>iVPI{DDy?Dt?!7_OT#%;0Pb{JyW80IN#sfnrdF!SsR zJQ1TgXQ`rn#z^{*oP|SwQ_inY3so@vA!r&1of<})KyT<>)^E2FtmMJD+hQT&%t(FzIT75oTr}8B+Gt&x?SmdS2_8WvjFqEbm1pL=AbIm z-7ypM250dGW)I3O;ReT^o_tBilkZD6HP3dObAAvch=jW?Hyrzo5-+SitDYaUC_{Ts z5Df>1APn{r(_C@wlv@^?i!e=}+9zKYiXYf>Cp?jutBJlH@Ohc$C53f%2drRXB@rv; zEt2IpvRyJA?Q;3WDxJnvuS`DINll5_bhGz1D$|s5S1OCO00L4Mnf9o}AEvKauEB#C zLUnj{49+MVtqfGdi9YgmrkbZod7Xvh*-%80RMH0R(KDgvXRbxO1v>Zzv#aKqYq;Ii zzO^Pgia#02{~qaZyGQ~Z{r!OGvA&sM#_ZY`1h9|c?v?NuwXu!B#^$418}kxqU*MLe z-k_!wn4x{$-zEjE4e=R)CBLxg6S>2V^>og`trCnW|LI<{&1A=62YbWtw|UVNLSJG% zVa)gON>(_lqfqIzRLbrh}6(~4GDNrUSeeGpJK=UWw*Zqix zg2lP3241FC+o{>`c_?h7cwJkOe%RxmQ7*qDUDj|hIl$VgO3eb`rRhzC*iUVE|Mgf@ z>@SdCNbG^#`s_peGC++4IM@+%+NQmuz`uXXg$V`_0m2!qAgVHEo=$W?p=*-U0KRvT zY1&;xPj2VK|LvK7&masPu-GPF`3TF7>FjC;1-TQy#@&-F9Q~AFXv3WF;-OyDDXtpa zIk*SMWCTB9vfFL;H@lr>alGF&rS3hv-Z?0;*`s63c}#p9fo0u0SyJx2;W#)iS6!c| z`PtuUGCxl7*hqdw+piDM4KS?-Bv~Z>0@c)I*p!D1%aYfkpNx`SNbYvC*t8Cmk3+b0 z9-p{_^Ybq=KS?IxB&4ATzJzJUUo}~(j71VP?!j~7ZBT(yUH6b`kh@7M#JkojW{qo8 zm6f9VVp*Te?9WomFXHx%k%;dpU!|3)uE!{V34VrM!hzTPtie4C4pV18{OQp46}l+~ z%})eWdHgD0*F)N(T!dSBYhsJb6V^}(88*-bSghxq@gw(#>5&{cqpJD(_S}+_8O(lt z>|mzlBw-<+X3Fp>PhizGZLUcM385PCiuXA%91l|eh}dWf9+-?fZu0ps=6pF23{QTX zLvO3d-SX+mp^Q1{%vZns#cd?V@NVslAh|soGk(-7MYn0hDw})!YTe#-)%yhwEyVjM z!!eIfGy4^yqU;D-;}o?qr$aMZ`Ms3sEipVtVD?p{Vdf&9$R^Sw5!}l#x8oz1l*|A9 zy@1R>NqvhKP?1x<>ITo4*o0MQBNHpvwH$rTIrflAB@T#*^#+W1Buuk4{&0q&7{u(pcLx?zd+r$;n_A5hpep5nz|}3Dcifj^x5xEROw<8X2{#* zbM-uw_6gW1*!LO=t0wq&MJ%rRd3Jtc$oRMsIjJzz4(ML%RokV)J{KgjPm|$lpDeFEzhR*AIZ8d8Z@H)LK#|Zf@c?a;)aFM2RWPYu zM+r-ti_O;s+?R3IZbO%3c{*F_60u#uKT-Ip|!QMZS6FqG_f`A zuIy3HM?fr&49D1^8Jigm_=X0sPWlkow@X%2@cNbtcY_-nPaOJ^KhcRP2HLA`*K^z^ zP&a-!aHn(eZte89QUT8=(lq+KlyRj-F8U8B~P0yr9pnSNY{1I zHAm{ly(VUt53hHA-W5T&jW*A;gx{)dy0ZcSfVj{Le zaTo2mSURAoF`n=mg@uz@&^RE$nJZR}{Jz1qw)Zl`HROBd?Ss0hA2YFDwyAeVl3|BR z{dhD-M6h0S_q9Kd?uh!g4Fx5m8_k}4X9a&Oy!S2sb0-Pe=hDkRe7(B%ryS<+X0Wa2 zm8zmIyaFt~usSO&0H(3Gr(EZk8yq;RM$C75`j$LC5v_bzZ9*EkT_qq*q)~2Cob|!3 z1TaQ~+&9C@cK9|aMn#ES`e?dw5@2wAZt}f;1LDDK8@HYMJcV~BcO`yK0aVtkZwr(ETqEBp&VfChK(7ihrp7pOrNKX0%a@fV!5{|68;#j}qanF+&7 zhd`5#VBJ)wY;f6g8-S3I+^Y7knIq;V7zMm?xh8%Zx?WKE3=2#qw*-LVk~8!WGS#iN zpggRwWT&S{r%x>RudV8~r6paIrb53-~-Kq8}uPx0(sZyA* z3G9}W-FBOC#h|esGyNuf$S?oP88jB2c-2w7TB924`Yc5ko^UIdD|Ne~?EAN??~Bv@ z?|$Lfx#}7E2y{R}d>lQ2b3nP04xnJ9KR3>LwxO@*HYH zEYLY{YR)AhgE|V@u$PM3q6!_(G+#?U0z50YUHNM-G}Y4P(fV};0+rlvZ4J#HbM{9V ztRTaf_7*A}ket{{d0Q|mHFb#D-bIVCb6b2MWvW+M~2un)cH@Plb9$Wr#iD>i!A&n5{0h8^bO7ne$<2 zG|nj3WTU=UwQ2&f`V(Pcs!FKS?|JNfugsaKQ#~5iuVVD}+r6B0EjXq)&ijT*r}^zY z*9h1bmbbq8;^JD^v{gu7`HdTl-k&}{CSUkyLyJ-nV?K_bI0UTBKmXid*%n+9q&M4Y zsy6Pz-%j2kIl6PJE~%g{Ml69YF7N&~pBCp;|7ud{FWV$np5a`kj?~#Z-q?rGj~>Y~ zLXO1|?~Q$NT&fp2&ivewcW=j>-Lat|78hHU?r9FshrZPdJu+iBbJkI=YH6s>dYZFH zvYPyT`BU0l#-n>}qXr%+ufmj+38yl}w|9#kp;~z~#-ueD`5E=bX0$lFe1whT+)}vojd;xXZktcfstzHf$T(7|-OV{)HDc1@fkFyCzueK&B)D4Y8XcyW z&Rmz2W&2!rn>qivvAiK16u=%);oU!QWfBeCU*=PL7Nr^X6UM=Z4S%oibwwm26aoIlCA1q&QnQ40$h0v5ge zx8h>XW7>!=DrCSx;#i||v*~%99EJ`-K8a)n>Tq|T!!x}blDMYO1yn1Kv0CYkcp4KI zQcw)G;(qSY`zTtqpWn+*gTEEcmP^#83$)cuL#j4xs+YUvO}|TRp4p!#Z$Q~9jsSkJ zpLM5?u~MRySXHhA;=p7Ju~9uP-JIg~A_h5b(hlRg>-1wOfGXn=ukgeiR=j6^FWoUm zpjy%k5$Fdsz<q@3o0%n*WA|2R0Gz=?Nxw=dha2M&^ECsoIB!iFo-We(<6J8s z?TFPu9Qmx*mHS7uZg7^=>*kaPT$Tc$uY+C|@Z#+rZ*_hAN%x!0F$;*$)@D<}D_>!R zxgvz9*5hlIYf>uzc;w2f`wO9R?0upQzO34PI{n~B9;G2W`9V_#NQChgW~+FJ63SscbhpnH7c|O;nD6h#dz+3{<{K#xvOPIK7*gt*-h? z{?t)Jf{XmHykB;vX2BUg?$L+Q*xz78Glx0TEOVYFM?FQ?P@ETD5&6oj&yDNpjDb>x z2>B^5S)hp)=RCg#v>y+qy8<$IRoUsHS5Ey`KCk$EkLg`WqLk}>=qGw680qigp1LOe zE=~mXMBCS+_)clTcIBOllX^4Ba%rcXI<`8Ny-W{vr!gGuy~8XZ{^!-~*>OT-)S|I)7FPR{f7JIJS#Y?+PhN4T;Gwau&{i2g*sALVp>q;Mg zG=Ond9!%Gg%rnlpf@rH+s-k)`$JrgyhpY-s`f7WcDaYL8c=)ahf8=n!W0I^}Igy%` zZmrVW2!NoXVar4!nCEB69;jS~t;NQ!I2*J&sHKBEgwmaUY(}1G&O1G2qEHF#s`a#$2fi zF0tren>Qcg9_VV8-%a{iBL)J!NOrrz`&u+N8u)qt7M?2>V=c;Y#nA=`d|{$Bok~o^ zsi52cF5RFXN%_+ey2}rH7kE0^u`055ROHx1w6EJKi^@~(g!32sd>_(jhFbicc`~Z5 zj5S6|P0k_-?1KcYO2u+%)TMgt;7KIsBEt8}bncTUlg3wH-XpimUTkyQV@K;O@PkoQ zuY&lYmA!eVeVd@e?lcJ=iMihR_c2)4K40&+Bzq_%cv<~su7TUSzhw6_DvL>CNBDck5;u(RR0;q)lI@v=$#Sn|0YX!2@=(D+ zR*;+LfM+HTnqWbb2FYENUY^yTZX*YKk;&aB!R&uc4@v{RYgMY`sOzAn$#eGJ+aoCW zx}xNC$kjZDIrI0p@(>#cau;46>=NvJ&J-lDH=9E+(xL-#$d`@VfvdX<+)nIQ`yo*7 z&*Z~AJAVsJt|TAY3f|nM#(u`qn(i^Yai-V;tY1@9?)%RWRjEtvpZw?jVdaHy}q~ zZLG5AqU$BB!jma!y%NC~Y02TauZ!723O9yZ)%-d9JJhZx-M|b8r+V4kQs{A0UZ>m1 zr8}v*FbI!ZiYh7zdcupZ8(%ycLU?LdjfrHH%YHpRxqV^`NTZw;Ow^df9hy>pmbnjc znVXoIz7?dSVH!s#J#D{jQZXeXrjUnwJ|<0n@#f&CMwNnp1?iWB!F{hxH4|I)mJAw% zX&tJzwc+c*OJ+px_E^3n{!-0e7&fcxSW-?63%>~oWI)>p+6W_KKVyU$(v*A-I1T5> z6IW`jqQT|(es(Hp#gC3>leu{&bAFv#?fB8e?tNpEx+-ho>UR{aebMhGuU&VH{e}n? z+pcn^tQl$}#ZP7K0ywrGP8`)vG`}U@L>REmkm(y=&=T1zY*K3M_>4PpODevmO7~iS z041`hppasa^hu^n#!^VnBKhzX-0sx z#y=m4_NEZ^&hWYvjCyEsZalcN_mwU!Y!rIyrnIM;;I!|Xmpqq9I0ahEa@aBTT|ccy zrGrre1f2-cR&-<~#Z;8Ex=gOyiN3+)iCfReK(SojZTl;$LxMM~j%&4j42VG0@*0S~tN-;l=DgbY z5$;$TXTkd%fJb@k1CdljH8A^5;o2@H<6Qchx7%;X4yhe(eVT&IGfB&$F4#LV%h2vJ zS&M4X&f7cAOXQzcdtMlE_YrCFzRz)=4^^3mV-(BRVnqe13OvbX$kYP+Uf8f1sb=bF z6+ieUROdmg-M7ZZS%?)ktD0&7>|b5J!sEp?Fhm2xZSb*`n7*=#GFQ?>!UnnI=HA+7 zY8IIgD>I9ZIUci7{2jl#8|I^!^6kS`$&NAo2BLJWga-l{7Ep|YDz$9zmz+4>!@vMM zYe40}wpxopUodVGXE0anIk}$q-)Ct5U+;j$Y{0^gY+pd@502@!j!E~IsuY;elb_sr zwim4;tW;=JXu9L%ZaRe%MgsIx=_4qP5NPgY#ICfgM_s^;qt38r{Ay3$L~P2nD40dP z0v0q97=tL>gC(XQ`A@ftm(7PzGtpKI*AS{<)~XDgvYAz%rTSCtboNU=lO2e7^6Aq{ zdU4yVH{mKrV36p(&k`HF4evbFCe>V(k`|$R{Q*O`g9%^@MAHulB!P!N(qt04mQ(o) z6q;s%%d&Wcz&#(`fsa?=e@t*zW$rI&)J?KUwDoyEnf|Mm*{#Jn{Sb@#=bW7no+gL%LU+}0Log^R?Fe?dRtjK}-08r50-QMV zdVozk^bi14F7dUWinSs;mwKW;`qNavK6P7Nyrzm4s9aHbET*5#6&GoNbm2d*W3@JT zz*(oVF3rA#l{WGZv=&JDWG`7*=5G2h@?#aLF{!w}$EO(OX9f8c;x0ra9Pa5C_3!2? z9k9x{7C?eC@xB-z1ayv3fYu;-Qn7xTk7srTwtzVS?fA<^(0yn2KeZZUyhR<8VqRO1 z3543tI=oqz;TiM#Sz#S>SAC!*+4%G$waT_xngQq4cD~nf5|)zKwtGMOihpRlE-iwy z6<(xVg!a201IzXB8NG0%Dx2zoxPP-8p`CC4vzi|rY8kpX#`N@)H}hmGcc+2&=qp@X zTONY7|HqbUE82s_luKKG=>0TZFboz+QgiiqX`go%1 zu~nGnxab2oS=Z+}_*lMj>Z-S`_JQz6Vk_3yAUm#5Qi`>V7-Vr;f8b1gFkyq;-N0wR zn+I`m&My2P8YuV@WA|a}*t1~Sju5W#%CyzR(XFTT^`YuEToOob-wZ2e@(7=AGo6>4 zLnUIBv2z93$W6q<`zn)_i|NX-rpfmFN#P9pd=d01(08M>v;yBo2361lg6P>!DA1?j z=RQwmC*uCzr*~a0hJd}jT%e#PRLpM|e9tf^b#Qa*dT-h)oK zf?u@=GDBxFBG71A5`f|aEq$O~xeeWSfM%fn!Z{h*Ytz21}R^b{E6 zUR@Y|hpr9b)ddfJ^UeN4UpT)UBm4jBGhL@$jqL5BdrRLHN2>X2A&i`p?@|{;ccNQL z!NPC+ZbnP9thS?GdAXj^E&@zzwhZ7m^FHCH7nJI41*ld)cTXzw^W_h#bpXmRu4(`k zNe1AyL{f~juWQBvCF1})!0hw)M8}#B9fmRDNe+kbYL$)l`R9-uz*hK_5Bjb02r7UF zkdl`}|0`$9PT-nP+401(coi%J&m^t{Fv?^Eao09rxO8QlkPCp9$_H6sImcvA1=?2f z647P82f+MS1=OB?feiL{m!a6}ztm2{v<+V^p#yiNm45;rdIOmub({*gaH5x8})!EBr&uu&)Uqm*3`~fHB%H(4p~E zIZhCG{277Az8^n`w^!n*S?$_^BQ5?W#umSa!I{v@~2?6G?|^Y6krqzg=j7*wn7%|!llJ2TAJEp z4%KszPK zggG>g*QSB#ys9FrCB3V>pde+VNww4ySSQ$Sv?1+&9$HWYJ>7%G?G{w;0hRB=hd##= zKZab3Hic$Ys=_XLeC&$ozcchSY0Gpq1yC9CEGC{`BgVg;ECoseH;z*lHQDCOzOFnf zfoRVmWR7HBC}>oN*IoK{u`Db=N!6bdP8(4OjPc+7^6_1dfKsq`$+;_4zS4D7A_dg3 z^XAw@w^&8;baPM~WPbYn^xs0kp@ums|IGOQ%@H5{Cv*Had>lRuQg_1gbR1x3x)Cz3 zTwWN7l6_ndR=oDMD;&4)O!(r~j`cT`CTIC`S_^r6cMg@hbuS{PUAPCcKAC%~|Fd_d z^Y=2)LL$E{F%LGKph5Go2wbLb)T`Ny>PhvO)AN14GL)L%tyz;7_PM$*k~KirQ!=Bv z*f_>ozI8wBaF9{`f#6`84Dpm-fkv=v4N9|`;WiTg@GhI$$B z#?Es?oGvik6$2HGNf^#C6ABTGX+QjZqU0EGqCry1Q`^E9jCK_;#L!~>1%<__MlIlJ zqdRtP9HbANSo-%9Tf%`tj-kMixh%ZC+Z`~XHNfkX%VH+6qzvzG&-`YdMiD~*Je}8 z$iU!E^UgBL&q#NNTxnQoHY^z0*-qWU3Sq(eKUiSh$xfT7eZb1VTIVkHx+EW-GpnQRrnCN%YE2H4i-1+I*jZn= zx>PUQk$4Q&S4&=K(A}bVEamO3d0nUjiuXwcTehmpA`F=T)4{?P&!j z)9ymU4+F6{7SZh7+j{%NZ(04V;7jb`Fj{zJ%+x&Xw(aPxEY%7A_Uaa?hmjZZYnpXN zdC3yHii-dlNq-aF(ZV0Ux6AQiI(IUlJPOUc2h$t%eyHES2z})$GQe*gcs>KAHkKBP z<&0huZb)&m$_@+bdhv$%b{!6kG5KmPT@`lFX)ZJ@tzhTwhX@j9(Jv+%_b}sAvVCbR z#_{de75P`ISIMlePeq6PkR=GR-fIPX&HSp*b*8w-a0IS-d;=w8Ac;%V+H>V;W& z6FXm>pKB8-h;3xaHQJmW3n^6mgl+C>l8x}1E@Bu#LVPhs9s8-jC4O%icoTfqB%TGb zl%wWjkffN%NeSQ@ZA58<&X3VFk*w1KF5ifq9({TEZ%ULu2~Pf> zQlMN3UW@i>l||=m0cAunA+pkTNiWTs4&Udh!Xdg+?5h&&-~g6#>m@;|%}l~3bWUT@ z+2g=fVO$M8?7!ZD1ooULtR;`xv4`(9wCxdtVCg?q^u&fBcy zND*a<6|l*T;PZ`T_&E1Y{YoWX4Z4vthx!GgvquVi7Dup^TbCOV-^Z`^>oM@4 z5f+v>DfN+zulPioIk?K&psyU=NBDAF@}7a|s|iDT&MHEdt8YhAR?fEP|?C*BxSIzCQ2w&hpo zi`!ANZKhf1BDw0*RiQ=1-^as_lF4!?gE}HC5S@VzJgIGD(OuC$kxII8*Qu#c<^UM~ z@3!`pk!i_|XW=re*9&1^XPSeJ5f4PM%X@PP#ondU4tc#!8}1V6H`fkG{3eQ1Qy)8q ztQw+MvroQQ)M3@0jL6pe1V?q$%P=3{`?B$lU!*UZvAszr!k*2$=eqH61!^Vhdb!`t$>J0l>>?N+l4ppK1I>3%%>9_et z9(05oSc|FyTj<0Qo2jvt7v)&8JhfsR`vI@L>}6+>d8+yKDMUf~u>q2~W^Wd0dW&)T z@{b}dUm>FKdEe{Ko1VrNWFhq3Ksx-&^oIg~cx*WA#Z=pHT(q0fQPbSW=b?sXV$}PA)T=9y* z-JVkOXIprujUX}zu~%7d0IoIdXeqyl_B!HsZ%5%q~h#l;&ua# z$*XITQ|VIr_nn=5Jz?MvL#*>mhr!lH7Q_|NXrg5n+gq zV7n;Cm0#bm9AU}nmmjUn`XK%4z?{NxF4kWBd^OGhoyc>3e|F-3`@HEn0^I@sC;X4`P^%891R);*Q)hlZPH zC_@w47o~YTh2w@|ME0TefU79*(9QcM9lL^8&O3c}!IeyN^VfI&6ww0Uvj3hQGuD2D zeGR^D9<@iMG2G%T0|$*L*38W!OXIK7emYIr5vUCKp&BQWpvwye(W|8riUm(?V~%&p zu$r1Jt;6tmh0e5UhvPAbIXh!oqSIHN-)L0NCy~A~s5c*l#14SH&c6@Pf6g7z3pUvi zNW(V?4$njgq;0MgWir+|w>@?sHPDc8{$Uu|w-I6LwN`Fe;rXY)lD}lTym9pMGI;Qx zK2Pp{-u3rzod0Qwf5Zg+f4(KW`*A=4AjwhioYZ0d%!CM-0{`;V0V5AE>5TH@#0wrt zTeKt?Za>#ox*ka=@QApTL{!?h7x38o`>9k$mq3>|s#J7_FI4j7~XcT!dWnNv(zT*K27`~t;I?&L0N zG8D}`gmg3DsoIBeqQ#Dgh-IJQ0S8}y@L>A225-LS`Y-)nC;b8i$+(1-1wFv@w3Y@b zCIc)0o#g#qEg25*^S!Q807$aibT^i}mPC-m=fNmreec_;n?zZAjT`&HqAd0*U~~Y> z2_6K>EC{MIJ{Y6y-bZ$vZH){wPDC>T%HCp9Q2e?@c`;W!EPiT6S{(>UcstPcxy`t3 zqJtuXETOEoHTb^yJ#PS&lwGtqr~ZvfZW&s-)p8F#dHejl;Ej?;TKxOp{u2Nm2Y`n37YN{4H&^g18N{=rc01Z>w)Se1=1h#~>XNw(?n;L%(>lA5P_AouevxJi z|IJ-~0WpRi%Txwi9hX9OtB1JQ9cxm4ggKWP1UbKKq!gxdQ`F9D-VK$Zjp}7*mcCms zd&=*061Hf+7Oi%@s-yhA(s#d`T{iwptLp)J?{bDvR6jMfFvJmu18TY$&13$fSu*KN z|51ce{jBh{Sd}P0LKh+>R-je4*s(lF=qj+R`{O%Qe!f$-Gtj7wAx><69tgdJ6*R$6 z3?*9IAI_)>5I)-oy9thvx`nip5SY<*^S27sq~9MAJ<&u@V6H%^u#D<^Wz$?H59~t2E!Q|v@{S|#%Y#9G;Gd-bAXNVYCjSE*Rk2j}G?$jeaMb~+ zb4A&|K!u+T9;FUnSdQ zuc^vHc;Dp*DpP$@T6Ulp3zr7G=l41?887JBW7x4;z);%*7DvgnFO^2)8P{`ez_gs% zhQ7+swKRo^R59GWJ|Jl(+WACg)F`+9^36+MyidOnXR!%ie2`Y8iuIQ8YCJNm4OY-j zlpjU#lTHx!xf42bF?uQ-J8;9qtBOv^9Y^F0iG*1m#^0D_ob|6Hh)i)FO~hYr{|1zZ z$?xVuN3?(YX+;o1anBR6R_bK+#OC}Y@^?Xk$9sOx_Y%nE)T9YZ0F8JN>0}+)pyMOWG=xPZ?+Jj`##|XMcReCe$kUiY!^kK$B7| z{lvtfu}}RXt4LE@%8wi?w)&u#%T5%7?#XV#s*A11Ee6Ljz+UT??6w_791pA9LX`5? zD#PiLRRIn4qeuU3(MsH}60a0*jc>mVK=%W|oEHCnz**DtYBT4&^q&cy;6E`y1GD&} zE1*kAixaB-yczsMptkM?0u>_y-~s_<&27W67`ni$Mj0ZTZ8-{vbxEZo1gq*zhw5*;%~C>F^Icas5W~++^To# zfppvw5k3QVJ{m>B_XbZt?sqqDwxinbuVaklJ4fDM6t_~0>9=Oay8Aj8-cCitAJq*a zBP#rOI@@@RBC9?)1blw4R2{n|v3fvg6K7R_cW`t^DZs_aTl7lS-a$u`Kw@CQ2A+9j z+pBatwv-h@k{`CjN&G`mtGxI6t8TZmAI9m?ZCrj^ifmjh!-qd>;~D(9BlRtAb3WW? z*q?FRH&$69v9ZXIBlIXyX8+)bsK~vYlJAf?`7wtKBO6^9`*d7Ta5WikCJAQ9)F$7j z6*97Y-JxRP7oDbL+Vi+4ey8%n;lg($Ljmj=n_fG4S9Sf^O=rHWJdnF7)>paN5881i z9_~bu5LNJVy-x8*za|F>(rFo?32b>^G(Rc~~Hh<`<~QwBOU)jz!ExU#ibWnD=`qNcHwDqqlLP zRY6pli@Q&!1kjbDz;c9i){zJ&D^u#t|6||yROLojatf!?80k}+pUL6WKB=Ep)Wve< z_hc(mBv!(Ux9yCx)jq;U$^jt=+C1j$t`uVG5Lls9OAr6iBYyXa|N8rX3;2~^f&~L8 zL}ube4gQ&d-C{enquUmXZA5P2=keYAG*pEkeJ0q?`VRB=Peku(V?f_FRi!<9g6ILT zWFKP$T4#Jbizrd+WH@x;&j8z%cbSfYn?U^Zocj;dN6`;R*Yl&C^HRz*_8 zM^W_=&q=;A^-wP5gvH56jJ?v>Du!x=bx6Li5T(_3nVOg>Dmgj7@D|IRaPexW(5T)! z)h4{_>&nWj){yjBxiQO)!;N$hmH6bXA524x-HBFp#Xmy{M9=DW} z8sWXrpHbVbN8Np={oJo6Y*po^#oXKdN!?3tU!;FCH_Q=o$p3m4E;JKe@U)MsdalED zN6yYhQAwCV@OHO)v#ORSEd6pL<$*7rrd7~6myvRH{lV*Jq|6CDS5LJXpB039##yfA zc3NV5(!HY4j>K~C-LjVT*S1Cl zd}9*dt~2l|dnULex6jP001cy<@ADqSU28RWqUM^4jxQ=*sW)^u1nzBW_<>qca{>I0 z12WLV+8D8HLX8+Q%F>3Q?)v$EDq#~9wgnEZ(BDGhtI0$3W%{;o*g z@FTMO5y1-6#%!iwi)>)vMJp|nbonEc?we*8>Il6gCg-J>H<@^(PP;*msJi$CkefZ< ze}SHjSv5lJ0*lU{-TErb^fm62G>sXShtq0n@a9C2spV8)Eyj+$X5%>vm3Y=o zMhdTMktFIRNy|P`*GO-?zE$@TRN;xL$ECEBL4WcBb?3+BUfzR2V!#CHi*h|DG6s|i zsl~%)8VQZ+uFsk$L`%zgr?l|BRaNyS*$P@(ZI<)RjyK)({FH2;Q(iLl{`(5uN%jwHT&pD0&;PrBah=)B2% z&R6*Bfzd96f4AMlqGJx9t{b$+(tdO^flM5RdP zDRUtREPYUw2M_Lvub3dtW&(rY$QiGDwHJepwv%P(?@N{?g3ZAnx( zE;AdYd(?%PrgFw3Bg}n^?L8eQwKl}g^meifv)(q3yB;Y$@(kGgx_3EQ)mD#upq7YL z*K1}ywE~>BIkPq6l3s823q(N9C<|^w_|BJCme=jKZqsQiy0g9cSB?Jv%4>s{_@A;Y zqJrVbD^>8}m2&}j`IEhFuPeqRZwNRm&n<*Ofi65B>335XpmkJVgVh#?UY5DkO0(+&dpId#FlvoD)qU+&vMxP z0isv5?=2HMcVvH_FDVsb?7mD*HZ8Y1PSzSdV|Iz|)T9lw_W1>Zthi|ge>l3`cCW!` z8LMoykXqFy1CH&gXG|=(NU)H2JUQG`%o>oU#2SDZZ5zBuY$MyWAZ?)t_O4Joc7_(r<(dcE_zz1JI zt0huNvf=yL){BZ$(Ul_Stp=!*s3WOz8BNK-zyY3a+K098gD^FIPH$a^If-AY7U2{d zM~<>C%sWxLQQO|m3hYkpb)!Mr*H0uiR#l`$m@zx*0faD?!wjzr-t(uU@OU4@`O~^d z8%gJ;`_t2!FkT01I|B|hG)>g^VkW4?K&{xXUvom*rW|Wa)PNru<#!g?FzY3VZvbR>;>97n9XM-GHde63>RjHh;y~+j zltzX$wbeBRwhy5n>nAm~EsTs+-&dViyDzt#v<*5DbEIFdT(N=~4h~&8isC5-y>esO-ftVbigxQcW>13lOCsFGiirr^g1<@$EEV21X+?@87jX)Gtr3do)n1# zuk+J4cd~`V1qtK7X^cudWCaOTKDZ5^?X^AIaNv4QrhVW7kssWH`~n=;Oz zbEb%b(rw7xAK`}w)12`uYcwz?_|+u3Jz7!OAtCgo&(ar-Z7fx!(|t?7FN;Pm>6*w= z_&vEDU*ONG*Z3^H6+}VDB|g{b0^>~C7ko6e6@%-$$dmR4`Uk-haWwqS>Ot8}*tWin zKoGX&U7OrUydT%N(m6%>jWjN| z!F!#UZuzM%03}xFEY`=TpoThO)Y$kO(d3R1zOU(Xy@%bEyKw*USt>kxURk zp!zSDR@DNbKRjGj0s7RMv@gJGR&zbS`Ui~aML6|fDgPIU#^mouC1Fzar@~nRM(2BLDBs8(k@#mpSd-3pnNKbp zVs$-7Ap?#TEZTSZ`S@g1ehNI|B4284$Bq;@q&TLSZZuWf8wZ#(dmp~!sy^VSALxRD zGw4&kzqJ|Bt)?#1xHN4(^RC&#I(if@2$5vVb}im$BO4VtC-b`234s)2fjyD-h@L^G z<)v-jDV(4tEp)gNct{u6V`Wd@S8D7*V;3>ra0~-ufcjCy(6pe}`R<(o=er3Hd%LH%nMM7PS%wdPU)EaLMGx4ls7@DA=Z}UVo-mX0EcgxJhz* zj#Wx&W>KM$m4Jz72GR|+-aWm=iSL2ZLO0IvttE{b-JgL;H4>O=|0xsw$Ls&M;#eSOrG&*wYn%G%U6!x_(e)Z!VeN`={3R(vlrqO~*8L8J?6P=aY> zN}y-yCL-<^$Z_1;WVFqDyjea>KC}e*^YH@_=+bOT51Rm#s+QXLalLr5tpcmpwU6A1 z%T&t{U$ybviCU~6|BTnO3KV*iszG#RWJsvthqGx@w%SBdx^Vs0x zyzYANA!fhS7L!GOf=6T9l>*LuA{%Jqg;YbtqQg>}YKVIyr{Sw@)BBd8{)Cn$LHZav z-})SuG=9JlM(`N1Ue}cRzj628QB8H*-f&bD6cB0BK?OmnN|hQFX(A#Zy+j2Bj1cLa z2nZ;>2q*}lBVBqY(z|pJ5JCs32{n)q-{o`8dB6KS=iYO_cZ_e`d%yP&$jBba-aBj0 zwbq=!`J2C4P*-g5Y2r9@(JeIeYfGYUsH*D?t!gQ{hNc|(_`Q-tr!hqJC(H!%hgQYJ z*=-}wyn-TZM#5@rg2);SQnp2F!&+XEJ*VMupfzIj!)$d&BBv^Wg1OFR8Wy!c;d)Wf z?-G}z-Be8Se6tMWraxRzs^Q9To$@9j&ikS4W4AWQMA|fSJjWr~&S>?TXVKdmMr)E% zH?4K1TdsIgzf`$epP0w4%2T;x5h>>;6gF!?mG0mefY+Rd_p#a3lvPT}xa3jC5{!)3 zWaMl)l2d$XL!q2CC@6Nix-sO{+biwLF_y;3!*iP0p6;$oGs z&3UT)^AwkoDI}I*r;+nJT7ZR)?7ENJddnJHA0J+BV1*Paln{6m_EuKiJ#2e9h3|{J zJ&aOk4yu)nMS)K@+0Jeq(b%ByEL@<%-J}Kjebn|<1&r3B#LxI$p-&%2uRp(diFo)4 zH^buU$sCED2NSV%QvHUdOG{6Bia+xNoQk`(B5QGQNnZfx*d}Fm8Vj^v<0UU@AD0Y{ z7w+8?u|277&#uY+`e##K9ARy!z{*kGgh0O$$F-}o{0oAfK>UI*r~mnFQGgdW&T%98 zYE@|s*yD-18H!mNpQm2{dwm#gf4-UO;-t3d;b@&O&azbAxxd(=s~F!V*NAm(1K*B{ZKo{tO z#MK76!T>p-i6VhK92x-6e|py-A2N6FrjXb7%1GTvqNb^VCP!H>l}l)0w|MlMan>ld z<85i?)!UziND^)e^P0m&Fzu>R|A(qqYghx59N|3nJ(JI3EQ<3Oo|D-@!fC|!#yU*v z`bvEM^$#A!%v-$?7LK0WIEehg_F;o3eExoIK*3_<=eG|zFE0cM*RpD)?rg{S>kBLJ zyE#zn9Xv3uUTi2=3;({JZN20c?-ZqUEi|L#^EdO*(om`H?N7Yxg>A7@5k(FE`ogtJ z_>t6UJmqbiWGcsIvV`YT8H4txj`lLMQmS`(j3*>OJ#g*G3y+tn#0uP`Dc!Q&O5 zc_P1uX=DYSwWtgq&inFlN%v+NE!*tJ*SEedgbo*799rQiD&E6P3PM-1fmeep!;o$o zO>n)HyP2|5!D@+qD}LbDH7#pBq5eIDQR&>-OTM3I?&H^*8l(q^mitjz>P}ZHzgzkp zwRuX%n$U$U_PlL1CZ{@ce#pPEVD;hg9plu!Y$ES8=PyXg{zp(P29lY$$H+g=V%XII zRjW}HHqp(Kx{Sl4ukA5UZ!Lc`rz$h_}l{dKrR*D%}Xu$W^vC@I!NPw4;ZVfnxK ziT}6$G~Esfbs?iB_k6pV`ge+#qo;MF6wPmS$iGrqhH;HGc##8Q2fa3E4m}Rtee86i z4d`)^l-GVi2v%SZ8m&kCNoZ1S9@Jv86@hFtiWFkBhYkQJ%axy~eSk+Q*CU_->{$Hx z2#`7U?f-{Q{U5zDVxb$}@EK~w{X9SDTbZrE-6_$&<|E#W1lM;Kl^0fJVJ$ZpD8)|8 zvaU*t1vV-%v-xs)>35>o1qJ|Etc;H^QNie(V z8zGW2)eiC?=aw*}z@oQYc-R`6_z_UY5|Kx&4VRF!$U-nemQJ4SQZ<&yW<@WMu}S+l z16Z6~0I_`OJ`vwVOfk&FinCpPZX% zjP{UteSr7wN_YX9NfY2f0}4&oHbIC{oNGeAW%TD~IBO*0#7DU)1i*BcxT;122ZVY` zZkdUdaim1sN2@(NR^c>Wad->>lLU<`uYZffJ>Y$P5|sUDNWMPzhg6)euf!OU1MA^N zm~#zsx~?ZJWM}99qg|kc-0y}(tV5lj7BiK3v^0kbtA@8efeJ4@vDM-u5NlyDz@%RJ zWUaVUfahz`bk~MIx$jP;S?5Y%xz*^dmeLcu-)7*L48@)g!-+IY$y}_pU7pa`;R(JS zcNQXR5%$I9OXqSbnI8oYSFh$<&J&{zEck@wyJNO>Ass#z&Yi(-owAl;#XFZ9mp@ygEY?^}0N$aMMj&L+p`KFzG^H_UbtWPaD-^tuLoUUXd%GQ{sDO$%gu{KC-K_ zZjRHc6PW)fcisDzsemc8ddH%v)g@)4&EVP&dB-bCF^ZrUhpR_}^AGEi2UpJu6{bX` zC9p)Mx2?YF>T)N$aECmLUxUk_7E3BJ&;5hhp~=x(SF89kidnRR;?m6PSIYc7aiPby zppO){qaXg~JidXIC^WX`?_`Vc`8GOA6(HB_d`W;-_t`01K6mz{&+X*QMcqyCwTQ`~ z_DE9`H_s+Xk2enWrJdfN$5ZrfR_hv2N{SYgXURI;a^`W!YEa@Wd-py$8>n0jkJg$E3}vuzm+MW>{{nWwrfxfko&frX4j-y4de^6`?R*&H}*wXVnu; z%z?BPq23FwwqKK_?tJC3^vN&krI{#gr0h3%l`mSY*)V&#i6#28%c$=hS~!mB|B&zxva{*9psB4u3k7VpZ!!gJWv!Hl_KR ze0_{)JL4`vfS$4TcyRG3b^|q0R$VavF_V9jkp5iigyC&%xn#9(2mN;+fi@b^+bbj!@;uUs>4p_Qm!#WAU91hf1Twoi_9<1JNEi8;0d$(%^K&A zMqwd7v?C&Wlzo+Erb#|>Y9cWVmm*}AY!nu5E<1&)b#{=Q07;d9UKU0G{lXE%ABy@d zG(?d-4Cw)&wf2HaKiCB*7CnYM6wRCFo03QF3k};kBVS8a?law({yyav(h}3?h`1De z-Q3pYICj9d`8wGJ6*ATXeq7P`#iM<~jCaxGo{%Dtr!^g0A6$D}AGbZze7@9^>i*9C zUha)>@kfU5n!@4Z@b~M+fMcQh^nVP;;#8N2oX8yf*kOs}N!NR&!{1^c^2FT~sxR|r zYG{IFlq*xcvnC%^(i(o5{upHtv|{h)5wU1m&v;m2{I!a`=tj7eI<4-o_Is3g+VCfm zz{I(qN6Eb}2MaueLsQudg_7eYa~4TbSpCqfF*(g#y!O^ZKyWELhH3^I=fwxi8e~@4 ze7F&KJ74?Bg^ic&(YGKYL9-3DT!Cc_L%Y39%^pR8TfLi!wr8^C_v-tt7u4eB^!=o$ zFU5Aoz`s0W-;^dF&Tdfm%!9j7nK?|l?6N7VDPZOeU*U6j1KIqur&TP)a<2{@dMZ4h z$Ue~xQRAo``+5HuTC`R?ua=!hDyv+0VmwJyijt65wkczSS8Qvy-!K)qHh!;tPj)^E>GM}wu@IjA9v=bBS!$gl{osYaX1BQRIHyf4iXUjwxJb|6x^=`_t$pL)Fd+Vs zF!?WFLPUBg7W-@CRNihBnj5A>AI*qL9Xla92xCP=#(%?oC~Cm#%-Sk%&uz}D?+Ein zWk!((uKnn7czEiGgQtGeFg{|~hRD}Bq44f}cnM>)apF7G9br2*r*QIfXLnDf93^KY zG~-dT_3Evh%;96I7mJW*QZ2pNT}#DpLZcknTh()=P2OX6jyYhx=Tj zdTv*mvfqDrRFKrN57{|_HKOV6lCD*UG&iVuYVKD!`08L7w5oQLwmV zLT~HAxUo)EgQu~LU}hz)inHiDUfXRJ(OH)u{##nf5wi{N<}g%0kDdqR76yyk@^-$Q zttySPu@jLzZLnZrq3geB5_`rZZuT{o)C3Bf?REJVyVSZC<@_mATut{3KAxQ)#*@n1}PBmhr1)--xP2;B@(?YxiaZ z=&}gfWkF~Nn^pA}4`wvqNx;2DQ~?oY&-CGJg`%b9oOptbG1;uvbHRrvR%9QKt51>8 zML%E2Zt)!>K^I*tqDhk;4{bhrBbktevdymySl@*Ud_PdVQtiLNRd+dNlU~rmS&lvY zjKezVtXqPb#Q5g(GT%LB@fGtxTZesc~!t;^$kh2f*iX>mI zLoume5GEDkbqocv9}w<%pZ|i)ttQ%;^da%c9r_XDqd^Q1G$ATshaQ8X3ejz=GT26v zqGoO74oBdyf5$WzWut}fbrtY*87mMx;*hGhZ$0Q!N`vDMa5-v4n#^KaoF~OnNL5HWsQZcHB7 zSF-dmP6E&O-%Ou^1`D8410HQ6p=sY`gXDTl^G<=$O{#^HG4Zjjkws;3(q(m1exYY; zy6P^sCl?Gibxjo)$={zD+1@^HFqSel1pAk!DdnwpzrCkS|3CRypjWq&H$Y|1xi)d_ zQh<`Uk7#@i^iR+9HkarCOyf@j`T3j%_tFm+}Y;p=O3mTd=u zJ+~J=5gtpS&iiowJcoy?}byhhThO{z8pL)En=znu_=!KHM++oPmkv`9J$voQ$YXbT@G?=9d*PnGyUhAx3l47 z9r6;$G%>Pq!B|#043;3Qx)~v#iuqEwVj*tv5g?kj1Lb5D$Ri>6D2WN2DkKXz2|H%p zTSx}X`KTHIi~!c;N;y#ZhW(ok8>2gTtv;Htq(5YJ{?y0t-}RnR=!zg;JJMy+@WjJ- zTl4JcmKwVtiOx~+n4ED%=8#s1TtE4Pu=U`Kn%5gF3o~5({P@!S#3ACHT%SRG9A0gY zQvSZkSsNjwJ=0qu!KZP&bt7_bXnWH!bY0!A)X8rvrc7@Cri=(h2;=m93+kZmSwB5C zgYw;$+Pa%3ToO|>5OAI`+SLnn-Qr75WJap1wg%sN{1@!p8mFS-kG(vAgDKK;|z zLt4h@O)#iarQE$acYN+4twwKiTF7`u`$l4}zl)Hbc3@N{`rR!3(eXE3l8i@xFFN_( zO;Ul({UB(PTJJd9w;?|V3us{UzcWx4cD5khH8!iN;(f1JDV^cC#iJIgYqtow>E-T# zMPg$ow&F;z$FC!M_?pppYH**NS*XeQcI56^>=x;iCg2pUExWvUDj})3WHrFIzl2*p zKIsJl*4IM-$~jUbIJsf}{$2Y&KC5jLI&4TTrVs+H)Q>=}(9ZS|&r|^t{hryu{sP|D z(Ms;7f%U~`)zA=o>io<(o+qM#vGLrWe^AUvdg%A@45?*W2tU{G^tAtMrs?V`7q73= zG1x8l&2+&<`uTIYXf>XgF^SZfEgG;T8qRIdC=yi0k!4#cB?RSO671uZtc_}xw)J`L zTWbb;dz$M|Y#MySW34?QtS)MNoZHwY^sBF6&$;d^kiEAGZ+y{L_BpLC zX8$v;#Eowz;w`)Qv$e+&1paAhtq;;47$d#vDc;`y8WZ|?t$)GJ>oiWMtq;dE$M;t5 zULUuLx62m!r{M4}G`~p{mgbLjI={&zXUFjR!N<`Snq=8w3Q{&gGAdUKBiL34+qp~V z%=wEMCx_pe@itz%kS)F9d}9jbrp)%omYHd*3 zw}cgPfcQV`n!D@K9%zKXt3N@Uh3jK3@M^e)xinoDk{a(4R%oTD7bwwLtS_@+7B+XD ze*CiY8xYz-2h$VTuQx~4#z`2ok=uu1 zLx?6I0;os@>ti@@$9oE1R($U+Txws(W%Q=w5vIyRV-L&X^=xdpgH+;GDy&Jpc9|)~ z?>`E~^cbGd<8yq+!>$V1yN`q7l}N(Ke&a{L0NXV{_gy_uW%rjONyK;dXr0xF?*x+S zTfpc-wP22X&_yqb=#Il&ihdJ0vSXa7aBHmVu6MVOWIH*3I)^mAB00J2uXYW-W3i`l z)6)tU^{%K6FaIA$+c+l>jN@yAQMhRu#NS7c@Wg2OD)!lCkDHj)*F;5HUQi|(aHCM{ zj;4G;M5Ro8sY=C&6P)0!`LN1#z|>fkgY6Ti$}0zoRfu{L0ad+a|lxQ9JQ@;1KY8dWh|6!v4&Oz>t6)8!2>x$AJQ!twq$W7bZ#j39v zcydqb`w#C;ei{u5mUEshBD-3P4{4FndmVrJjZm&x>&vU$ER^+u_EDcaf{ThkYB(a` zX>p=4?qNuJvsbchM*LCe4WXtd90T!BtDeS3C8v+R&9SjOe(~T{`Km)zV*`AmbIo=G zW2+wbMUC&>R-qZM!CYlHMUro`MX97b@{JGUJNGP;>6Ho`^Hu#g*}O_Nnr?0ZTWxuy z`%qE$hOrSWv<_Nm2)bt3)n=_;ta%eb{b|3_zAIkz(sQS<_mS%-r7t_&R^F9J<;=8^ zAnxCsx_eN8%P2J#eBH?^{Uo&e)9Y3)vb~A#E7qej2HzfMpBbJTsT^7aG+OM9GFjt~ zdll%KVATm#^{`dt{+^TB!~7QEt-VgeTH50YdZ77MWYa&2MF0Lu(+7J8;CbyjV*ovR zqL114c6qaZL3j?nBKIi)9)GVDCQk&@Iy!a^L!g`jd;fA#ss!|quK_q3Urb;}y!?dq zt>ZD8V<#y8Eb3rge{VlLZ>EUo^8&ixcc^AoZKi_NCqX5+2v)?5B9o$k930o@A^hFo zYx%t=|G0_6$^Dw+v^q5`4T)A0ud-fN+qZ!z2mI9uEmeY75ue>uG%s{i(lOaT(`(}w zgoX|u0pe&)O61JdK5(b{AB}IO-c8Sz+^mb}7cD&VO)QlC=68eECfD*st8|;6s~?YO zbAcx#yhEx&ll1eFR-9#*5xZF0Y;K#{%Qzu29^ZXtwupndh($q_ z+W&R+{Ng?k$b9Ri9Cg1UXjV^;ncr4e6$GUx`Rju=j_2z|H2gswMW6rrF2OC1!d7UV zPc=Q1itI7{%r$n%nVTkklFbgiyqg$Y|Bq~w@=@w!duNy zz9ZVt31H~p6LQIyYyB06oSc#_U1+X;Qwis&)5D1e8{Dul%wT?%tMs@8pFR&b8E(87 zgP=Bg>rx}4w13OCP&mqZZk2E_F0#~y534J#rYFxDedxH;mILZ~Sr?OIY(5jE@vfhZ zY#`J!lm*la;oXoE3waOjxt&A1ayfbERv~S-=#3^j5j4I;a>lwi)DyQD)mYtvlJ<^E z8vdMy4G&Q_=VNr`Fw}f}7e}^iB?r}fY|ytbCHECraA)G*cz9<{N#S`LT=tHnS}+WC zt}}4&XWRuQ`0)8hgW|S#e-tETXlARsd)Q`OoOyFMH=p&U!$#R>4EIU+a09uUf6Gw= zYEA%3A5wu*AMPzLtI4SGd_hgG$ewB!-8#V#_23QUWOTAIBiRB`-5xj@6*yr!{mi#>Jh{CSj(ODSQxLZJ|UDjPqr>scFO zio6rljKs#kmC6pwq%-QSNysM6n1r<6R{KU1{fdJ5rN!b;Bwd}}QCnC+=bUmf#sK#) zZ+02mSYCNyLh)s#Cr{X$X9#JZj_}0=iz_Nk5iwj+HkitT@Lf+AzvgBIniAiPXmiH; zH@KXrAGHl+_#ZtzEqgrC?h^6j8wGQ0FnUwBaIO<>Cq*tywJ-d5F|aZy^rQ2&WL=u= z`iR))YZHkFClxl5 zU*1Rg!Xp5al+k2c_On2bo}5me44Rey*zL$k<46fudt8{f6b~z*4jLf zgS;t9iS>=@;I|q6&&-e$_Fqo|8=~yCb#0gq**%Q<1-a1u7U5%noPmuQA91CX=`SOQ za_V!?;}dd1z)g;a5~Ec9dO+*AC}5K`hn{1>(QG$^#YJT$mhlk4Jbzv4wEmq#e|#4V z_gkwLXg3Y7N~CHRvrqW}~t2*vXFywidup|Lm-;G*o3VJk@|frqrM z#P!cdCh%rkn>6@9FGb=PAUPj(bXCa*R5vuYG=PP%pS}r$KkEqa9|q(m!rwZBTJswtJ>z_Rxs(#o+<;|+=*A&*h0>sRy7>=9G@@ImO&}q zk7yIu@2Ykt-dVnblVtIZmLsg*>k$0H(5JRw#qHTE z^3z)M;u=d#J}0QMd211DZh0+6QbZnFL$?Yz1yNwuP2$5e+*4mBBj2jC>Uiu3{eypw zmZc}GZ>qf`4qDOvwrpHNO^`@F!)7S)sQHnbxch}^yKh^!-l5%-dXvTp?W5_a{cmG- z>4WKsvj@%NI%@6v4xMQoP2FU)3;t4@hq_Q<8JhdqpPqV{de!?7OcC{eSe5e|uH!m% z?SWaJ-SU`Be0ZIH1oJAlX}o5ozu{0BXm(UldDB3sYy2bMGjqW~z6mb7rRy;}0w=UO z3sP?1loYo(L+KDi%RJcecxcYgWeF`_{*04EU z7$azd;66iz%k4Q?eEw^cpCXrzI+)A0B9#cuZ6A+AdN7&$-r8C*?-A5<;d{G7)q6qB zTyK*vjWqDA#Ocel<>am$jYc@<+&hZR45$;$?WBp3$bWS+`Brd8vu&F(^FrkJg9Kt< zKj=a#glv{lURJ@9Hy`sZ#F#HN@Dg!7p!xIUX7TAmR=9>W2zr_I z%L(ND^f+CC`s|(F8{IYS{QhNS^qsP@9))eH1x_*8^Rd*R7M<2R-;yV}=#v)QzHzmv zP=>3iwW_Olv%z;BTuTEN=5X7&heyoj)w{y#)rAzM9Ml~Kr7V<4yb7ox-WtoRjIPCV z+L_w*s)LzK*VV?a<{>)D=ZY9@%+B`P?Iqdm3qdu?O$Ym~f8~7b5$y(X(D1sPLmFnS zZ0nm~`|2Y3TtliU?&ug5Wx+-*y)#Cq9-iIr#FevLXFd<*@R`8Sr42aAx|a7B{3w&m zZ@FX3sk)Q>bObD35P>)NkQ8LIw3j!5GfHazQv+Ldac!`A>*4eFid5~dv~Og7$DX%u z^Bn6kzd4j=qcfOb149!}9Z3b=QaKy%*x#n6$sywq9k`m{5?(Kz7(F&Rg;}F!Je0p#Aj z8%$h}A)RBy-Mm?=j2*PfdbvryliYyCBjyB9OkT3sidv7Tt4leVM$_NE_+3!r;Rkvh zsx0QAF{W-_wt_nL+5LxgI{{+CoSEmU7TGk$4Ke2Fpm+n-LWvA$fQ-uNxY}M_V0F6F zb0LzYTQr45VO=1vP-LE|`2e4d#TZ~qObgx(-?O%3aeYb2FMVtCRaVXFj)QuPr_HL@ zrrDP*ARr9l;9gDyb_!-UT_&ChF$#G2|=)B=%y zs8@GYkUx&O%iWf}+@be#&V5>sdd4kx#OQ$}`nl%BHchCk{+Y>U(# zWrJ&c{9i5RlgW*a^w1n6TA)V4)k<>?W*EnGW7TEd7a4NkzerT!3iD~vPmP_+ewQ(# zVWhybTHp?wC2B>>N{f{R>8o-dWRfE?Rwp4n0w{FWB?sv?6(2DK7B8gvHfJ*L}0o z|9(_hrw*8XF)28%;~4Ou(wu90fL-D7U=39SoiIf}fnMtqP@{M7ra_F+RcQ>Qxd;L$757~i>eG-pK@)4&jyY$;A>2c;Zw zVqShlpjSPvP+-O*HG`Ygv7?n)-Y{)H zKWZCGetc3+4Y--3fL-TPN57wPoc7X3LNdrQb#hfwM(K65jW#})CHp1hfpri1ihm#< zw9eia(+EzY6nU6<5{`jdVj|2K@Z5;Gi(}%wMymuZ>wAvhDKfNJ$q!v>FYCm0%6^by z7yeQCdWhvSodO7s!BBdGa2yGQ6J~_aK#ZY?0*@lt;D_2>Tv>gh*v)8%GNPpn#Sb&2 zQm(Nm-V$iE^SP(dE}{u0>h3>Ip4;YNBGGQ# zd6`=MsW{=u#U9n3)`eTHmS>dtQxc~1Gl^?k$|3^o$bLD{?u-Q)wT`B$dzyQhr^H>o#J8&Eb)iEW5YHG~_j zkJdPs81syAvJHopY(SVCgl-GA3#vjal25~byQ^L|e&eV`Am=d(hO=YDY&w3YsGk1# zcP=T#9oU2@V95O3`X}u3Bh&&GntZw#&jklY#AH43V2pJW?G{&)x$fe6lBGOxJk2Ul zyM%XTLHWdc_8W8cF(jt==7^(foEJflml5!snM{%=P&*=Z>xOnRn6H0(ej6)=-2e1B z6{3hp5ZCUb-vO9^9w3}V*lHfePea##ApY^(|4+WhHC}}|#6gLtK|XA9z~rCLjyHpy zhpwc!0Yr^l4`ib`|F}(PsXcmU4vD7(<58Jb74g?kabfEk*pUObLF9G50Hn_4%b`m! zH{|nq4Y1#uKLLV>x|lexsw=JDzkK7!%2+K)w_9+PF+ zZmUmYpYSnrV~tykYjmrX)66(BkI*hU&m;wNi-U7#AnzL;lAoN4K*`wyh#J)0V1mpT z1~$qHxSA&l6SIvAzZVn~T)JoG;6?}F7)@<8-ul&#KB8)$2R#7!m^44ohKo}-iZvK0 zK-lDI!gsDq^?G)VE(Vurhj<&KVRMNBlM%u3u4c3VC9|Ewi}R@M+PX9uKCP|mI9|4CLN`D1C+DTgmT=8EY>FNN5NTE}HW^iKV&Rc#DI7v1mgP zyV+$dZA+BSxpOtCx~#%2-}ZguiOCO;?3Xt( z+oa`X_~|}pY}h)%sM7Posw-=1>h#`~bqmdEXe#1kW~Ph{!<)u*#_EjiJ%!@p1=JA` z(~C=tCzbDsicwUGF_;-MA3C`Du;Y!Io6zhEmzACga}<^(aW2hy=DicXnxJ#_D9*}3 z?NIme`CtYhW2X;wBohg-U|_|g#O#N1l!ik^+?*OMC4(M9is!oPS9vK(nFLLdb_s;VekA})A#If`mU}t( z6Z2zdQqza-e_C4rdH+56&0s7B57w|V0JM+-SO*#aA-D5UuRJ*K7(Nnff@ZvXKJ&gUkJF>xFSl}oV_9>xJw;kJ ztcA`FOoc(9pX6=+58GXZyepbvKU1#(;ScfrJyD)jCH-5m_Dz{BfiU}^nQk0FJ7 z9MS85WP#@llyJHgcw5hk8ovF4OuYj97{%>E7BD=mNSO6%1JG$~UrPU@OV9h*wb%vZ zzp0Ph>%tqMXph36Z?2^U_w<8*5Il&Vz~gEfTRkL=7Zb3Z3nqBPV=Sri_!GkESWK;|w5nLW>1~N% zpDTX{x4VwRhcSUFKZ?c!VcH-k&>sIU!{b$5bBhj80Ciy0U@E;kBzB=dc2w4~|fHh^BPkA13C)XfPnF zb2Qly1osBcU8A1S$Y|6)VZ5BeqN)-mpjPL`SLG)eZS0n9@IbpOH{!#<$L&n}Dq2Gl z*KxX>*k__FHa=M5ma~v3jMnftmzp1QzrL=T?U8tfp1?dEEtdG`oU z{?&|)$-|($ziey>A>;&V_+PL->%AgqKWTcn-=E)Ceo)=S@sTH;sT-&6@#9) zEW*HxYp+jcp_5UuTX?gMeKjHi?vC9=FuD0$ms7JoGJm0WWBgRZo>w}L_3O}09|)Nh zU-pX~L;#9WPHo;sy!S2*Enc8)f}@3HgeK73ny){@`a#r3|Ec?y+PdiiC46Loldl^+ z&|r$t?4c=$)B|;_H9a17=%*RN$qDuEpUqzWsPm#Hhky3#Em;G{q3LQH1r~g5Te3KI z8V%s_CJ%+|RG!ysH5@;NrZN6hQOBQxDkD05LwheP@_fH^qOVU^d*J<{#0DNf1e8k_M_oMy4^+)GsHB6s zY#O>kJa+och^E-W#5qq*njfq5ia91_T4AG7ocFZ5GSdQWh-iKmlM@x!Sxh!fuK%b8 z?cQcJTk6k4Puh&hz~0oUr{L99OZ~pJEt^)C=?$B|)7{KC*`~$YLwjM~&agvJ|9N0F z0lEsdh+akgn-kM36Ky$``KI34Ei#`d;ewRsK8!Yqjz=k#~N#i z*!a%@1{bmWxj!Qf^=`&LVpZbV7xR+G>1BfU>#cdKdiyvtpW}ORsR8v}=_Q#hcfx1c zbMvnFX`YvU>SvCRnl)8#QEVPNx@+)bRfaRGCRESkeHbIyDQlvyu#B*$pSW)MBrH&? z{T1rG7mMet2w8WQS$)yurk(KC)o{>uIbf65{ek_$NiFpmx-<5lsAldJb;=@!Hepy~ z9%HsRlB?|(B>U$m$#_;Iq9(aG6R(HIcYmFjPR&!dVkcc3x@286zca2oEL|5vec@TV zlj0T8^FJ0`Cp6nAW&7BEnz6vdbiD7%-_^=7vN^b^NN;TN)+_6@frVGsAQR<#o!3|I zm@LI&*V@LCPhio05+PhP<3D8#zc8_8#^uSkwuHREb;wm2jo!$dxXL2xmHO_m*gtg^ z89=&(ZGX3`p~f>LeA!Rqg>1P^hMqx@h~5(4okik$Dx;yAR%bK2V_iXS))>;cjOa<+ z<<3q<75su|;vGw{=$5|o_^#vi-Mr4M5BID>doAV8+F!8EQsum-`%zS-kHzvZ9`(WM zbCDq43cJ(dLyr@$ltP$iS?9rdxW*IAGF=_va#^>##a(v7D(>epQ=~nIO`Ah6_2mqM zbU5I`rjUkALH0J|H`j}N83E9+Lsdqgr5Y-;ObV$j8sH~x;K9Ot{UjO?9)iH`I^gPj zbk$5)mnegpL#7^8zC~?SK?&s9hdqm=t6oZj3XJ%>2Q5ZJ9ThIkC$51FO8pPWub3~IoYig6d?9kW(lqRhVk zNDVjOeblw;c>%sdm~UU7pVJ&4YYCYzf=roGpJ(wJi97YNZ0?~X`XF7pO_P1L{-OIP z{!V4%A>+*I$ypMgNH%|&&ZD+YiTjSD*UL*xxiH@GR{NDrP=68^UToI7%=Qe%?$wx- zgQHN-helUu|0`Mj7f-`J6e|gOd~!6SA&8NN6Rg^LrJZ`!JBQ>~c#bD14)N8x~mf;zF;Tpq=Gp{i&j!s90$|a{uXierN1zs1?gq zuG$4JVd(X5xzC+neGk^jc{{E5P@`yR@W2>esW|KxumZ^}qDD-b&#e4{e9Tqc9ReH| z{D?B9V!3e^$d!q=|IGRUT$>uCaWjDHS`X5pdvH1A&S`y+!ssSO03gIKMuhml3xfO^ zi#>i)l;;CnqD}@p66gr+qkcg$2F99^6#$o|@Up1J`r~!9Vji)2n1-N4CsbXwZfp=% z#gf8?1{)Uez;WWy0oObZnLv_aRLtxy+UJB9T$9Zc=_h>SZq{$ah8rr5ML&!iA|NmC>H> zv?;i?`*=bbAD>@Hz*Fvb9)EsGx^$0p7F(C*O?O>)3lYEhqvlgCU#`D@^1`_Vs10JG zR1aUDV`9U~Gh{PO8&;8V-=%&U8vejVK7J<;Sz5X7o=?=NtHlAv8Vz>G?WMhGS%iB@gP_nfIg{6`IiMaJD7|+Ck6@gP_55uOz(rVTCD3P!{FU z|43e{fKN0&)uW5&-PrWeZ}n19xZ13e?O%{8WGuuBIGz8ZEY+P4gya7awX=@I;MhEGr3+Sh^4tFaI{%|r{a{1Pqzb{v zZLV|kig9Nh?d;F=N~@D9VIq4en|Z^zAGyiGPdN8!nT^3jywnGrbD%bTbZ#Nd7lm^0 zA-Az(fx=h5s72Fz!>{hwa*Q+_SZaOv-ckD&CdyoLo28KbMFXe$(2jB$N!*hW(}Fnr z-369x6b2B+hW{+{MERcP(^Nn?c(uBSP$IO z)0-j05q?SFRb+)_b+zA1YFyiwtv1ab&s)1z2r-4%173GB@zK4TWnuUGbj#H;D&5z! z)uJrJy3|-KdCutR>6xYY(OhY`j|UzqUqAtJT%7Aj#H>j77^OgmFPcd%$hFo#NH8m( zO`Mdq+1L^fli%H~sPVhDkz^5UoHI3TogUB={Pkk+-LGPP)4I4kk|w3$FGz_sbl0rj zEYR$|y<|vD>CFP7yyltTYD|OhHBG^@S$`*ne$eV(aA;E^?EYxe zH!+E+;T*D?;rZ)#KNHm$x6}z&o7o3`#=|a%dm`yoedARpDCv}6iCuD#-`5YsTW*@; zc%w&M?Z2B*R)tFG(9tnXOV(aE54pwXKa}ZhpJ(mp=HFg%(d;JP-pP5Km7_rfo4+G? z?JJ}tzKLNxVvZ-Q?o_Mlz)UhNUdS>Ba6vqzf{9PF-Gm7$aku=Y*Pl8V``o`6B?{4% zvkKx6$i*$Mx2EFB?+^1f;G?p$G7**_`C-{w_Nv#h+#vU}*z%GkKLvSmd!~C)TfuoG zwU_2tS$CMxvPs_bjy;enDy{Gd)x`3XyZGHn9EEA-^CheYd+< z`_|iq6S3hUtc`QDu3|sGtRlzJ&%WQ4Nxy|zVqZW1&}AolJOeLFxY3O>ZW1Wen4?WU z%NKp?34!U8#k~p2TS3bG}q%p4xhZk1EL{Y)7#P9l84+r)3uc+ zYrQ?^K|Lv3D&D`zeq~yolg;0-e{`qgotJ$-K=4{by{tWs1os5o(3{VBAbLKD~#>hLR*h)+kiM;iV%8YS@#0TfRHYz8TlJ6q9C7CJ_TNV{i8u0PQ75~atk0?&) zfBCv_?f}E^qT*=GSAhawvwy3MImRTAZ@|`(BcY|V;<-WR{M*JpIkiz=_KU>?VUzEM zFXG~+uN4o=nPwUkrh29*+0A6!vs!rnN!GlATx;k`HTo2hsd%i8!OIXdQ5eVTC`B(A z8P`rq43~69E6hcec@^{#1l>+a?8f;cc;gAiUMeGqXV$w_M0xfiv51)G-FC=r2Gl`k zQ7n-$1s~LOa|LyQJTPUnjHjL;r|xpmAnX0+qpTZ~zGUolH<(3CUf)Uj7Dl-KLLYT; ztBxiI9%Udd^K|41I`Df>Y3ow{lb6Do4-HE@8_i~x%7l>?Q&7FZtwn55OBh#cO>73Q zWA?-qJ4=p|7=^PdqBmoP^{ep6`x+wqU&jnZmg=Q^m7NhL8X%a)NWG z8%z&t7KUwaX^_B6&8mKoWLlapRsLu3%*A^?=iMdbGOs}|ysQ&|f9~W_=h(|7J0Gp;doN7%43Dxg^WJXnbGM-x5G{!v2kg@XPY72Z zr{*?h|M32#ND87#tTbuhLqy#W`*hw1TV#zrUvL~jxQ6FP;%`G|%{LpWG}ntt52y9F zHY1WE_#b|lOiDktGHY)pL0{;z?j?u0peYvcHgGskvD&SY8<~?;+PTIZp_cdTZZGFK zHKv^38- zyds&sDyGdtII_5IVk!QmMa8)R@~aBC;HO^yGD{jKpwf(t@6;%qu{Q-W@<=+w<@)~etO2{pE)p!H8QVMXy4<8308!iG)a z6D|+?Fe{sAh`^TN(NfNF7>KR(lNy$$F?JhOJI_^1`*$&)T-$D~8Ig_2&zl1%!4nDk zto(u;8Bzma!4iOPF*xLs8x(f|WNQ4-+xL+~-;HESy#6ej!P+WZr=Qo z?E=Tl1*!7BplRL_CmMP;Wf7WtL#C2wXZT!q?c0ibV@=B)26u};sHV+wKkLe+B4v*d<>ro~XwN;-)H#Jaj5;JAi79)Q^n zsO+23A3~W(PeI`<00>30K|+d)4%u9eUQI_X(g4ih+Al~D966#4nrLwSf;j0< zI%yrpzaeP?sPY4{r-Fc&3C@Y8>~{5;;3WHt1vkIm{Z z&_1wf&Yr#hQ~sDB<5+I6l`Y{SxOORCmV|-sR(R~M;<&z7k~C0_nEgYL&@3IR)Gv7R z3*rj8f*o=t+Vc^^ap=AMY*HMcbQh*C-~F%d7Yg_sYRJxuIHu!TFyl1T{7$+L(YxYG28YPrE)bGN{o2KrT|;{bQQLSA8{jr${G? z0of#NFEXxCD~S6B9TicMZ`^HFDew+I6FxEG`oYZ|-GG@jJzeBm=W1muPU{9UGgx4T z;)D_-vb%vVKWpIDO$rbK(a`BqBu-+_fL+*J4q4HIvyYY0AV@HEE%zcla{m{3?;X_S z_O1;FQIRexT?kTDq)6|v(L_W*>Ae?eN+%En=}kaDYE(c#N~CupU8J`}=_GUrB-8*Q z`+MB`_d9dW-she7%zQKN`^|iRWCj*VSkLpUa)-D;W%Cdl_{lJX4^8dHxOvr+11@-BWmSO^Oi|VmACu;PXCX* zv(Rs6go`3Io9ZeE%3Zb5AJ!D$lTwG&AqSGCH#O->akNA4+Z$-wo@6sn(HfaRB1x`= z&LRafM1Wj29&5&WakU&|_$p;wpy`iiQey|5kqoQ$O3L&t%O~AM-SQ}1#`_j?)%2%r zRdf|R{&X(f+%`c)?g_v03!r?@3!UMKrR+tlKv|vhzD3UE5mJV?eDP?^I|1+9-a_Ak zMHJ4sB%sjF$%UoSZ7}wWa#w4LOx^h?yJj~LYw>)zTlACS*u%S|s!&@j{g7gbY-hRw zI+rSUYg?^iq-&zz@m}cc42##9txM@icbqS8(eKz*Q6|Jc-Ls@3V(-U3iGiGV8S4rL z)ny2diC*~0uPOJ9tv8PGBgAB!;G2SFWYZGq>gg~oQT#=-yp96ICNI9cI&-r*F6ILW zMEmWkO?WSRL4Rh;w$JBDfne6hwI)7X>yNYHe0nvdnEg?-`($g&<k(Mi_2ff#n3R;zLRR#TVRT%TZF*dk$Z! zWd8@~UK+r{g#JPjGa>(VWJm?uBm&$t)r1##7kApf>{OmbW{!+QuIiy7cvD$m#RE)> z7};UN1?8~$S`V^dVyQ0K=kUWZz$phK8?pzO$6)PW3F)UaCM#rG2Oulm=^q{4kAV!f z?t!0m!iMS&B{LA8A-3S7YzS@$aQ{X}088tC`Mm3@&7Z|6}IJyZO<>M#z%maJ8;#h*8LV zNZ|h_OXFz!e^+~U&Jng%58L>7WJm|FVKzuawafFE2LDr|_ z0jq{qUtlTr{asS+!(2ELFS-J-=^J|wV|In@$A!mz1asyxj?X{q0RXzN2rAm^MfVPx z-S^#Ef=wZcoMh@b0*Cai$(8VDPwgt28bFLBs&XOq-<#ILwF#avZ$vDN)<;?Gg@Ldl zUm$p*r_4;t{;3KSn>BRTZo*<8xtpo=7(OFZ!6vXF!TWtDU!>{ z>BitxJ`&R3Y9veVzuM*ByL0FH)pJ8v=YAPIEfmbjb8p!ut5*OUjaZa<@;d-+YivgL zAK3!yS}4qa*Juof*i_P5pxxknk8%=qLu~OUJhcWY^HR{|U%Y#j1Na~V?sp2yU7(D? zyg4v3_|Q#6MvQENk}BK;!XL)WHJ98qo_$j1m3id0 z_g!f_R(kHDe{4G|$N2^f{PNmyS47J~R*$yHn8wK?-Jy`8N`BOrgPjNFv>&cl3ajpJ zsZE(QXVDe*IyRafri+ol_h1-7uQP@#k>oQ?LdON`{zFknYcQL?x@OihG}L-NhxO5$ zqO?QZ@#VU3iF@&b_;c+16e;5|og)ytthviTq>%{$sK1EDvd>wp@L=V{C=Mr_ZJXkf zebgJv)Q0B_j0M31Cz|*D=jgpxOUrFz0Iu$m2)%VfD>O8+^tpoa zYAiZW4_!k>mT&l{c1l$0h0nD9Sl{$d2Bi80cXttk% zKwNR|&z4|QykPe-n44r(4>xHZKikS1b(-e$ivPjdL1KfiTG>b_v|sIKIhDeH)l?v;5pRLd8j>CiUL!lf=C6}* z{~Y|Q|7`j_A0U5z6im1*7kTs%Pe>l8q6nIxlNnP4If z1kfALAejKYu`HlBrUh2k#X!hES^!~k;%1zf<6-3guP$+R0%m`UtN=>n!xdV<*>zxl4FycStsOd?%#=f&`u7djnNQS~8;a)P_*JCl3or!1shlNF& z6++iM)vly)#*3~8eE_Yf*hRB*z4VA-(GB+-Sz8$+gJHUTorBjbT@)=BEMT8VL+>{M zG=B#6gm5;K9+5}}Pj4hu@vXhxkWl_nx$~{_+Vq9Cp{q8pg_ zUN_Udc-_JiP}6K_CVh=n1W710VH0aSJk}AqVJ_i($nhxtB`nHaSlkh8gJCjndiVcJ)Dk)Tr;pb!8 z+cZ=!JmnFMD$>E9u?yuX2imo)i6yJEhLcI3jm&1->H;J5=C9hhpT!n!==(Q4B_zIq zN}d}aHx$gwXqT>~6$@q+NEaE|H^<07ds8*g^rC^CQ{#9(q7o{yIYw;o+XFO(5R4#! zGREb}BtStUj=;bnrK2f?50II70J$-&K%Dx05BB$#{k<7vRI_st(ZKv3_|mkNUob|i zMMaoax3J@dh*f>Pj_A-(oZ2oEhh#u$hmE|MtWh&(@iegtllZDeQ%SXGaP5;T%dV=I zvm2!*zwBGJwVPk+=d#Z`W#14F&3gLvro0M^wlD;F(maQ!NsrFH&v`ODc2d%knE5}P z-{}WxtW_r+WM0RMK==;9UxC`6D3iNYWQaP1pgRNu#1|)4g%J2bqKu+&^rU|4tVZ|n zaM8)2WU|~qaF#0bsx^KO|JAdwcBOMAU|BNiHdB{v<_lfj5z_}#q$!#h%&c%%5)TjB_!6iFY$Z@|WpH>? zJ-O&~Bb>N?DXhZ*aX9iO?=iwuIl%5zuWG~1XJS>1bQ!(y0XRt}Ml+&zz+_1sOQO(F z$2A}!FZUY6^gEI`5iG45IHwE5#zWO1uH5Lof6JorXU<>6!_HC8=y4a zOjYH2HnYjR%Lr^QSXU%HNuXk6bLJCyx@E`FUatRo(=Ql+9#UHB7-m4-PvOnVgmtuL zSSM>^L8dc;uj4f9mXlHa6F-mm-9xq837_*=smDKF*PqETlZ|b+l7y-VbCKi}Tf{1T z$51^>u&{ksE~+jL_q<}~z7k`T{>omvff|RNYnpq5l9pybe07d3?E*@U#D3PRsQuI6 z9m-)kLm(}qDdZ|_*rN+VWOe)ZMEK7Q`@8Qv{YeTgDG$k!TLE>8Z#xtS`%4eK}wxUS0Kr;!!}IlG4 zJtp#>Z;+`v#oh-OiVh;`~>{gOWPe>reOI~+)Go%buL(>Da2a!is2`y z_`lh&|J!nZ0jL#`5ddbY4n7lvNM<_RMA{R{woFD+G{@Y5$0Vr_=XeVHK6MZP6MN(V zGdV`J+7aNf?#+xRmg|%GyI=erupQi-qc!3`K3XROz>kTkX=tY%g+!^`S;oDxo-H~r z?A26ixorReABA_8zqG`+{Q=td1P~u2z7`1EfgC=nKR^>5Bmli>2jZP-!`m1{>?~vg zN4`be&?3wnMpiR2`YWKjxvvgmzkUtU`kt$;Yr{$}()763GZT6Vl-%8SkWBHNZIh&n zO=NctQ6xmvP{nUsk4afZS%C31b>WLu6*7{OvmJTSJ7o1q=&%of^$LFbndkiE?$P#~ z+rX*w(z0(*OAPF9ePhP%Km~vUnCyu*F;Nwu^oF`-<#$OSG<=d+T>*YXDVHnIwTg&wHL-}6soIdawVZA1xb{A6dPD8|is9Vy79O?6K?u+Ga zK(h=CFc)NAnQufAe*x@VWGP_VA_XK+1n&FJ+v{)8NCwlnUf(h2zM%c5uHW)Wz=ywn z0;=(JyRa9(83p~BAi!P>k~I9V2HZNKPGuoYZJDXgLt&TL3g~xivZ|RC1>X%1RP!d_ zL;EW8;2`+kx@$>senUe>f3mhPi=WL4qm*8LR8M?!Far8u!e+erKJ4^k&=uYpfgRge zrU(bxH_y0?8@dC^Lo&5NKIw4g=4Vi-gyV!3nEo7x0Z(*D{}moC))kD@$8LBk}Le!(|xvorf86SCr%dw+~7L-m+^5NKLBCo$HvK zo(yj8dD&4R5LbJ5OYcp%rN;hVl7Hexx9Q(U^~lvNjwmzN&(Q8uLsY) zd~Ps|C|B7k?6bKSvTgipj74FFVQ>Zsv;|Ka!FNnJ~574oag}*eFU6|syCdc z{^JgmfIO*q9ABGx0VyApUxxus3faMZtCb)MFYC|5?P=3@Z4!DEzlWzr@v2(MtFFpX zQpOa|TSm7E5FG=2d=|=dtACZ}F=?L^Eg3#}AyHl`!3cFsS$BQ^+hip-bzx`{f&qu^ z`FodvEls&pSd*}Ii8?hm!)NlJJ4n86c#r)sc>er32jVU^J-$`Y`Qlm#KMELMrPkSI z`IdH}w=|gF$>?6$^JN>9FTeQv{*U~EsuCEo=7aCI9ZW{1FU;KYdim0Ru^ZY;5f?FQ z=)ZiONJrJT<($h(jK(mYTWjn}h=m z7y!+~t;+%VkrnYH@S_r(q#Zc)Ek~?FoZJ_3alFRA?EFVBs{_0S?&U$6|E35B#l`!J z;g_`1CE`*&(vx~Tu!%IQ9G2nUB~z}ZKFI>3t-lU#l&g%8lk8V|mybU5G-Mckj9t=w z+rdvmRH%=$vlslb+B~%U$lVz}R&3zey_$my*7I{VnfhfproRjba|}4PPgxj&8pry* z|3|yj%S^+*q zeGDb#-G}L;8IIZU4twnUFpTfIX#+ocgn1W$|AFvSaOe~4r(-AhIIy+654&7|F$FWM zCiz>My0PqRJT-DW;rvCfw$9|C6v25dkd9GiQT^trO~Uhwclfr8Wp8?UR6@RZ>Zd*u zxzRgQUr6N6QH2)R6NE9A2`ZxgDvVScfw?scXnb9`&s1NmE0@gJ!%WV;rjZ~opQ|Sb zru^F4^A~V4p&Iomp_*v?TwF5@(|5|d+|$Fk9T{5_tVFbznsQ57OUu31T$}5f;mgj< zR~d61V+ROepv5f(67w#;a4lU6$rCM-0ZQfKB$3u&?4=-F6e)))OJ+{mk|Ih4Kisjq zb62tF7c<(O+Kx8+HdWtqAb1#Jg6b3Nd_EFgErVIx6lS_p?ejO%d{Nud&343BIzH@~ zviBUbG-B9DUEWi?66Gt4lp8UCTQm#QjPQvhKU}j&NM23Lv?c&P$IsoKJ2tn3J#IZw zQg~gH<&-)0BfcQVEk-M2fr%*_{G8~F$`25x5QuVEcnL|oo=!^AzD(|BgY0E4x90z;bpB+yqbj9y!e#~dExBgy z?lK;lQA?qe?J_efqh2+Qw*IAIR=%P z{JA2HyWD3Z{IBAKML;-_=#QKR|A_rZ%iCT+Z4Uaa^WJ5Qf?q-? zDPpy_&PmTP67S6hUG~l_jJ67}X-es*Uc7e}U%t=g(3cW@nRYx1D72X9;qwQG-XAI$ zy)a<1t<&1n8q}mIeIeF#fbO9UwHM3yTdihyfp-`4?KoDI%s&$=&Gmf8u8japzs0Z9 zG{9Y5K<0aV+VsZFyElA%+{!r1Ri4~s=OI{tPjjE=wc_W|djqsaKq)VCE#GwMubGo5 z*Q}_|59$&g@b$&riej7J5&v-Y26yxk`SDy~%7%k{KtM=3xeoWy?-4N%a~*2zxX^M} zs$?S{ou%1;tc=n4l)(TOnB2V2_dZ8M)ykN-690`Je1VAVlm#;h;JXoiAJ$VuVrR{J zKB`}LyLR{?fqiDtL;QRB!`h$GJJG+wc2?Kn^dIV)@is*FzDI!GiBT_eA15+@v72&o zh_#pF`q}LaO|Yn1z`*?vM90p_#CWOgi~hMH+@n~nuet4lBU=LRECPluOE&g$ynhPu>AvqOV)^K6T03V@y&>-;W>TxcF3F6mU1P?pqJtt;sHT;; zGC#xD)z zPBl5Vn@rBY5X0Q*NFAcb(ESN^1J#>9*o~};+0Q-;q8IJc8nYTJEuF6#!(oiBRo6x9 zUB^;VFoV85kpt1$G#8o^)H}s4LhaDa0t@D@9SRIN`A(A|pLRAl=(`J~M$P(s-%xVl z>Q!~0E8bR2l-6oTR)0=+oIi0zaA?+eDQaD)I4qg>_U=K`sVk~GWFfOzY{uD zcgsGM)i%^1&5xWmhrq7OWcu!%Od=NpyR#O|FRSa-awvz#WEpL0)YfS9{KC#Gb$kOi znQzww()UoN7|TGYNlXPq-;<653wr$N=P)SQem4Dl`WcgH@oo-{P&eBh1V6Y@S(s+- zAch#^eiqETd|MqIVz+aw^SzED*L_S0gKr(Gw2cSs$ zRs#~li77re8skP^ZEmSHwr|cJTH=gG6-zhJ+~6q^ zb(SGVrLMEI-u$maeh5eirHwr|mhfe1>rP$iL7X?)IL?h|3?Dx(i}Ryj>iBHlEPLrL z_tA&C9GlzIk7IL&JBN5CJKUeWN*8^)NSd1gh%RX&z2IaFxrr+r9wFrhF=27!T(Y<%{qz2I?QxprG#~j0e4JM29pr)n~fYxBiBnEQKVlyQ{zXN$Ge06xG_42O( zH|6r;f*I$!>&a(qQ+gX>6(%`c)%eFI{+IUt|1vE-2V@DNc3h3i zMXYmOje%@5O*V({AE~$AB)-Erm?iY92NruQjnE>@e zll2X2L`HMd19SEO0Y5<0!R*^sj;87YvJTwmnsR;(29%e_$ka5RUkbvhp!LITnrkAq z1d;@w=8CU#u}O%Z^)Ud2jbFU*=|rbye8C7IV%-#Nr=n=c*)uo0 zu23Wf&(Bak9a$O`^H!GGeVA#Gsl|@t^XI;|)c20h*=DgqZt!v7a4X~R6X$E*+R|!C z-8r!uJwNNGPI4iB-+KBIgl+!Xv48K{|I^q1{Yu4eAx?==O#Y16l_*>Ro*auc1?;Ff zlv}o7yPvfAG8j-+V z13W6s+SR_`{n_x&S)O_a!2p{(pA-WaX9qn&^2Mog6J{yDqI)}L)dk9+&qtayOV=`6 z%kV;NfuG9?x~{OW9yW?a3+9f>{j7Gr62D;cy{I#l=FZvVo5mrE&MCy7{y%hHlNnRG zPEwHzJZ^lQpZ@?|J8N~CM`nUaUIXdw1`ks`MAZ`~7Jj-xnY};lxO%Xt(syN7wBM$a zIJzhA(0lGmOD7W{rSTb-op-JS8Drwn8MW*xEWB~17IjDv*y*P4%IV2C2zs|O)7`67 zEY3+MlU)R0998%eQ$T2?j=IU5clt%lX7qV=HPP_H=M0+><$~m2#Qgj2BjQeR&H%yN zJ#qa>=f_M!`1Wvg9b#`r3TaNV*aWQv6`2c&lpQFNv~iX+QO6$tMGk1m6PA zv`&KW2Q(-ELj^#zoDb5LiE)(pk+$-~zjB5%yn?qQS%j*jEIkR~_zG*C% z%}w(YS*P_zD%kZ;dgRXr4_RAi&%>yvi5p$Vk6$~r%kR^MNA~kwyRtK=?s)}}hmU4j zMnL(n;9uBwiz^Mp#1BMw{{r%8ld-#XvYOxS1vUMf%sd(rjECw40TTtt2&5xCcJ|Ul zsgkKH)>NZE*+R4ML6%kg#3wmn;fUvwGSdlRs3dg{444DTON3w`#QU~*W@Hqm+CEHo zVp~R20!c`n&aYsX2Yone<^5$c@>?1B-f2lSn9;-}e-_*r<jeN%38? zQQHt5#eO+f3vby5XY#LHKi0YAY%+k3^6?%oUATm6jB)FlWKl#;G+o}2xUs@6BocJA+M~Cd%E3MK1Ty z2Yz_mLAon{uEmGLMsHrDci9?Gx*vv~_YC0LNWhDx7y5h5yJuhuiN?;@7Du!3mG?i} zKIg}KT$Xyz6J`0_O0C|^c7;oLxoJC=TV~vCC3K~mWA9+Mg#T-A@gv=d2=<3tZD%jt z9&MS!pnHPV7jnbrfpU#11m##&`+QzY9qWUjPG`_FPz3|!nFP<mfc8`kcPr_Fb&=8 z*_tXAyng~pE`L0JWRh-hb0JMBB`nTf9bZco3sod86ocb)ISGz&`>yd1Ipw);2)wns ze>JJu?#uOWlp&ZaFBA6HXGICMuje5QP~&C~Hs{t`NJ4XIrcVM~K6~n3yQ;pJoxSGm z#A65KE2`{}ApljyHCqPRW5CP~==Qni38Ryj-yY}m$*}Nq`BEnLD^jj@c|n{P@+V0S zs7)zt1t8Sgd|=Q=A4g4R-|1q8dve}SlJ3N?o^*?NI-dykpSlxffFDSFV~yX>jxV&d za9t89BU0Dc2w#1^D660HI(Hh{LXhk-n3W+MG$2fVD<1C_nN?%v2A#j^%(@K>^}qP} zjnWqcq5&;y{*?%D@jqOAGY9Si9wmPjZvO2Y{d=zc#%wqXq%w_FaQ^S-4oe{=r;I2$ zeX{1}HtEVAAo)0la#%NfhpG-p|4ohj4cFAX#@_!+zIov%Y|ZR9TElhNp~Gg`gRg2k zfJ_F;Ro9J)WGV*WNE%b@AL5OYSYr82qaK{?-YRtJ_zFVX7Ljxa3>CJ{_ArdH#KGXe zJyX+ZbxZ@_>pP&c`X8;;Kv#X4%kYW|r?Yia?jCX%czwyV^5lyII};mBq^b^Y1u{t18& zUB)4Q+FU661LR;ye`FG#TU5Eu(U0@8O22V2K-#p<>03i6^=mboNT}xSwQt?j2M}g| z$Q{CLykHW>oKc&=kisY2l2GEzHBR^AMSc&@O%0_4IRxwJ8`$EnJsqHkSs0KwXgC4D z)R$ERO-Pbsdl~kl(#nA+hDdXXjz^;pRDwH~Z#YcSjrMS0`= z`~pw>6f6kO$CNf0FW2=<@6svw9Tbe$*6Nz6-s<(Nlp1c7$QM~!^tdS* zZaJx?9@HnGL+_ul*HBaJ&A$K9@nU6lqq%|G&D(q#FWR-;LM)R#*nwxwW%YYoUt+}@%oe>$xf|g8f_k)m3UvG`n>`U+{vkx%KBb zVwRCP!=Tal6|IQ6T%TQPJ{p5xXdZAzdfX*-h|kF#qRkv;55~YORxZ5^NCpC|aw@2%R$bPZc` zFx&G=d;rm4*)X-w_p-QTFl5Z=k69FkZ2dCe*6o|p{hy?wG_O&Lw#(&d_Xs_AQMk^$ zL}owD_tv@W&vMw6*D=dKRvoUT>3!H-6~|@nzPM8s@MYpM28K}yCV90F+R4Ad* zu-+>pkWFh~@M)I2u0K5TAkzSh4!`~bAZav$@l>z@0TKTL70rH zPG08fgW=E_4DyIWI`Np41%MpVd+~p3s8Q~}xtR$48o8_OK~28Us-xNvZ7ZKmdZlan!aj%uQy9-WABmcnW&+{L%M=> zOk2l%w914GMnyzEHH_}9ZO6U5duu6a^sJwGpTgTNUs9=LwqwjNR0zvu4V5gInnFb8 zRX4X1v^z7qa}S>!Rn7FHYWs_&tiHzzfBz=`vzI$CMt16$oD7TfmbIJf1HjeA(&j{M zRLBjZwPQ$x4?RSCTOIPl58g z=2Gf(26Zfc9yMqCq?|4p_}5mvV9r})F~O0+tH-rKMLKq)4eS$?PccSQgrq55&t&n7 z9>WInjlJ^X!QjGMkf|>T`tzBrQ*TcVdLBoHiEBNDr!P;CaV@$H3$Pf}EDt_z_ImU1 zz7B&EtzF|Azs8bDT;`>w!F(IU;Z3&BF>l?hIz`-(=0Yg*y7 zy!kO~=Rt27807?;3$^h>v7d=|@w4qcniUyRr!uqVTG|uaf)(!uu2L@vvQTSI2^y7v z{M54dnSYXKYbL4zwvn5u8dbeNCWhPV^Ea6aswy%Xr(Z~-QK9O8ulQI^#{{MOP+u$0 zfCQUo8WjU937ddYiV~s!ryaX<%2v}<_(#jVXCD3%-7IIddyBlM5PD(pB0#Q%Qe2JM z1^*Yc?%y)dm#vI=Rd^V-!D-9AM)}@qm{+ljL_nS7xdrAd$|c=zAd2yQo5zmbjFDp` zE&QX*XKA0L;tgiE(0XIrxqLV8`?x9SFnQB84Od%9EZS?fQDx$sN|A^r+o%5O2};z2 zml$*?$u!S3otq8cQu}dXYT)LS=BS4QGGc4Td$Nv|RbsM}z;9)38_$-rX`I09f{1FR zBDSAc5ExSJWg?(pjLt>p+-oi4?xGIn_XcpPpNYJ$?&&>Q{-Io%k#}Rc?)%jF?GH{R zI;q8C8>VDuNNVk{X+B(wEMu8W&R7J~k(jVRIO#Wsk8f9!6?=^x-`+nrVb|D@qMs=o zU66gpjZ~8$Yb@B7HJI|Ehg`~fbel{8r9!KmuT7-SKZc@MC;d_}8t29bvQ~S=XH2(r z-dEm^o~Q*?bkv<%pa@9f4IR=L`~(mx;>rRF!(jlp4<>fBAFH%DmJr>AmGuTWSM`Fj zUi0P`aowk&p!nJ$$M4vHVEL?2psO*Z^mxis=sjOsG@$Hw~o zF}mU>GOI~-#kXieRSZ3dLacEtsCY!FYdT?i@r zVs`24FC${&VCFpv{+qW{qd}LytpGnot% zgPSv!g>aCEEEI?@=T9vF%M$Nc@TI!fQgigqjrkUKedqQOQ;gX^2!DV|1TnlSgd@|N zp0ZYJuqvtq!IZ9aLo`QlY39J^SP$kFbc~O-55`sG&h+;Ip8#%>LPh&0-V(36$yy|J;hEY#ktG=Z%BI7T*a&8|Ix%~&S-25Vu(LQPhpkPCLFncF%# zL`|PyZt~DT^4&^Boywz6kFIrquN`1{mR_jKEt7;#Zm*j#c7_Fb)}k}%TdRsT(lWz` zqJ50*jYXRecE%n~*Lqe;kH@Z@IZ4&o>d-I_2?56B-*nXfos<+(X5)L@G&yw~5WtI^ za0k~QYk|X2=v*c_WFYq^%wdQ_>@}H9{pK3l;u_vPUN+LMYOLAvi&O2P?}K_ALnJ$)2jYUZMVW_ zXIh8DTp#s+6L(nE`El&GNr`Q-nJN5AkPX|mGUk8N=K)iS;a9)DmULcLSoj9l-Lu@P z#{aya^`(TaUQH!Mba2pI-vAQsc8*-)c?`H6j7tIT9Ugf)N5{rsV<;uysJacBc12)l z-*4_U72#~Z4)YMW$VleA?s9<)QG~9*UBOlKcS@TJch9Cj4>}j(=>qu*iLZVE@Bv*G zbd?gf03-czN5D%d?S&-OwWlmXU)iMws1E1}@R;iN(%P51T4_*HeXkzL)^fZX>ky=- za?L;Y_yS+pILC_~oBS>OHlU<=b#Fn1JCQU9EEb`2fOO>4eIKGxg!rcbxBl~KI*n_j znn$c9ZMqRF*iIpUAatyr)8vu5bYxn$b>s`kEekj5OQzQU{9eQ3l8yu9!8nkt0Bp-c z`R$wl`8uA$0Du{>r9bVsQ zb2;3NwtsMwD-{~|)qE{k!QE`1d5~Cgpbm)iKV`zARfK?O^Yo-!(A3<}($(1*Na8h& zx_art&|`YAIiLt1Ry+Z$n5d46I{<1(A(2cABV`;1sfN68M*dc2al4uX*O1{DOR6~| zbG53wK5j6jBrQ(5lDu1ICEngW>-o~)pNd47S(gYm*C}9wcaHo8e|XC9=g-kT>I>*e=t{A59~LMqgl`3H=n;*6YASF`j%*`=7e((c>*)^6NR^34vhi z2u9fOI+zFqmOGCB@?QVDj{Conc8}~&8=g`kkz^3;OS3W%O%}oCfs=4A{4Wc3#X7+D z{X7Zy(${_vQldKP?+s`#%RL4%pb4P(>#9EfHDdm}D!_{U@0#_0s@TEiU9f-O?~;zW zJq2KW{C&FtLw1i1_*ct#CCSfyMH}3=@D{0sU9SaZ4hocR3u;h`4ud2#xB@e?9s~dJ zcgjLVUF%nZ*c-9u zr17hNVT|5#qHt{Op$aUz-WSf;$FPb~u6F6kP_Zyq2rdjNyBBjEafkS}6wK+5RU-y1 z9PQ`4Al%yg^zB^K3?Fw?UK9A?5b+~H>kd(U!8HD*Wz)qwucE9h?CVpm@`}BHT^q+B zC0Zp&0q9m);-K)Unp*AXeAX$IwpzcZp!#wTr3fjKc?s(^++O~y6t1%id9a|u*h%2B zbX9DBKSVK6+*Sa1sETHJOUH}S3rNhEVGc+=$H^*|2}MbjFMRXoNHq)-0?-l z)S8LMdtJjmeRBEj-K#0Rz01w6op3rOulet+dT1r-GH3A$`h%t>O+H{h=L^GSqlYF2 zvIPVOoL>bKg?el$9CVR?Ml?IBUT zEp*&6Y~Sm+I98!Lmp#iRBZTisFBVeIrD>JbX?w$9#V&u|ZNMn=`k&=_i^^fxS<6Gl zonn{&P%coe0D%~wRh@zT=~uUBf-WP80s08mM}X5D@>qJKR|)tFA0R|Htpb!rt`>E8 zB>924BzY3pFwtcz_`F;&r^1)(pS~)b`CBaikKbFVP7!5LilUGSPjv#7Ies?lvoR6& zU_9k9;Z_=kOWlv@!(eA_WclGyN6bTrag#PJclQ|0>D-V~VH z=}_EwHCJF<>idH#3zw2x;UbQ4k`iqfr@v+M{ORs2G}J0uPrQaLGkn@ILB6$my~&<`I^G2;9A4e_ec52!F&*t*Un-e-lGdBTFEx$_FFgyHp>+e(iz6(*CK1H zj5aqrXEp3)CETGyf~Gv&D!K{5u)h`SP9z%202_id^bT+^2dp!J9qh+y)%0?+uLN@8 zV=FMhM;_r}WX3WWaVa1tF>a6XYRISse=B~u;WII`8$zK;IlboRHQilF>t-Lra_^26 z`(uTL$g&{Dzn35n5IeZ(1gY+c!i_yaN%PE7BK<$~h!@V|F!{tFBJZI<#c{hD*N{%>8U{`Jo(ce;$(jUuz{u7MbTWrc&UkU+FjvQA)JrZqrVXbXlq=Z~`e3vvbhhhVh*zn955 zzZnMJ@)shDa=Cxr#e2?=Q1nHUyn2j|jR#VyJC2dVrlNw#z&Gmx1qKt`u;*)7R+Pbmc)lr^(d60l*miWb)jgLA&ux6G zpB5Z|;};Uf7_B6TQYahz7;qq*Rl?pcG2Ka6)Z$IM<|k?x?wQXNA-!UWuT=sPnC_=X z0`Y@06<{1}ZaLL_A80x3WF(2~Cz2oL;byP>0s44?p(3*!_W*{M29m|$#rcJ@JC@4< z#JI=mF`5R5sATOL|FO}7mX=c)ljp%7PtMG=6@~QWayQmwDrPy?xCLr_4iDpx@+lc* z*O(8zz!S627;ABET!q(P|AbFx+`H+_SZPW}*=lcz(M&h<>j+n0|6a4o`Ww9BPUz&O zR6uicz=x6+d3oS5?C#^H{{-b>sE;Ze*eVVXnd#_ZDGRt_y_A|U=fZpamS+3w$rcpy zPJxFbr?2|HJ8k-Ub%V^3LF+-qq6*__78C+RNLT=0;AJ1#&&R=7ShSW=4{#^tD+|HG6oP_0Y!5f$$3l&UP& z(`8H7BrJH;6BJWuST(OmWcXgL(Vto^d))C28oVH)fABu>;c(6NIscM{rHBlHrL}Qs z!_gJZNjHgI9VRt5v87~rR@}1vi+aFehmWT+GY`LVpw@ubiB}TA044#PnuzsDv#&Gj zte2f&Zm}+3B(6R`mWTo2%fJUN$Ve@MjZ5pTx|Z?%*m#MZ z*3zF7543nYINsc;Sp__RsQu=ff?sSr8(%;{?;_SA zlbHp$vX9ku0pZOu-+ABkUW;epbTT}z&R@)*>{=rWToo(+WKOBa! z_P-`%Dw-mW$Y~yn-J4lRt&rQu6}uLl4@!5j^i=J>7w239XS4E*AGPr{jEiDJWo@V_ zjK80KOZ{zASdz?weht9Le}HO$tYC@XiV8#cfn^=cZPWc*4d)*F<+61`%aa zj&Sz)Q!X;+^KKuDjY^s2mzxlGJ#TkKmINR{68xKe9_8M*cp!2Jz)i~ z*i*rTW)tv^c-bnFKcp-h*2|s>cq$i?)A`CKV2i8)e}K#^ffQ}&UB3<;S|S#s{!J`m z^4xO#LW^vNt9{-Kkk2nzp**k}Gu0mM_5i<;umZ=p#bdUf<2{1;+P<>6rO= zV#2h?+@yk4CfnOloSd9aC^nI@Jf@yY*W14ofo{G6fjosL6C0<1Ou+@%F62gFNg!E9 z#U%?Pn`qb}lb*D}FKH#%*(4=2jNdC58gx{-YR|V8~;Oj>!eME zYeI@Mhhg{5=+>TAF^BWsuT5-_vw8lmajry@Q3mx3jb8V_-KYB=5h@JmJx+SYr}(tU zVyDKCxr(*Az~>TErfzyAOWi-7iRZt5B_~&0wd8vION^)zqNBIfa8&jgnRUuxVX*P? zduhluSI9-gtSKbQb%6`4jW5qZ^b`Z!w5j^}j|WM@fDNi2=cJ;~#aFug@ezmpNbk7B z7@#nY>L=o)7J`wOXwWcPT7%Dq|T|Ga#%kgGbHtM%)d3HrcXa z0UVY*n9ZE)IM5N*!8XCS>x}wf)>m*&FA8t7>OEO9+`?`pK8$=qw4KM9TBew{;BzAb z%D#U=0QQhyTl&uN6iF~o-xTB%7EPevZ&oG4-hd()HVrB>CNl zbgUTjTI1uy1q5Ar4b?$H8K!B?ourcKYJNWKX_77kW3|DUeuC+z+GgmQdR>qH1ie8> zk5dXJoEfNbvz9vHw4_-xDH}{G2u=$!jV;OZE{EbPCDoJ)?01&B?;O3q41bJL;UsEx znkcMsAi}H7bsn0gHM7WOLM6TlIXE~&YxSCX{RAqK%@YEo5gvIzjpww2&c#==CU=8C!;sDDax|2mAMq+W5sgUl}1MVr^N+1X%Qd=$#mhUCaa!g>m#MYir#}U zs(&(@G{%j8syEf%>DOcS5)Ljq2+-zWyde>}GF0OVXMA2W#G+a{Si5^yG)pF>*!j?) zPs;FMt1Zdw_P3u?$DtQe+pdO+nfo(#$j%B>5txS}y|WT88W*Ozm1x;sHva|}pG;1j z&Rce;AoFcJP@b}MpF7z91H`;Dv26u!soVGOg4P(0nI}NzEs7C9MIp3LnV)(6cxNLj z&)(H;`0iDiw^Or2H0OSCG~Is68Cw-R6893$)bf?^GGqXdD3r5W;Me`1Sopu~E0}Sr zteLKeJt-s5B5K|kzIs>r5s_Fw!{< zZ|rKWXnyG_?5uly^3Yu(eEKoUzE{43X?V=f%WLuwy+x9O!OTs=?aBaq@;q~8!`=oAzgYM3&A&yOSks@zGnOwD7vEI<#Dq~wqM2J4uiZr7PSY9%w@)t zE4)gaL)b_5W(*b3We*(JQt1+ML4tUiR$X>te-n5f?<3;C*)1%N4Zougwf(JCIQp{6?g@KjydjqP4H6ro$ZA^R1P0%!gL-1j6WSkdE^09-LgKy`F5uBjgp$Ci;we z#R;oitel^2*`Z!H+q!XdP34%}y5ml+CAlq=7|=!p%V-sD(&LflXDXjjoQTOj9KiFcfqvFhRS07ek8ZSgC34NNIF7L}Kxh|Bd(aoM`z_%;d zP-Z$m7s>f;vMyXnxnM2#(&&C9< sG3;x{=$PntQ3uc=HmAcKwas}f^K=)-eGYYw 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 literal 0 HcmV?d00001 From 2101d3655540cee2eab9835c25bdbf4f6a0393d2 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Mon, 19 Oct 2020 13:05:45 -0300 Subject: [PATCH 13/71] :pencil: Add cube configuration to the README --- README.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4c64732..d2e61be 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ ## 🎉 Introdução -Esse repositório contém uma biblioteca para lidar com o módulo de rádiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). +Esse repositório contém uma biblioteca para lidar com o módulo de rádiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). @@ -136,18 +136,35 @@ O módulo também conta com um pino IRQ (Interruption Request), possibilitando o ### 🔧 Configurando o microcontrolador +Para fazer a configuração do microcontrolador será utilizado o [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), um dos requisitos do [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). Além disso, será necessário já se ter um projeto configurado no Cube, caso não tenha veja o [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) e para mais detalhes veja o [STM32Guide](https://github.com/ThundeRatz/STM32Guide). + +Com o projeto aberto, vá em _Connectivity_ e depois selecione um SPI disponível, como pode ser visto na imagem abaixo: + ![Configurando o SPI - 1](./assets/img/spi_config_1.jpg) +Ao fazer isso, se abrirá uma aba, onde se pode selecionar o modo do SPI, então selecione o modo _Full-Duplex Master_: + ![Configurando o SPI - 2](./assets/img/spi_config_2.jpg) +Com isso, como pode ser visto abaixo em "1", alguns pinos serão definidos automaticamente em algumas posições, porém é possível movê-los para outras caso estejam disponíveis. Para ver outras posições disponíveis, segure o botão _Ctrl_ e clique no pino que deseja mover, caso haja um outro pino que suporte a função do pino que deseja mover, a cor do alternativo irá se alterar. + +Além disso, aparecerá um tela de configurção, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. + ![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) +Depois disso será necessário configurar o pino CE, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem: + ![Configurando o CE](./assets/img/ce_config.jpg) +Por fim, para configurar o pino IRQ, clique no pino que deseja utilizar e selecione a opção _GPIO_EXTIx_, onde x depende do número do pino escolhido. Abaixo foi utilizado o pino PC7 como exemplo, tendo-se assim que escolher o _GPIO_EXTI7_: + ![Configurando o IRQ - 1](./assets/img/irq_config_1.jpg) +Como o pino IRQ é ativo baixo, é necessário configurá-lo assim. Para isso, como pode ser visto abaixo, vá em _System Core_ > _GPIO_, então na aba de configuração de GPIO selecione seu pino IRQ, com isso aparecerá uma lista de configurações do pino, na qual, em _GPIO Mode_ deve se escolher o modo _External Interrupt Mode with Falling edge trigger detection_. + ![Configurando o IRQ - 2](./assets/img/irq_config_2.jpg) +Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as arquivos do Cube, siga as instruções no [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). ## 📚 Usando a biblioteca From e6c3cdf8048b2298f33cb3b925419cee235671d0 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Mon, 19 Oct 2020 22:31:28 -0300 Subject: [PATCH 14/71] :pencil: Update how to use the library --- README.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d2e61be..e7ad97b 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ - [🎉 Introdução](#-introdução) - [➕ Requisitos](#-requisitos) - [📦 Submódulos com Git](#-submódulos-com-git) - - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) - - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) + - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) + - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) - [📁 Estrutura do Repositório](#-estrutura-do-repositório) - [📝 Documentação](#-documentação) - [🏗️ Estrutura do Código](#-estrutura-do-código) @@ -22,6 +22,9 @@ - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) - [📚 Usando a biblioteca](#-usando-a-biblioteca) + - [🏁 Inicializando](#-inicializando) + - [✉️ Utilizando como transmissor](#-utilizando-como-transmissor) + - [📩 Utilizando como receptor](#-utilizando-como-receptor) - [📝 Contribuindo](#-contribuindo) - [✨ Contribuidores](#-contribuidores) @@ -168,6 +171,17 @@ Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as ar ## 📚 Usando a biblioteca +A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes, nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. + +A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso contrário enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). + +Aqui se mostrará como fazer a comunicação dos módulos com ACK. + +### 🏁 Inicializando + +### ✉️ Utilizando como transmissor + +### 📩 Utilizando como receptor ## 📝 Contribuindo From 277167fb3d827cc8f12f4f0af7c27f68e5664030 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Mon, 19 Oct 2020 22:35:07 -0300 Subject: [PATCH 15/71] :art: Fix emoji --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e7ad97b..2a2eff1 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ - [🏁 Inicializando](#-inicializando) - [✉️ Utilizando como transmissor](#-utilizando-como-transmissor) - [📩 Utilizando como receptor](#-utilizando-como-receptor) -- [📝 Contribuindo](#-contribuindo) +- [👥 Contribuindo](#-contribuindo) - [✨ Contribuidores](#-contribuidores) ## 🎉 Introdução @@ -183,7 +183,7 @@ Aqui se mostrará como fazer a comunicação dos módulos com ACK. ### 📩 Utilizando como receptor -## 📝 Contribuindo +## 👥 Contribuindo Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). From ccdcac747f209e6dab443a0493aa7f2676d38492 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Tue, 20 Oct 2020 01:37:58 -0300 Subject: [PATCH 16/71] :pencil: Add `rf24_delay` to the README --- README.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2a2eff1..cf95c1f 100644 --- a/README.md +++ b/README.md @@ -171,11 +171,34 @@ Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as ar ## 📚 Usando a biblioteca -A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes, nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. +A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. + +A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK. + +Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: + +```C +/** + * @brief Library delay function. + * + * @note This function must be implemented by the user. + * + * @param ms Delay in miliseconds. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_delay(uint32_t ms); +``` + +Ela é uma função de _delay_ utilizada dentro da biblioteca que recebe um tempo em milissegundos. Ela pode ser definida de formas distintas, porém, em geral, é possível defini-la simplesmente com a função `HAL_Delay(uint32_t Delay)` (é necessário incluir o arquivo `main.h` gerado pelo Cube para isso): -A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso contrário enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). +```C +rf24_status_t rf24_delay(uint32_t ms) { + HAL_Delay(ms); -Aqui se mostrará como fazer a comunicação dos módulos com ACK. + return RF24_SUCCESS; +} +``` ### 🏁 Inicializando From 2bde415c6486bcda9f3d71b06f013ae365d69c0e Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Tue, 20 Oct 2020 01:46:07 -0300 Subject: [PATCH 17/71] :pencil: Fix spelling --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cf95c1f..752c254 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ ## 🎉 Introdução -Esse repositório contém uma biblioteca para lidar com o módulo de rádiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). +Esse repositório contém uma biblioteca para lidar com o módulo de radiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). @@ -133,7 +133,7 @@ Para se fazer a configuração do seu hardware, é necessário primeiramente se O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. -Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a trasição entre os estados da máquina de estados do módulo. +Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a transição entre os estados da máquina de estados do módulo. O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. @@ -151,7 +151,7 @@ Ao fazer isso, se abrirá uma aba, onde se pode selecionar o modo do SPI, então Com isso, como pode ser visto abaixo em "1", alguns pinos serão definidos automaticamente em algumas posições, porém é possível movê-los para outras caso estejam disponíveis. Para ver outras posições disponíveis, segure o botão _Ctrl_ e clique no pino que deseja mover, caso haja um outro pino que suporte a função do pino que deseja mover, a cor do alternativo irá se alterar. -Além disso, aparecerá um tela de configurção, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. +Além disso, aparecerá um tela de configuração, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. ![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) From a5507d0282e22ec6ccd3edd876055b8ed26c9c5b Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 00:10:27 -0300 Subject: [PATCH 18/71] :bug: Fix forgotten CSN --- README.md | 478 +++++++++++++++++++++++++++--------------------------- 1 file changed, 239 insertions(+), 239 deletions(-) diff --git a/README.md b/README.md index 752c254..e7164ab 100644 --- a/README.md +++ b/README.md @@ -1,239 +1,239 @@ -[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) - - -[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) - - - -# 📡 STM32RF24 - -## 📜 Índice - -- [🎉 Introdução](#-introdução) -- [➕ Requisitos](#-requisitos) -- [📦 Submódulos com Git](#-submódulos-com-git) - - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) - - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) -- [📁 Estrutura do Repositório](#-estrutura-do-repositório) -- [📝 Documentação](#-documentação) -- [🏗️ Estrutura do Código](#-estrutura-do-código) -- [🔌 Configuração de Hardware](#-configuração-de-hardware) - - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) - - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) -- [📚 Usando a biblioteca](#-usando-a-biblioteca) - - [🏁 Inicializando](#-inicializando) - - [✉️ Utilizando como transmissor](#-utilizando-como-transmissor) - - [📩 Utilizando como receptor](#-utilizando-como-receptor) -- [👥 Contribuindo](#-contribuindo) -- [✨ Contribuidores](#-contribuidores) - -## 🎉 Introdução - -Esse repositório contém uma biblioteca para lidar com o módulo de radiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). - -Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). - - -## ➕ Requisitos - -Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). - -Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: - -```bash -sudo apt install doxygen -``` - -Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). - - -## 📦 Submódulos com Git - -Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. - -### 💥 Adicionando um submódulo - -Crie um diretório chamado `lib`, caso não exista: - -```bash -mkdir lib -``` - -E adicione o submódulo fazendo: - -* Com HTTPS: -```bash -git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 -``` - -* Com SSH: -```bash -git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 -``` - -### ✅ Inicializando um submódulo já existente - -Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. - -Exemplo: - -Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: - -```bash -git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git -``` - -Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: - -```bash -git submodule update --init -``` - - -## 📁 Estrutura do Repositório - -O repositório contém as seguintes pastas: - -- **docs/** → Arquivos de documentação -- **inc/** → Arquivos de cabeçalho -- **src/** → Arquivos de código fonte - -Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licensa, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. - - -## 📝 Documentação - -Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: - -```bash -doxygen -``` - -As configurações estão no arquivo [Doxyfile](./Doxyfile). - - -## 🏗️ Estrutura do Código - -O código está estruturado da seguinte forma: - -- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. -- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. -- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. -- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. - - -## 🔌 Configuração de Hardware - -### 🤔 Conhecendo o módulo - -Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: - -![Pinagem do nRF24L01](./assets/img/nrf24l01_pinout.png) - -O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. - -Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a transição entre os estados da máquina de estados do módulo. - -O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. - -### 🔧 Configurando o microcontrolador - -Para fazer a configuração do microcontrolador será utilizado o [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), um dos requisitos do [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). Além disso, será necessário já se ter um projeto configurado no Cube, caso não tenha veja o [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) e para mais detalhes veja o [STM32Guide](https://github.com/ThundeRatz/STM32Guide). - -Com o projeto aberto, vá em _Connectivity_ e depois selecione um SPI disponível, como pode ser visto na imagem abaixo: - -![Configurando o SPI - 1](./assets/img/spi_config_1.jpg) - -Ao fazer isso, se abrirá uma aba, onde se pode selecionar o modo do SPI, então selecione o modo _Full-Duplex Master_: - -![Configurando o SPI - 2](./assets/img/spi_config_2.jpg) - -Com isso, como pode ser visto abaixo em "1", alguns pinos serão definidos automaticamente em algumas posições, porém é possível movê-los para outras caso estejam disponíveis. Para ver outras posições disponíveis, segure o botão _Ctrl_ e clique no pino que deseja mover, caso haja um outro pino que suporte a função do pino que deseja mover, a cor do alternativo irá se alterar. - -Além disso, aparecerá um tela de configuração, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. - -![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) - -Depois disso será necessário configurar o pino CE, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem: - -![Configurando o CE](./assets/img/ce_config.jpg) - -Por fim, para configurar o pino IRQ, clique no pino que deseja utilizar e selecione a opção _GPIO_EXTIx_, onde x depende do número do pino escolhido. Abaixo foi utilizado o pino PC7 como exemplo, tendo-se assim que escolher o _GPIO_EXTI7_: - -![Configurando o IRQ - 1](./assets/img/irq_config_1.jpg) - -Como o pino IRQ é ativo baixo, é necessário configurá-lo assim. Para isso, como pode ser visto abaixo, vá em _System Core_ > _GPIO_, então na aba de configuração de GPIO selecione seu pino IRQ, com isso aparecerá uma lista de configurações do pino, na qual, em _GPIO Mode_ deve se escolher o modo _External Interrupt Mode with Falling edge trigger detection_. - -![Configurando o IRQ - 2](./assets/img/irq_config_2.jpg) - -Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as arquivos do Cube, siga as instruções no [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). - -## 📚 Usando a biblioteca - -A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. - -A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK. - -Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: - -```C -/** - * @brief Library delay function. - * - * @note This function must be implemented by the user. - * - * @param ms Delay in miliseconds. - * - * @return @ref rf24_status. - */ -rf24_status_t rf24_delay(uint32_t ms); -``` - -Ela é uma função de _delay_ utilizada dentro da biblioteca que recebe um tempo em milissegundos. Ela pode ser definida de formas distintas, porém, em geral, é possível defini-la simplesmente com a função `HAL_Delay(uint32_t Delay)` (é necessário incluir o arquivo `main.h` gerado pelo Cube para isso): - -```C -rf24_status_t rf24_delay(uint32_t ms) { - HAL_Delay(ms); - - return RF24_SUCCESS; -} -``` - -### 🏁 Inicializando - -### ✉️ Utilizando como transmissor - -### 📩 Utilizando como receptor - -## 👥 Contribuindo - -Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). - -## ✨ Contribuidores - -Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - -

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Daniel Nery

💻

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️
- - - - - - -Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! - ---------------------- - -Equipe ThundeRatz de Robótica +[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) +[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) + + +[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) + + + +# 📡 STM32RF24 + +## 📜 Índice + +- [🎉 Introdução](#-introdução) +- [➕ Requisitos](#-requisitos) +- [📦 Submódulos com Git](#-submódulos-com-git) + - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) + - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) +- [📁 Estrutura do Repositório](#-estrutura-do-repositório) +- [📝 Documentação](#-documentação) +- [🏗️ Estrutura do Código](#-estrutura-do-código) +- [🔌 Configuração de Hardware](#-configuração-de-hardware) + - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) + - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) +- [📚 Usando a biblioteca](#-usando-a-biblioteca) + - [🏁 Inicializando](#-inicializando) + - [✉️ Utilizando como transmissor](#-utilizando-como-transmissor) + - [📩 Utilizando como receptor](#-utilizando-como-receptor) +- [👥 Contribuindo](#-contribuindo) +- [✨ Contribuidores](#-contribuidores) + +## 🎉 Introdução + +Esse repositório contém uma biblioteca para lidar com o módulo de radiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). + +Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). + + +## ➕ Requisitos + +Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). + +Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: + +```bash +sudo apt install doxygen +``` + +Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). + + +## 📦 Submódulos com Git + +Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. + +### 💥 Adicionando um submódulo + +Crie um diretório chamado `lib`, caso não exista: + +```bash +mkdir lib +``` + +E adicione o submódulo fazendo: + +* Com HTTPS: +```bash +git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +* Com SSH: +```bash +git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +### ✅ Inicializando um submódulo já existente + +Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. + +Exemplo: + +Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: + +```bash +git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git +``` + +Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: + +```bash +git submodule update --init +``` + + +## 📁 Estrutura do Repositório + +O repositório contém as seguintes pastas: + +- **docs/** → Arquivos de documentação +- **inc/** → Arquivos de cabeçalho +- **src/** → Arquivos de código fonte + +Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licensa, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. + + +## 📝 Documentação + +Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: + +```bash +doxygen +``` + +As configurações estão no arquivo [Doxyfile](./Doxyfile). + + +## 🏗️ Estrutura do Código + +O código está estruturado da seguinte forma: + +- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. +- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. +- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. +- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. + + +## 🔌 Configuração de Hardware + +### 🤔 Conhecendo o módulo + +Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: + +![Pinagem do nRF24L01](./assets/img/nrf24l01_pinout.png) + +O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. + +Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a transição entre os estados da máquina de estados do módulo. + +O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. + +### 🔧 Configurando o microcontrolador + +Para fazer a configuração do microcontrolador será utilizado o [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), um dos requisitos do [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). Além disso, será necessário já se ter um projeto configurado no Cube, caso não tenha veja o [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) e para mais detalhes veja o [STM32Guide](https://github.com/ThundeRatz/STM32Guide). + +Com o projeto aberto, vá em _Connectivity_ e depois selecione um SPI disponível, como pode ser visto na imagem abaixo: + +![Configurando o SPI - 1](./assets/img/spi_config_1.jpg) + +Ao fazer isso, se abrirá uma aba, onde se pode selecionar o modo do SPI, então selecione o modo _Full-Duplex Master_: + +![Configurando o SPI - 2](./assets/img/spi_config_2.jpg) + +Com isso, como pode ser visto abaixo em "1", alguns pinos serão definidos automaticamente em algumas posições, porém é possível movê-los para outras caso estejam disponíveis. Para ver outras posições disponíveis, segure o botão _Ctrl_ e clique no pino que deseja mover, caso haja um outro pino que suporte a função do pino que deseja mover, a cor do alternativo irá se alterar. + +Além disso, aparecerá um tela de configuração, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. + +![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) + +Depois disso será necessário configurar o pino CSN, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem abaixo (para esse tutorial o CSN ficará no pino PC6). Deve-se fazer o mesmo para o pino CE, uma vez que ele também é um _GPIO_Output_ (para esse tutorial o CSN ficará no pino PC8) + +![Configurando o CE](./assets/img/ce_config.jpg) + +Por fim, para configurar o pino IRQ, clique no pino que deseja utilizar e selecione a opção _GPIO_EXTIx_, onde x depende do número do pino escolhido. Abaixo foi utilizado o pino PC7 como exemplo, tendo-se assim que escolher o _GPIO_EXTI7_: + +![Configurando o IRQ - 1](./assets/img/irq_config_1.jpg) + +Como o pino IRQ é ativo baixo, é necessário configurá-lo assim. Para isso, como pode ser visto abaixo, vá em _System Core_ > _GPIO_, então na aba de configuração de GPIO selecione seu pino IRQ, com isso aparecerá uma lista de configurações do pino, na qual, em _GPIO Mode_ deve se escolher o modo _External Interrupt Mode with Falling edge trigger detection_. + +![Configurando o IRQ - 2](./assets/img/irq_config_2.jpg) + +Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as arquivos do Cube, siga as instruções no [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). + +## 📚 Usando a biblioteca + +A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. + +A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK. + +Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: + +```C +/** + * @brief Library delay function. + * + * @note This function must be implemented by the user. + * + * @param ms Delay in miliseconds. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_delay(uint32_t ms); +``` + +Ela é uma função de _delay_ utilizada dentro da biblioteca que recebe um tempo em milissegundos. Ela pode ser definida de formas distintas, porém, em geral, é possível defini-la simplesmente com a função `HAL_Delay(uint32_t Delay)` (é necessário incluir o arquivo `main.h` gerado pelo Cube para isso): + +```C +rf24_status_t rf24_delay(uint32_t ms) { + HAL_Delay(ms); + + return RF24_SUCCESS; +} +``` + +### 🏁 Inicializando + +### ✉️ Utilizando como transmissor + +### 📩 Utilizando como receptor + +## 👥 Contribuindo + +Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). + +## ✨ Contribuidores + +Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + +

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Daniel Nery

💻

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️
+ + + + + + +Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! + +--------------------- + +Equipe ThundeRatz de Robótica From a4150059d84f5d618b9734e1d06f0ce498952515 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 00:11:01 -0300 Subject: [PATCH 19/71] :pencil: Add initializing subsection --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/README.md b/README.md index e7164ab..35b11b1 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,57 @@ rf24_status_t rf24_delay(uint32_t ms) { ### 🏁 Inicializando +Antes de se incializar o módulo em si, é necessário se inicializar o SPI que foi configurado no Cube. O nome da função depende de qual SPI se escolheu, para o escolhido na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) acima, seria a seguinte função: + +```C +MX_SPI2_Init(); /* No Cube foi escolhido o SPI2 */ +``` + +Para utilizar a função acima precisa-se incluir o arquivo `spi.h` gerado pelo Cube. Além disso, é recomendado se colocar um delay de algo em torno de 100 ms após a inicialização do SPI. + +Depois, é necessário se definir no código quais foram os pinos e a instância do SPI escolhidos, além de outras configurações. Para isso irá se considerar os pinos escolhidos na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) e também que se mandará uma mensagem de 7 bytes, ou seja _payload size_ de 7. + +Primeiramente se precisa criar uma instância de módulo e um ponteiro para ele: + +```C +rf24_dev_t device; /* Instanciação de um módulo */ +rf24_dev_t* p_dev = &device; /* Ponteiro para a instância do módulo */ +``` + +Então para se configurar o módulo pode-se fazer da seguinte forma: + +```C +/* Device config */ + +/* Obtém-se uma configuraão padrão */ +rf24_get_default_config(p_dev); + +/* No Cube foi escolhido o SPI2 */ +p_dev->platform_setup.hspi = &hspi2; + +/* CSN no pino PC6 */ +p_dev->platform_setup.csn_port = GPIOC; +p_dev->platform_setup.csn_pin = GPIO_PIN_6; + +/* IRQ no pino PC7 */ +p_dev->platform_setup.irq_port = GPIOC; +p_dev->platform_setup.irq_pin = GPIO_PIN_7; + +/* CE no pino PC8 */ +p_dev->platform_setup.ce_port = GPIOC; +p_dev->platform_setup.ce_pin = GPIO_PIN_8; + +p_dev->payload_size = 7; +``` + +Por fim, é possível se inicializar o módulo, passando o ponteiro da instância do módulo para a seguinte função: + +```C +rf24_init(p_dev); +``` + +Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erros caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. + ### ✉️ Utilizando como transmissor ### 📩 Utilizando como receptor From c07dac24e396db46a9686dc5918a24f28c416e51 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 00:37:36 -0300 Subject: [PATCH 20/71] :pencil: Add detail about the tutorial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 35b11b1..003cd27 100644 --- a/README.md +++ b/README.md @@ -173,7 +173,7 @@ Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as ar A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. -A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK. +A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK, também se considerará que só há um transmissor e um receptor, porém é possível haver mais módulos. Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: From 82e90c4d51dd4c65f8a8603e74f1fedfb0adfc98 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 00:37:56 -0300 Subject: [PATCH 21/71] :pencil: Fix spelling --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 003cd27..dc3f981 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ Por fim, é possível se inicializar o módulo, passando o ponteiro da instânci rf24_init(p_dev); ``` -Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erros caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. +Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erro caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. ### ✉️ Utilizando como transmissor From eb8d2c3d61ee9d561f2123ba0c167954f9f51efb Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 22:39:30 -0300 Subject: [PATCH 22/71] :pencil: Add transmissor tutorial --- README.md | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dc3f981..416517f 100644 --- a/README.md +++ b/README.md @@ -210,7 +210,7 @@ MX_SPI2_Init(); /* No Cube foi escolhido o SPI2 */ Para utilizar a função acima precisa-se incluir o arquivo `spi.h` gerado pelo Cube. Além disso, é recomendado se colocar um delay de algo em torno de 100 ms após a inicialização do SPI. -Depois, é necessário se definir no código quais foram os pinos e a instância do SPI escolhidos, além de outras configurações. Para isso irá se considerar os pinos escolhidos na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) e também que se mandará uma mensagem de 7 bytes, ou seja _payload size_ de 7. +Depois, é necessário se definir no código quais foram os pinos e a instância do SPI escolhidos, além de outras configurações. Para isso irá se considerar os pinos escolhidos na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) e também que se mandará uma mensagem de 15 bytes, ou seja _payload size_ de 15. Primeiramente se precisa criar uma instância de módulo e um ponteiro para ele: @@ -242,7 +242,7 @@ p_dev->platform_setup.irq_pin = GPIO_PIN_7; p_dev->platform_setup.ce_port = GPIOC; p_dev->platform_setup.ce_pin = GPIO_PIN_8; -p_dev->payload_size = 7; +p_dev->payload_size = 15; ``` Por fim, é possível se inicializar o módulo, passando o ponteiro da instância do módulo para a seguinte função: @@ -255,6 +255,45 @@ Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem suced ### ✉️ Utilizando como transmissor +Para se utilizar um módulo como transmissor é necessário saber o endereço do receptor para o qual se enviará a mensagem, essa informação precisa ser compartilhada entre os dois, caso contrário não é possível fazer a comunicação. Além disso, como aqui será mostrado como se comunicar com ACK, o transmissor se comportará por um período como receptor esperando o pacote de ACK, dessa forma também é necessário que ele tenha um endereço de receptor, esse endereço também precisa ser uma informação que os dois módulos têm. + +Para tanto o exemplo de transmissor quanto o de receptor será usado o vetor de endereços abaixo, onde o primeiro é o endereço para o transmissor receber o pacote de ACK e o segundo o endereço do receptor, para onde o transmissor irá enviar. Os tamanhos dos endereços são configuráveis, porém se utilizará endereços de 5 bytes. + +```C +uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; +``` + +Para a parte de configuração do transmissor também é interessante se escolher uma potência de saída do módulo com a seguinte função: + +```C +rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t output_power); +``` + +Agora, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[1]` e um de leitura para o `addresses[0]`, o que pode ser feito da seguinte forma: + +```C +rf24_status_t device_status; + +device_status = rf24_open_writing_pipe(p_dev, addresses[1]); +device_status = rf24_open_reading_pipe(p_dev, 1, addresses[0]); +``` + +Com isso feito, já pe possível se enviar mensagens! Digamos que se deseje enviar a seguinte mensagem armazenada em um vetor: + +```C +uint8_t buffer[] = {'V', 'i', 'r', 't', 'u', 'a', 'l', ' ', 'h', 'u', 'g', 's', '!', '\r', '\n'}; +``` + +Para mandá-la com ACK, pode-se fazzer da seguinte forma: + +```C +rf24_status_t device_status; + +device_status = rf24_write(p_dev, buffer, 15, true); +``` + +Essa função retornará `RF24_SUCCESS` caso o transmissor tenha conseguido enviar a mensagem e, como a comunicação é feita com ACK, caso o receptor tenha recebido a mensagem. + ### 📩 Utilizando como receptor ## 👥 Contribuindo From 30fa3048bfa520a79b9f2a5f07737459bb968061 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 23:17:54 -0300 Subject: [PATCH 23/71] :pencil: Add receiver text --- README.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 416517f..d5bfd35 100644 --- a/README.md +++ b/README.md @@ -266,13 +266,21 @@ uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0x Para a parte de configuração do transmissor também é interessante se escolher uma potência de saída do módulo com a seguinte função: ```C -rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t output_power); +/** + * @brief Set device output power. + * + * @param p_dev Pointer to rf24 device. + * @param output_power Selected output power. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t output_power); ``` Agora, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[1]` e um de leitura para o `addresses[0]`, o que pode ser feito da seguinte forma: ```C -rf24_status_t device_status; +rf24_status_t device_status; /* Variável para receber os status retornados pelas funções */ device_status = rf24_open_writing_pipe(p_dev, addresses[1]); device_status = rf24_open_reading_pipe(p_dev, 1, addresses[0]); @@ -287,8 +295,6 @@ uint8_t buffer[] = {'V', 'i', 'r', 't', 'u', 'a', 'l', ' ', 'h', 'u', 'g', 's', Para mandá-la com ACK, pode-se fazzer da seguinte forma: ```C -rf24_status_t device_status; - device_status = rf24_write(p_dev, buffer, 15, true); ``` @@ -296,6 +302,77 @@ Essa função retornará `RF24_SUCCESS` caso o transmissor tenha conseguido envi ### 📩 Utilizando como receptor +Assim como foi falado na [subseção do transmissor]((#-utilizando-como-transmissor)), o endereço para o qual o transmissor enviará os dados precisa ser o mesmo que está registrado no código do receptor, assim como o endereço para o qual o receptor enviará o pacote de ACK precisa ser o mesmo que está no transmissor, por isso, serão usados os mesmos endereços do tutorial do transmissor: + +```C +uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; +``` + +No caso do receptor, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[0]` e um de leitura para o `addresses[1]`, como é feito abaixo: + +```C +rf24_status_t device_status; /* Variável para receber os status retornados pelas funções */ + +device_status = rf24_open_writing_pipe(p_dev, addresses[0]); +device_status = rf24_open_reading_pipe(p_dev, 1, addresses[1]); +``` + +Além disso, para que o receptor possa começar a receber pacotes, é necessário chamar a seguinte função: + +```C +device_status = rf24_start_listening(p_dev); +``` + +Com isso, já é possível receber pacotes! É possível verificar se há um pacote novo com a seguinte fução: + +```C +/** + * @brief Checks if a new payload has arrived. + * + * @param p_dev Pointer to rf24 device. + * @param pipe_number Pipe where the available data is. + * + * @note To don't ready a pipe, pass NULL as pipe_number argument. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_available(rf24_dev_t* p_dev, uint8_t* pipe_number); +``` + +E é possível ler pacotes com a seguinte função: + +```C +/** + * @brief Reads the payload avaible in the receiver FIFO. + * + * @note Interruption flags related to the receiver are cleared. + * + * @param p_dev Pointer to rf24 device. + * @param buff Pointer to a buffer where the data should be written + * @param len Maximum number of bytes to read into the buffer + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_read(rf24_dev_t* p_dev, uint8_t* buff, uint8_t len); +``` + +Portanto, para se verificar se há pacotes na fila e ler o último pacote, pode-se fazer da seguinte forma: + +```C +rf24_status_t device_status; +rf24_status_t read_status; + +uint8_t buffer[15] = {0}; + +if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { + while ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { + read_status = rf24_read(p_dev, buffer, p_dev->payload_size); + } + + /* Faça alguma coisa com o pacote lido */ +} +``` + ## 👥 Contribuindo Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). From aa6a7439ed4a04261c130fa2979b9be4a182a5a9 Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 21 Oct 2020 23:28:08 -0300 Subject: [PATCH 24/71] :pencil: Fix spelling --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d5bfd35..3a00e7f 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ O repositório contém as seguintes pastas: - **inc/** → Arquivos de cabeçalho - **src/** → Arquivos de código fonte -Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licensa, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. +Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licença, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. ## 📝 Documentação @@ -202,7 +202,7 @@ rf24_status_t rf24_delay(uint32_t ms) { ### 🏁 Inicializando -Antes de se incializar o módulo em si, é necessário se inicializar o SPI que foi configurado no Cube. O nome da função depende de qual SPI se escolheu, para o escolhido na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) acima, seria a seguinte função: +Antes de se inicializar o módulo em si, é necessário se inicializar o SPI que foi configurado no Cube. O nome da função depende de qual SPI se escolheu, para o escolhido na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) acima, seria a seguinte função: ```C MX_SPI2_Init(); /* No Cube foi escolhido o SPI2 */ @@ -224,7 +224,7 @@ Então para se configurar o módulo pode-se fazer da seguinte forma: ```C /* Device config */ -/* Obtém-se uma configuraão padrão */ +/* Obtém-se uma configuração padrão */ rf24_get_default_config(p_dev); /* No Cube foi escolhido o SPI2 */ @@ -286,13 +286,13 @@ device_status = rf24_open_writing_pipe(p_dev, addresses[1]); device_status = rf24_open_reading_pipe(p_dev, 1, addresses[0]); ``` -Com isso feito, já pe possível se enviar mensagens! Digamos que se deseje enviar a seguinte mensagem armazenada em um vetor: +Com isso feito, já é possível se enviar mensagens! Digamos que se deseje enviar a seguinte mensagem armazenada em um vetor: ```C uint8_t buffer[] = {'V', 'i', 'r', 't', 'u', 'a', 'l', ' ', 'h', 'u', 'g', 's', '!', '\r', '\n'}; ``` -Para mandá-la com ACK, pode-se fazzer da seguinte forma: +Para mandá-la com ACK, pode-se fazer da seguinte forma: ```C device_status = rf24_write(p_dev, buffer, 15, true); @@ -323,7 +323,7 @@ Além disso, para que o receptor possa começar a receber pacotes, é necessári device_status = rf24_start_listening(p_dev); ``` -Com isso, já é possível receber pacotes! É possível verificar se há um pacote novo com a seguinte fução: +Com isso, já é possível receber pacotes! É possível verificar se há um pacote novo com a seguinte função: ```C /** From be0a8d3c0194d61f50239618c823899d5150026c Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Thu, 29 Oct 2020 23:55:41 -0300 Subject: [PATCH 25/71] :bug: Add debug infos --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 3a00e7f..80d8685 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ - [🏁 Inicializando](#-inicializando) - [✉️ Utilizando como transmissor](#-utilizando-como-transmissor) - [📩 Utilizando como receptor](#-utilizando-como-receptor) + - [🐛 Depuração](#-depuração) - [👥 Contribuindo](#-contribuindo) - [✨ Contribuidores](#-contribuidores) @@ -373,6 +374,14 @@ if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { } ``` +### 🐛 Depuração + +Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/.h`, porém para isso também é necessário definir uma função `printf`. Para facilitar o uso, recomendo adicionar a biblioteca [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) ao projeto. Após adicioná-la, tendo chamado as funções de depuração em seu código, para ver o que está sendo "impresso" pelas funções, rode no terminal, estando na raiz de seu projeto: + +```C +make rtt +``` + ## 👥 Contribuindo Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). From 69bf3aa3686b9e8dc932ec21e00d904fdfe84f3e Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 00:08:25 -0300 Subject: [PATCH 26/71] :art: Change emoji --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 80d8685..470961d 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) - [📚 Usando a biblioteca](#-usando-a-biblioteca) - [🏁 Inicializando](#-inicializando) - - [✉️ Utilizando como transmissor](#-utilizando-como-transmissor) + - [📤 Utilizando como transmissor](#-utilizando-como-transmissor) - [📩 Utilizando como receptor](#-utilizando-como-receptor) - [🐛 Depuração](#-depuração) - [👥 Contribuindo](#-contribuindo) @@ -254,7 +254,7 @@ rf24_init(p_dev); Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erro caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. -### ✉️ Utilizando como transmissor +### 📤 Utilizando como transmissor Para se utilizar um módulo como transmissor é necessário saber o endereço do receptor para o qual se enviará a mensagem, essa informação precisa ser compartilhada entre os dois, caso contrário não é possível fazer a comunicação. Além disso, como aqui será mostrado como se comunicar com ACK, o transmissor se comportará por um período como receptor esperando o pacote de ACK, dessa forma também é necessário que ele tenha um endereço de receptor, esse endereço também precisa ser uma informação que os dois módulos têm. From 732b23caa64cb0552b46046f898a518f4dad5755 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 00:21:41 -0300 Subject: [PATCH 27/71] :art: Add formatting section --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 470961d..17e4646 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) - [📁 Estrutura do Repositório](#-estrutura-do-repositório) - [📝 Documentação](#-documentação) +- [🎨 Formatação](#-formatação) - [🏗️ Estrutura do Código](#-estrutura-do-código) - [🔌 Configuração de Hardware](#-configuração-de-hardware) - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) @@ -48,6 +49,14 @@ sudo apt install doxygen Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). +Além disso, para formatação é utilizado o `uncrustify`, como descrito na seção [🎨 Formatação](#-formatação). Para instalá-lo, no Ubuntu, rode o seguinte comando no terminal: + +```bash +sudo apt install uncrustify +``` + +No Windows, baixe o .zip no [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Adicione o local do executável na variável de ambiente `PATH`. + ## 📦 Submódulos com Git @@ -100,7 +109,7 @@ O repositório contém as seguintes pastas: - **inc/** → Arquivos de cabeçalho - **src/** → Arquivos de código fonte -Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licença, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. +Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licença, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. Outro arquivo relevante é o `uncrustify.cfg` que é utilizado para formatar os arquivos. ## 📝 Documentação @@ -113,6 +122,13 @@ doxygen As configurações estão no arquivo [Doxyfile](./Doxyfile). +## 🎨 Formatação + +Além de uma boa documentação, é necessário que o código sempre esteja bem formatado, o que facilita sua compreensão. Para isso foi utilizado o `uncrustify`. Com o `uncrustify` instalado, para formatar um arquivo que tenha mudado, rode o seguinte comando: + +```bash +uncrustify -c uncrustify.cfg --replace --no-backup caminho/até/o/arquivo +``` ## 🏗️ Estrutura do Código From be38347c47160e9f02e0b57c04b2869fc5c45570 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 00:21:59 -0300 Subject: [PATCH 28/71] :sparkles: Add uncrustify --- uncrustify.cfg | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 uncrustify.cfg diff --git a/uncrustify.cfg b/uncrustify.cfg new file mode 100644 index 0000000..e69de29 From 79fd1d68606bc511135fbcd443bc072b390ace98 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 00:24:43 -0300 Subject: [PATCH 29/71] :pencil: Update formatting section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17e4646..8a11302 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ As configurações estão no arquivo [Doxyfile](./Doxyfile). Além de uma boa documentação, é necessário que o código sempre esteja bem formatado, o que facilita sua compreensão. Para isso foi utilizado o `uncrustify`. Com o `uncrustify` instalado, para formatar um arquivo que tenha mudado, rode o seguinte comando: ```bash -uncrustify -c uncrustify.cfg --replace --no-backup caminho/até/o/arquivo +uncrustify -c uncrustify.cfg --replace --no-backup caminho_até_o_arquivo/nome_do_arquivo ``` ## 🏗️ Estrutura do Código From d1b3c5a64ff884ab7b68bb1f89f8d10432eef52e Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 15:03:08 -0300 Subject: [PATCH 30/71] :busts_in_silhouette: Add Contributing Co-authored-by: lucastrschneider --- CONTRIBUTING.md | 123 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..24c2b06 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,123 @@ +# Contribuindo para o STM32RF24 🚀 + +Primeiramente, obrigado pelo interesse! Nós agradecemos muito pela participação da comunidade nesse projeto! ✨ + +Esse documento descreve um conjunto de diretrizes para contribuir com esse projeto. Não são regras estritas, então sempre vale o bom senso, e, em caso de dúvidas, nos contate em comp@thunderatz.org. + +Por favor, note que este projeto é liberado com um [Código de Conduta para Colaboradores](./CODE_OF_CONDUCT.pt-br.md). Ao participar deste projeto, você concorda em cumprir seus termos. + +## Como eu posso contribuir? + +### Issues + +A maior parte das contribuições é feita por meio de [GitHub Issues](https://guides.github.com/features/issues/). Elas serão usadas principalmente para + +1. Identificar bugs - `bug` +2. Sugerir melhorias e recursos - `enhancement` +3. Melhorar a documentação - `documentation` + +Para cada um desses itens, existe um [label específico](https://docs.github.com/en/enterprise/2.17/user/github/managing-your-work-on-github/applying-labels-to-issues-and-pull-requests). Nós recomendamos fortemente que todas as issues criadas contenham pelo menos um desses labels descritos a cima. + +Mas, antes de criar uma nova issue, é importante primeiro checar se já não existe uma com o mesmo assunto. Você pode filtrar por labels, por exemplo, [aqui](https://github.com/ThundeRatz/STM32RF24/labels/bug) serão mostradas apenas as issues ativas com o label `bug`. + +#### Identificando bugs 🐛 + +- Use títulos claros +- Especifique a versão da biblioteca +- Especifique o SO, MV (se aplicável), o microcontrolador do projeto, e outras configurações que possam ser úteis +- Descreva os passos para reproduzir o bug encontrado +- Descreva o comportamento observado e o esperado +- Inclua screenshots, gifs e outros tipos de referências que podem ajudar a explicar o problema + +#### Sugerir melhorias e recursos ✨ + +- Use títulos claros +- Descreva a sugestão passo-a-passo +- Descreva o comportamento esperado após implementar a ideia +- Explique por que esse novo recurso ou atualização pode ser útil + +#### Melhorar a documentação 📝 + +- Use títulos claros +- Especifique os arquivos que precisam ser documentados +- Explique suas sugestões e por que seriam melhores ou mais claras + +### Pull Requests + +Se você quiser contribuir com código para o projeto, procure uma issue e comece a desenvolver sua solução! Quando você estiver pronto, abra uma Pull Request e nós vamos revisar. + +Algumas recomendações: + +- Descreva exatamente o que você fez e porque, sendo sempre o mais claro possível +- Adicione o link com a issue correspondente ao seu Pull Request (se não houver nenhuma, por favor crie uma nova) +- Confira se você está seguindo o [Syleguide 💄](#styleguide-) + +## Styleguide 💄 + +### Formatação do código + +O código é formatado seguindo regras específicas, para mais informações de como garantir que seu código esteja formatado da forma correta, veja a seção [🎨 Formatação](./README.md#-formatação) do README. + +### Código em C + +Existem algumas diretrizes de organização de código em C que devem seguidas. + +> "Programas precisam serem escritos para as pessoas lerem, +> e somente incidentalmente para as máquinas executarem." + +― Harold Abelson, Structure and Interpretation of Computer Programs + +#### Escopos + +Reduza sempre os escopos das variáveis ao menor possível, evitando variáveis globais, externas e estáticas, dando preferência para variáveis locais. O mesmo é válido para funções, não crie funções públicas se elas so forem ser usadas dentro de um arquivo, deixe elas privadas. + +#### Nomencaltura + +> "Você deveria nomear uma variável com o mesmo cuidado +> com que nomearia uma criança recém-nascido." + +― Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship + +Primeiramente, para manter o padrão, deixe todos os nomes das variáveis, funções, constantes, arquivos, entre outros, em inglês. + +Escolha nomes com significado, os nomes devem mostrar para que a variável, por exemplo, é utilizada no código, portanto, nunca utilize variáveis com somente uma letra, além de não dizer nada sobre o que ela é, também se dificulta a localização da variável no código. + +Para variáveis ou constantes, por exemplo, que tenham unidade de medida, inclua essa unidade de medida no nome, isso facilita a compreensão do seu signifcado. + +Para indicar que uma variável é um ponteiro, adicione `p_` no início do nome da variável, caso ela seja um ponteiro de um ponteiro, por exemplo, adcione `pp_`. + +Variáveis globais de um arquivo e varáveis externas devem ser evitadas, principalmente as externas, porém caso sejam realmente necessárias, devem ser identificadas para se facilitar o entendimento de partes isoladas do código. Adicione `m_` no início do nome de uma variável para indicar que ela é uma variável global do arquivo. E para indicar que uma variável é global externa, adicione `g_` no início do nome da mesma. Caso se tivesse um ponteiro externo, por exemplo, se utilizaria `gp_`. + +Para mais dicas de nomencaltura, veja o artigo ["How To Create Meaningful Names In Code"](https://medium.com/better-programming/how-to-create-meaningful-names-in-code-20d7476537d4). + +#### Tipos de variáveis + +Faça uma escolha coerente para os tipos das variáveis e tipos de retorno das funções, além de seus parâmetros, por exemplo, não utilize `float` se sua variável será um contador unitário. + +Além disso, para variáveis inteiras faça distinção entre `signed` e `unsigned` e especifique seu tamanho em bits, isso garante mais controle sobre os valores que cada variável pode ter, como também otimiza a ocupação da memória. Para isso utilize a biblioteca `stdint.h`, podendo assim, por exemplo, se utilizar os tipos `uint8_t` para inteiros de 8 bits sem sinal e `int16_t` para inteiros de 16 bits com sinal. + +#### Números mágicos/Constantes + +Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código, além eles obscurecer o entendimento do mesmo, também dificultam a manutenção. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. + +### Menssagens de commit + +- As menssagens devem ser escritas preferencialmente em inglês. +- Use o tempo presente ("Add feature" não "Added feature") +- Use o modo imperativo ("Move cursor to..." não "Moves cursor to...") +- Nós recomendamos fortemente iniciar a menssagem de commit com um emoji relacionado + - 📝 `:memo:` para documentação + - 🐛 `:bug:` para bugs + - 🚑 `:ambulance:` para correções críticas + - 🎨 `:art:` para melhorias na estrutura + - ✨ `:sparkles:` para novos recursos + + Para mais exemplos, veja [aqui](https://gitmoji.carloscuesta.me/). + +### Fluxo de trabalho + +O fluxo de trabalho é baseado no [Git Flow](https://nvie.com/posts/a-successful-git-branching-model/). + +### Documentação + +A documentação é gerada com [Doxygen](https://www.doxygen.nl/index.html) e deve seguir o seu manual de documentação. Um código bem documentado é crucial para seu entendimento. \ No newline at end of file From f25b046981346cf4bd6d1fcc03b52fe6ce15b91f Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 20:54:26 -0300 Subject: [PATCH 31/71] :truck: Rename Contributing in pt --- CONTRIBUTING.md => CONTRIBUTING.pt-br.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CONTRIBUTING.md => CONTRIBUTING.pt-br.md (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.pt-br.md similarity index 100% rename from CONTRIBUTING.md rename to CONTRIBUTING.pt-br.md From a717b0d4835547f88a1aba54f8bb87350946b1e4 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 22:11:04 -0300 Subject: [PATCH 32/71] :globe_with_meridians: Translate contributing Co-authored-by: lucastrschneider --- CONTRIBUTING.md | 128 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..50d5b5e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,128 @@ +# Contributing to STM32RF24 🚀 + +Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](CONTRIBUTING.pt-br.md). + +First of all, thanks for your interest! We really appreciate the participation of the community! ✨ + +Here we describe a set of guidelines when contributing to the VSS simulation. These are not strict rules, so use your best judgment, and in case you have questions, contact us on comp@thunderatz.org. + +Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. + +## How can I contribute? + +### Issues + +Most contributions are made with [GitHub Issues](https://guides.github.com/features/issues/). They will be primarily used for + +1. Trackking bugs - `bug` +2. Suggesting Enhancements - `enhancement` +3. Improving documentation - `documentation` + +For each of these, there is a specific [label](https://docs.github.com/en/enterprise/2.17/user/github/managing-your-work-on-github/applying-labels-to-issues-and-pull-requests). We strongly recommend that every issue created has at least one of the three labels described above. + +But before creating an issue, first check if there is already one with the same subject. You can search and filter by labels, for example, [here](https://github.com/ThundeRatz/STM32RF24/labels/bug) we only see the issues that are active and have the `bug` label. + +#### Reporting Bugs 🐛 + +- Use a clear title +- Specify the version of the library +- Specify OS, VM (if applicable), project's microcontroller, and other configurations that may be usefull +- Describe the steps to reproduce the bug +- Describe the observed and the expected behavior +- Include screenshots, gifs, any type of reference that helps to explain the problem + +#### Suggesting Enhancements ✨ + +- Use a clear title +- Describe the suggestion step-by-step +- Describe the expected behavior after implementing this idea +- Explain why this new feature or update can be usefull + +#### Imporoving documentation 📝 + +- Use a clear title +- Specify the files that need to be documented +- Explain your suggestion and why would it be better/clearer + +### Pull Requests + +If you want to contribute with code to the project, search for an open issue and start developing. When you are ready, open a Pull Request and we will review it. + +A few recomendations: + +- Describe exactly what you've done, always as clear as possible +- Link the applicable issue in your Pull Request (if there is none, please, create a new one) +- Make sure that you are following the [Syleguide 💄](#styleguide-) + +## Styleguide 💄 + +### Formatação do código + +The code is formatted following specific rules, for more information on how to ensure that your code is formatted correctly, see the [🎨 Formatting](./README.md#-formatting) section on the README. + +### Coding in C + +There are some guidelines for organizing C code that should be followed. + +> "Programs must be written for people to read, +> and only incidentally for machines to execute." + +― Harold Abelson, Structure and Interpretation of Computer Programs + +#### Scopes + +Always reduce the scopes of the to the minimum possible, avoiding global, external and static variables, giving preference to local variables. The same is ture for functions, do not create public functions if they are only to be used within a file, leave them private. + +#### Nomenclature + +> "You should name a variable using the same care +> with which you name a first-born child." + +― Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship + +First, to maintain the standard, leave all the names of variables, functions, constants, files, among others, in English. + +Choose meaningful names, the names should show what the variable, for example, is used in the code, so never use variables with only one letter, besides saying nothing about what it is, it is also difficult to find the variable in the code. + +For variables or constants, for example, that have a unit of measure, include this unit of measure in the name, this makes it easier to understand its meaning. + +In order to indicate that a variable is a pointer, add `p_` to the beginning of the variable name, if it is a pointer to a pointer, for example, add `pp_`. + +Global variables in a file and external variables should be avoided, especially external ones, but if they are really necessary, they should be identified to facilitate the understanding of isolated parts of the code. Add `m_` to the beginning of a variable name to indicate that it is a global variable in a file. And to indicate that a variable is a global external, add `g_` at the beginning of its name. If you had an external pointer, for example, you would use `gp_`. + +For more naming tips, see the article ["How To Create Meaningful Names In Code"](https://medium.com/better-programming/how-to-create-meaningful-names-in-code-20d7476537d4). + +#### Variable types + +Make coherent choices for your variable types and your functions return types, besides its parameters, for examples, do not use `float` if your variable is a unit counter. + +Make a consistent choice for the types of variables and types of return of functions, in addition to their parameters, for example, do not use `float` if your variable will be a unit counter. + +Além disso, para variáveis inteiras faça distinção entre `signed` e `unsigned` e especifique seu tamanho em bits, isso garante mais controle sobre os valores que cada variável pode ter, como também otimiza a ocupação da memória. Para isso utilize a biblioteca `stdint.h`, podendo assim, por exemplo, se utilizar os tipos `uint8_t` para inteiros de 8 bits sem sinal e `int16_t` para inteiros de 16 bits com sinal. + +Besides that, for integer variables, distinguish between `signed` and `unsigned` and specify their size in bits, this ensures more control over the values that each variable can have, as well as optimizes the memory occupation. To do this, use the `stdint.h` library, than, for example, you can use the types `uint8_t` for unsigned 8-bit integers and `int16_t` for signed 16-bit integers. + +#### Magic numbers/Constants + +Avoid [magic numbers](https://en.wikipedia.org/wiki/Magic_number_(programming)) in your code, in addition to obscuring the understanding of it, they also make maintenance difficult. To solve this, use constants defined with `#define` at the beginning of your code. + +### Git commit messages + +- Use the present tense ("Add feature" not "Added feature") +- Use the imperative mood ("Move cursor to..." not "Moves cursor to...") +- It is strongly recommended to start a commit message with a related emoji + - 📝 `:memo:` for documentation + - 🐛 `:bug:` for bug issues + - 🚑 `:ambulance:` for critical fixes + - 🎨 `:art:` for imporoving structure + - ✨ `:sparkles:` for new features + + For more examples, see [this reference](https://gitmoji.carloscuesta.me/). + +### Git workflow + +The project workflow is based on [Git Flow](https://nvie.com/posts/a-successful-git-branching-model/). + +### Documentation + +The documentation is generated with [Doxygen](https://www.doxygen.nl/index.html) and should follow its documenting manual. A well-documented code is crucial for understanding it. From cba34deda62a9cf24cd7585e5db39f3965c949ea Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 22:14:47 -0300 Subject: [PATCH 33/71] :pencil: Fix links and gramatic --- CONTRIBUTING.pt-br.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.pt-br.md b/CONTRIBUTING.pt-br.md index 24c2b06..d0d3d4c 100644 --- a/CONTRIBUTING.pt-br.md +++ b/CONTRIBUTING.pt-br.md @@ -56,7 +56,7 @@ Algumas recomendações: ### Formatação do código -O código é formatado seguindo regras específicas, para mais informações de como garantir que seu código esteja formatado da forma correta, veja a seção [🎨 Formatação](./README.md#-formatação) do README. +O código é formatado seguindo regras específicas, para mais informações de como garantir que seu código esteja formatado da forma correta, veja a seção [🎨 Formatação](./README.pt-br.md#-formatação) do README. ### Código em C @@ -71,7 +71,7 @@ Existem algumas diretrizes de organização de código em C que devem seguidas. Reduza sempre os escopos das variáveis ao menor possível, evitando variáveis globais, externas e estáticas, dando preferência para variáveis locais. O mesmo é válido para funções, não crie funções públicas se elas so forem ser usadas dentro de um arquivo, deixe elas privadas. -#### Nomencaltura +#### Nomenclatura > "Você deveria nomear uma variável com o mesmo cuidado > com que nomearia uma criança recém-nascido." @@ -88,7 +88,7 @@ Para indicar que uma variável é um ponteiro, adicione `p_` no início do nome Variáveis globais de um arquivo e varáveis externas devem ser evitadas, principalmente as externas, porém caso sejam realmente necessárias, devem ser identificadas para se facilitar o entendimento de partes isoladas do código. Adicione `m_` no início do nome de uma variável para indicar que ela é uma variável global do arquivo. E para indicar que uma variável é global externa, adicione `g_` no início do nome da mesma. Caso se tivesse um ponteiro externo, por exemplo, se utilizaria `gp_`. -Para mais dicas de nomencaltura, veja o artigo ["How To Create Meaningful Names In Code"](https://medium.com/better-programming/how-to-create-meaningful-names-in-code-20d7476537d4). +Para mais dicas de nomenclatura, veja o artigo ["How To Create Meaningful Names In Code"](https://medium.com/better-programming/how-to-create-meaningful-names-in-code-20d7476537d4). #### Tipos de variáveis @@ -98,7 +98,7 @@ Além disso, para variáveis inteiras faça distinção entre `signed` e `unsign #### Números mágicos/Constantes -Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código, além eles obscurecer o entendimento do mesmo, também dificultam a manutenção. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. +Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código, além de eles obscurecerem o entendimento do mesmo, também dificultam a manutenção. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. ### Menssagens de commit From bec7d0f3b2a37026992b3269ddcdb23049c21288 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 22:17:55 -0300 Subject: [PATCH 34/71] :truck: Add README pt-br --- .all-contributorsrc | 3 ++- README.md => README.pt-br.md | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename README.md => README.pt-br.md (100%) diff --git a/.all-contributorsrc b/.all-contributorsrc index 081eb5f..67cab97 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -4,7 +4,8 @@ "repoType": "github", "repoHost": "https://github.com", "files": [ - "README.md" + "README.md", + "README.pt-br.md" ], "imageSize": 100, "commit": true, diff --git a/README.md b/README.pt-br.md similarity index 100% rename from README.md rename to README.pt-br.md From 7ba9387e3f89c20148dc92501bbcf185404fb15c Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 22:18:52 -0300 Subject: [PATCH 35/71] :pencil2: Add README --- README.md | 431 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 431 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8a11302 --- /dev/null +++ b/README.md @@ -0,0 +1,431 @@ +[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com) +[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) + + +[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) + + + +# 📡 STM32RF24 + +## 📜 Índice + +- [🎉 Introdução](#-introdução) +- [➕ Requisitos](#-requisitos) +- [📦 Submódulos com Git](#-submódulos-com-git) + - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) + - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) +- [📁 Estrutura do Repositório](#-estrutura-do-repositório) +- [📝 Documentação](#-documentação) +- [🎨 Formatação](#-formatação) +- [🏗️ Estrutura do Código](#-estrutura-do-código) +- [🔌 Configuração de Hardware](#-configuração-de-hardware) + - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) + - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) +- [📚 Usando a biblioteca](#-usando-a-biblioteca) + - [🏁 Inicializando](#-inicializando) + - [📤 Utilizando como transmissor](#-utilizando-como-transmissor) + - [📩 Utilizando como receptor](#-utilizando-como-receptor) + - [🐛 Depuração](#-depuração) +- [👥 Contribuindo](#-contribuindo) +- [✨ Contribuidores](#-contribuidores) + +## 🎉 Introdução + +Esse repositório contém uma biblioteca para lidar com o módulo de radiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). + +Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). + + +## ➕ Requisitos + +Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). + +Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: + +```bash +sudo apt install doxygen +``` + +Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). + +Além disso, para formatação é utilizado o `uncrustify`, como descrito na seção [🎨 Formatação](#-formatação). Para instalá-lo, no Ubuntu, rode o seguinte comando no terminal: + +```bash +sudo apt install uncrustify +``` + +No Windows, baixe o .zip no [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Adicione o local do executável na variável de ambiente `PATH`. + + +## 📦 Submódulos com Git + +Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. + +### 💥 Adicionando um submódulo + +Crie um diretório chamado `lib`, caso não exista: + +```bash +mkdir lib +``` + +E adicione o submódulo fazendo: + +* Com HTTPS: +```bash +git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +* Com SSH: +```bash +git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 +``` + +### ✅ Inicializando um submódulo já existente + +Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. + +Exemplo: + +Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: + +```bash +git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git +``` + +Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: + +```bash +git submodule update --init +``` + + +## 📁 Estrutura do Repositório + +O repositório contém as seguintes pastas: + +- **docs/** → Arquivos de documentação +- **inc/** → Arquivos de cabeçalho +- **src/** → Arquivos de código fonte + +Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licença, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. Outro arquivo relevante é o `uncrustify.cfg` que é utilizado para formatar os arquivos. + + +## 📝 Documentação + +Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: + +```bash +doxygen +``` + +As configurações estão no arquivo [Doxyfile](./Doxyfile). + +## 🎨 Formatação + +Além de uma boa documentação, é necessário que o código sempre esteja bem formatado, o que facilita sua compreensão. Para isso foi utilizado o `uncrustify`. Com o `uncrustify` instalado, para formatar um arquivo que tenha mudado, rode o seguinte comando: + +```bash +uncrustify -c uncrustify.cfg --replace --no-backup caminho_até_o_arquivo/nome_do_arquivo +``` + +## 🏗️ Estrutura do Código + +O código está estruturado da seguinte forma: + +- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. +- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. +- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. +- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. + + +## 🔌 Configuração de Hardware + +### 🤔 Conhecendo o módulo + +Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: + +![Pinagem do nRF24L01](./assets/img/nrf24l01_pinout.png) + +O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. + +Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a transição entre os estados da máquina de estados do módulo. + +O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. + +### 🔧 Configurando o microcontrolador + +Para fazer a configuração do microcontrolador será utilizado o [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), um dos requisitos do [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). Além disso, será necessário já se ter um projeto configurado no Cube, caso não tenha veja o [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) e para mais detalhes veja o [STM32Guide](https://github.com/ThundeRatz/STM32Guide). + +Com o projeto aberto, vá em _Connectivity_ e depois selecione um SPI disponível, como pode ser visto na imagem abaixo: + +![Configurando o SPI - 1](./assets/img/spi_config_1.jpg) + +Ao fazer isso, se abrirá uma aba, onde se pode selecionar o modo do SPI, então selecione o modo _Full-Duplex Master_: + +![Configurando o SPI - 2](./assets/img/spi_config_2.jpg) + +Com isso, como pode ser visto abaixo em "1", alguns pinos serão definidos automaticamente em algumas posições, porém é possível movê-los para outras caso estejam disponíveis. Para ver outras posições disponíveis, segure o botão _Ctrl_ e clique no pino que deseja mover, caso haja um outro pino que suporte a função do pino que deseja mover, a cor do alternativo irá se alterar. + +Além disso, aparecerá um tela de configuração, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. + +![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) + +Depois disso será necessário configurar o pino CSN, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem abaixo (para esse tutorial o CSN ficará no pino PC6). Deve-se fazer o mesmo para o pino CE, uma vez que ele também é um _GPIO_Output_ (para esse tutorial o CSN ficará no pino PC8) + +![Configurando o CE](./assets/img/ce_config.jpg) + +Por fim, para configurar o pino IRQ, clique no pino que deseja utilizar e selecione a opção _GPIO_EXTIx_, onde x depende do número do pino escolhido. Abaixo foi utilizado o pino PC7 como exemplo, tendo-se assim que escolher o _GPIO_EXTI7_: + +![Configurando o IRQ - 1](./assets/img/irq_config_1.jpg) + +Como o pino IRQ é ativo baixo, é necessário configurá-lo assim. Para isso, como pode ser visto abaixo, vá em _System Core_ > _GPIO_, então na aba de configuração de GPIO selecione seu pino IRQ, com isso aparecerá uma lista de configurações do pino, na qual, em _GPIO Mode_ deve se escolher o modo _External Interrupt Mode with Falling edge trigger detection_. + +![Configurando o IRQ - 2](./assets/img/irq_config_2.jpg) + +Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as arquivos do Cube, siga as instruções no [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). + +## 📚 Usando a biblioteca + +A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. + +A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK, também se considerará que só há um transmissor e um receptor, porém é possível haver mais módulos. + +Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: + +```C +/** + * @brief Library delay function. + * + * @note This function must be implemented by the user. + * + * @param ms Delay in miliseconds. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_delay(uint32_t ms); +``` + +Ela é uma função de _delay_ utilizada dentro da biblioteca que recebe um tempo em milissegundos. Ela pode ser definida de formas distintas, porém, em geral, é possível defini-la simplesmente com a função `HAL_Delay(uint32_t Delay)` (é necessário incluir o arquivo `main.h` gerado pelo Cube para isso): + +```C +rf24_status_t rf24_delay(uint32_t ms) { + HAL_Delay(ms); + + return RF24_SUCCESS; +} +``` + +### 🏁 Inicializando + +Antes de se inicializar o módulo em si, é necessário se inicializar o SPI que foi configurado no Cube. O nome da função depende de qual SPI se escolheu, para o escolhido na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) acima, seria a seguinte função: + +```C +MX_SPI2_Init(); /* No Cube foi escolhido o SPI2 */ +``` + +Para utilizar a função acima precisa-se incluir o arquivo `spi.h` gerado pelo Cube. Além disso, é recomendado se colocar um delay de algo em torno de 100 ms após a inicialização do SPI. + +Depois, é necessário se definir no código quais foram os pinos e a instância do SPI escolhidos, além de outras configurações. Para isso irá se considerar os pinos escolhidos na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) e também que se mandará uma mensagem de 15 bytes, ou seja _payload size_ de 15. + +Primeiramente se precisa criar uma instância de módulo e um ponteiro para ele: + +```C +rf24_dev_t device; /* Instanciação de um módulo */ +rf24_dev_t* p_dev = &device; /* Ponteiro para a instância do módulo */ +``` + +Então para se configurar o módulo pode-se fazer da seguinte forma: + +```C +/* Device config */ + +/* Obtém-se uma configuração padrão */ +rf24_get_default_config(p_dev); + +/* No Cube foi escolhido o SPI2 */ +p_dev->platform_setup.hspi = &hspi2; + +/* CSN no pino PC6 */ +p_dev->platform_setup.csn_port = GPIOC; +p_dev->platform_setup.csn_pin = GPIO_PIN_6; + +/* IRQ no pino PC7 */ +p_dev->platform_setup.irq_port = GPIOC; +p_dev->platform_setup.irq_pin = GPIO_PIN_7; + +/* CE no pino PC8 */ +p_dev->platform_setup.ce_port = GPIOC; +p_dev->platform_setup.ce_pin = GPIO_PIN_8; + +p_dev->payload_size = 15; +``` + +Por fim, é possível se inicializar o módulo, passando o ponteiro da instância do módulo para a seguinte função: + +```C +rf24_init(p_dev); +``` + +Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erro caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. + +### 📤 Utilizando como transmissor + +Para se utilizar um módulo como transmissor é necessário saber o endereço do receptor para o qual se enviará a mensagem, essa informação precisa ser compartilhada entre os dois, caso contrário não é possível fazer a comunicação. Além disso, como aqui será mostrado como se comunicar com ACK, o transmissor se comportará por um período como receptor esperando o pacote de ACK, dessa forma também é necessário que ele tenha um endereço de receptor, esse endereço também precisa ser uma informação que os dois módulos têm. + +Para tanto o exemplo de transmissor quanto o de receptor será usado o vetor de endereços abaixo, onde o primeiro é o endereço para o transmissor receber o pacote de ACK e o segundo o endereço do receptor, para onde o transmissor irá enviar. Os tamanhos dos endereços são configuráveis, porém se utilizará endereços de 5 bytes. + +```C +uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; +``` + +Para a parte de configuração do transmissor também é interessante se escolher uma potência de saída do módulo com a seguinte função: + +```C +/** + * @brief Set device output power. + * + * @param p_dev Pointer to rf24 device. + * @param output_power Selected output power. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t output_power); +``` + +Agora, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[1]` e um de leitura para o `addresses[0]`, o que pode ser feito da seguinte forma: + +```C +rf24_status_t device_status; /* Variável para receber os status retornados pelas funções */ + +device_status = rf24_open_writing_pipe(p_dev, addresses[1]); +device_status = rf24_open_reading_pipe(p_dev, 1, addresses[0]); +``` + +Com isso feito, já é possível se enviar mensagens! Digamos que se deseje enviar a seguinte mensagem armazenada em um vetor: + +```C +uint8_t buffer[] = {'V', 'i', 'r', 't', 'u', 'a', 'l', ' ', 'h', 'u', 'g', 's', '!', '\r', '\n'}; +``` + +Para mandá-la com ACK, pode-se fazer da seguinte forma: + +```C +device_status = rf24_write(p_dev, buffer, 15, true); +``` + +Essa função retornará `RF24_SUCCESS` caso o transmissor tenha conseguido enviar a mensagem e, como a comunicação é feita com ACK, caso o receptor tenha recebido a mensagem. + +### 📩 Utilizando como receptor + +Assim como foi falado na [subseção do transmissor]((#-utilizando-como-transmissor)), o endereço para o qual o transmissor enviará os dados precisa ser o mesmo que está registrado no código do receptor, assim como o endereço para o qual o receptor enviará o pacote de ACK precisa ser o mesmo que está no transmissor, por isso, serão usados os mesmos endereços do tutorial do transmissor: + +```C +uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; +``` + +No caso do receptor, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[0]` e um de leitura para o `addresses[1]`, como é feito abaixo: + +```C +rf24_status_t device_status; /* Variável para receber os status retornados pelas funções */ + +device_status = rf24_open_writing_pipe(p_dev, addresses[0]); +device_status = rf24_open_reading_pipe(p_dev, 1, addresses[1]); +``` + +Além disso, para que o receptor possa começar a receber pacotes, é necessário chamar a seguinte função: + +```C +device_status = rf24_start_listening(p_dev); +``` + +Com isso, já é possível receber pacotes! É possível verificar se há um pacote novo com a seguinte função: + +```C +/** + * @brief Checks if a new payload has arrived. + * + * @param p_dev Pointer to rf24 device. + * @param pipe_number Pipe where the available data is. + * + * @note To don't ready a pipe, pass NULL as pipe_number argument. + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_available(rf24_dev_t* p_dev, uint8_t* pipe_number); +``` + +E é possível ler pacotes com a seguinte função: + +```C +/** + * @brief Reads the payload avaible in the receiver FIFO. + * + * @note Interruption flags related to the receiver are cleared. + * + * @param p_dev Pointer to rf24 device. + * @param buff Pointer to a buffer where the data should be written + * @param len Maximum number of bytes to read into the buffer + * + * @return @ref rf24_status. + */ +rf24_status_t rf24_read(rf24_dev_t* p_dev, uint8_t* buff, uint8_t len); +``` + +Portanto, para se verificar se há pacotes na fila e ler o último pacote, pode-se fazer da seguinte forma: + +```C +rf24_status_t device_status; +rf24_status_t read_status; + +uint8_t buffer[15] = {0}; + +if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { + while ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { + read_status = rf24_read(p_dev, buffer, p_dev->payload_size); + } + + /* Faça alguma coisa com o pacote lido */ +} +``` + +### 🐛 Depuração + +Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/.h`, porém para isso também é necessário definir uma função `printf`. Para facilitar o uso, recomendo adicionar a biblioteca [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) ao projeto. Após adicioná-la, tendo chamado as funções de depuração em seu código, para ver o que está sendo "impresso" pelas funções, rode no terminal, estando na raiz de seu projeto: + +```C +make rtt +``` + +## 👥 Contribuindo + +Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). + +## ✨ Contribuidores + +Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + +

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Daniel Nery

💻

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️
+ + + + + + +Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! + +--------------------- + +Equipe ThundeRatz de Robótica From 0f5f65139a2f614fb957f6692202b54fe4b231aa Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 22:39:19 -0300 Subject: [PATCH 36/71] :pencil: Add default all-contributors message --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8a11302..4168980 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos ## ✨ Contribuidores -Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.org/docs/en/emoji-key)): +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): @@ -424,8 +424,8 @@ Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors. -Esse projeto segue as especificações do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer tipo são bem-vindas! +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! --------------------- -Equipe ThundeRatz de Robótica +ThundeRatz Robotics Team From 00ea23683c560628b4ca0be5ea106c04c43747dd Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Fri, 30 Oct 2020 22:39:40 -0300 Subject: [PATCH 37/71] :pencil: Update README index --- README.md | 84 +++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 4168980..b8189b3 100644 --- a/README.md +++ b/README.md @@ -8,36 +8,36 @@ # 📡 STM32RF24 -## 📜 Índice - -- [🎉 Introdução](#-introdução) -- [➕ Requisitos](#-requisitos) -- [📦 Submódulos com Git](#-submódulos-com-git) - - [💥 Adicionando um submódulo](#-adicionando-um-submódulo) - - [✅ Inicializando um submódulo já existente](#-inicializando-um-submódulo-já-existente) -- [📁 Estrutura do Repositório](#-estrutura-do-repositório) -- [📝 Documentação](#-documentação) -- [🎨 Formatação](#-formatação) -- [🏗️ Estrutura do Código](#-estrutura-do-código) -- [🔌 Configuração de Hardware](#-configuração-de-hardware) - - [🤔 Conhecendo o módulo](#-conhecendo-o-módulo) - - [🔧 Configurando o microcontrolador](#-configurando-o-microcontrolador) -- [📚 Usando a biblioteca](#-usando-a-biblioteca) - - [🏁 Inicializando](#-inicializando) - - [📤 Utilizando como transmissor](#-utilizando-como-transmissor) - - [📩 Utilizando como receptor](#-utilizando-como-receptor) - - [🐛 Depuração](#-depuração) -- [👥 Contribuindo](#-contribuindo) -- [✨ Contribuidores](#-contribuidores) - -## 🎉 Introdução +## 📜 Index + +- [🎉 Intro](#-intro) +- [➕ Requirements](#-requirements) +- [📦 Git Submodules](#-git-submodules) + - [💥 Adding a submodule](#-adding-a-submodule) + - [✅ Initializing a existing submodule](#-initializing-a-existing-submodule) +- [📁 Repository Structure](#-repository-structure) +- [📝 Documentation](#-documentation) +- [🎨 Formatting](#-formatting) +- [🏗️ Code Structure](#-code-structure) +- [🔌 Hardware Configuration](#-hardware-configuration) + - [🤔 Getting to know the module](#-getting-to-know-the-module) + - [🔧 Configuring the microcontroller](#-configuring-the-microcontroller) +- [📚 Using the library](#-using-the-library) + - [🏁 Initializing](#-initializing) + - [📤 Using as a transmitter](#-using-as-a-transmitter) + - [📩 Using as a receiver](#-using-as-a-receiver) + - [🐛 Debugging](#-debugging) +- [👥 Contributing](#-contributing) +- [✨ Contributors](#-contributors) + +## 🎉 Intro Esse repositório contém uma biblioteca para lidar com o módulo de radiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). -## ➕ Requisitos +## ➕ Requirements Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). @@ -58,11 +58,11 @@ sudo apt install uncrustify No Windows, baixe o .zip no [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Adicione o local do executável na variável de ambiente `PATH`. -## 📦 Submódulos com Git +## 📦 Adding a submodule Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. -### 💥 Adicionando um submódulo +### 💥 Adding a submodule Crie um diretório chamado `lib`, caso não exista: @@ -82,7 +82,7 @@ git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git l git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 ``` -### ✅ Inicializando um submódulo já existente +### ✅ Initializing a existing submodule Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. @@ -101,7 +101,7 @@ git submodule update --init ``` -## 📁 Estrutura do Repositório +## 📁 Repository Structure O repositório contém as seguintes pastas: @@ -112,7 +112,7 @@ O repositório contém as seguintes pastas: Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licença, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. Outro arquivo relevante é o `uncrustify.cfg` que é utilizado para formatar os arquivos. -## 📝 Documentação +## 📝 Documentation Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: @@ -122,7 +122,7 @@ doxygen As configurações estão no arquivo [Doxyfile](./Doxyfile). -## 🎨 Formatação +## 🎨 Formatting Além de uma boa documentação, é necessário que o código sempre esteja bem formatado, o que facilita sua compreensão. Para isso foi utilizado o `uncrustify`. Com o `uncrustify` instalado, para formatar um arquivo que tenha mudado, rode o seguinte comando: @@ -130,7 +130,7 @@ Além de uma boa documentação, é necessário que o código sempre esteja bem uncrustify -c uncrustify.cfg --replace --no-backup caminho_até_o_arquivo/nome_do_arquivo ``` -## 🏗️ Estrutura do Código +## 🏗️ Code Structure O código está estruturado da seguinte forma: @@ -140,9 +140,9 @@ O código está estruturado da seguinte forma: - `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. -## 🔌 Configuração de Hardware +## 🔌 Hardware Configuration -### 🤔 Conhecendo o módulo +### 🤔 Getting to know the module Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: @@ -154,7 +154,7 @@ Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. -### 🔧 Configurando o microcontrolador +### 🔧 Configuring the microcontroller Para fazer a configuração do microcontrolador será utilizado o [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), um dos requisitos do [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). Além disso, será necessário já se ter um projeto configurado no Cube, caso não tenha veja o [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) e para mais detalhes veja o [STM32Guide](https://github.com/ThundeRatz/STM32Guide). @@ -186,7 +186,7 @@ Como o pino IRQ é ativo baixo, é necessário configurá-lo assim. Para isso, c Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as arquivos do Cube, siga as instruções no [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). -## 📚 Usando a biblioteca +## 📚 Using the library A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. @@ -217,7 +217,7 @@ rf24_status_t rf24_delay(uint32_t ms) { } ``` -### 🏁 Inicializando +### 🏁 Initializing Antes de se inicializar o módulo em si, é necessário se inicializar o SPI que foi configurado no Cube. O nome da função depende de qual SPI se escolheu, para o escolhido na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) acima, seria a seguinte função: @@ -270,7 +270,7 @@ rf24_init(p_dev); Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erro caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. -### 📤 Utilizando como transmissor +### 📤 Using as a transmitter Para se utilizar um módulo como transmissor é necessário saber o endereço do receptor para o qual se enviará a mensagem, essa informação precisa ser compartilhada entre os dois, caso contrário não é possível fazer a comunicação. Além disso, como aqui será mostrado como se comunicar com ACK, o transmissor se comportará por um período como receptor esperando o pacote de ACK, dessa forma também é necessário que ele tenha um endereço de receptor, esse endereço também precisa ser uma informação que os dois módulos têm. @@ -317,7 +317,7 @@ device_status = rf24_write(p_dev, buffer, 15, true); Essa função retornará `RF24_SUCCESS` caso o transmissor tenha conseguido enviar a mensagem e, como a comunicação é feita com ACK, caso o receptor tenha recebido a mensagem. -### 📩 Utilizando como receptor +### 📩 Using as a receiver Assim como foi falado na [subseção do transmissor]((#-utilizando-como-transmissor)), o endereço para o qual o transmissor enviará os dados precisa ser o mesmo que está registrado no código do receptor, assim como o endereço para o qual o receptor enviará o pacote de ACK precisa ser o mesmo que está no transmissor, por isso, serão usados os mesmos endereços do tutorial do transmissor: @@ -390,7 +390,7 @@ if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { } ``` -### 🐛 Depuração +### 🐛 Debugging Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/.h`, porém para isso também é necessário definir uma função `printf`. Para facilitar o uso, recomendo adicionar a biblioteca [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) ao projeto. Após adicioná-la, tendo chamado as funções de depuração em seu código, para ver o que está sendo "impresso" pelas funções, rode no terminal, estando na raiz de seu projeto: @@ -398,11 +398,11 @@ Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/. make rtt ``` -## 👥 Contribuindo +## 👥 Contributing -Toda a ajuda no desenvolvimento da robótica é bem-vinda, nós lhe encorajamos a contribuir para o projeto! Para saber como fazer, veja as diretrizes de contribuição [aqui](CONTRIBUTING.pt-br.md). +Any help in the development of robotics is welcome, we encourage you to contribute to the project! To learn how, see the contribution guidelines [here](CONTRIBUTING.md). -## ✨ Contribuidores +## ✨ Contributors Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): From 047e6baaf63e1140589a5f61a0266a051cfaeff4 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:02:54 -0300 Subject: [PATCH 38/71] :globe_with_meridians: Translate README --- README.md | 177 +++++++++++++++++++++++++++--------------------------- 1 file changed, 88 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index b8189b3..f2542b2 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ # 📡 STM32RF24 +Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](./README.pt-br.md) + ## 📜 Index - [🎉 Intro](#-intro) @@ -32,167 +34,164 @@ ## 🎉 Intro -Esse repositório contém uma biblioteca para lidar com o módulo de radiofrequência nRF24L01 da Nordic Semiconductor, cujo datasheet pode ser visto [aqui](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), ao se utilizar os microcontroladores da família [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). +This repository contains a library to handle Nordic Semiconductor's radio frequency module nRF24L01, whose datasheet can be viewed [here](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), when using the microcontrollers of the [STM32] family [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). -Essa biblioteca foi feita para ser utilizada como submódulo no [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). +This library was made to be used as a submodule in the [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). ## ➕ Requirements -Essa biblioteca não requer, para funcionar, nenhum requisito extra, além dos já listados [requisitos do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). +This library does not require any extra requirements to function, in addition to those already listed [STM32ProjectTemplate requirements](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). -Porém, caso se deseje gerar a documentação, como descrito na seção [📝 Documentação](#-documentação), é necessário instalar o Doxygen. No Ubuntu é possível instalá-lo com o seguinte comando: +However, if you want to generate the documentation, as described in the section [📝 Documentation](#-documentation), it is necessary to install Doxygen. In Ubuntu it is possible to install it with the following command: ```bash sudo apt install doxygen ``` -Para outros sistemas operacionais é possível ver opções de download na [página oficial do Doxygen](https://www.doxygen.nl/download.html). +For other operating systems, you can see download options on the [official Doxygen page](https://www.doxygen.nl/download.html). -Além disso, para formatação é utilizado o `uncrustify`, como descrito na seção [🎨 Formatação](#-formatação). Para instalá-lo, no Ubuntu, rode o seguinte comando no terminal: +Besides that, for formatting `uncrustify` is used, as described in the section [🎨 Formatting](#-formatting). To install it, on Ubuntu, run the following command on the terminal: ```bash sudo apt install uncrustify ``` -No Windows, baixe o .zip no [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Adicione o local do executável na variável de ambiente `PATH`. +On Windows, download the .zip from [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Add the location of the executable in the `PATH` environment variable. ## 📦 Adding a submodule -Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. +As stated, this library functions as a submodule. In this way, it is easier to choose the version of the library that will be used in the project, also allowing its development in parallel. ### 💥 Adding a submodule -Crie um diretório chamado `lib`, caso não exista: +Create a directory called `lib`, if it does not exist: ```bash mkdir lib ``` -E adicione o submódulo fazendo: +And add the submodule by doing: -* Com HTTPS: +* With HTTPS: ```bash git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git lib/STM32RF24 ``` -* Com SSH: +* With SSH: ```bash git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 ``` ### ✅ Initializing a existing submodule -Ao clonar um repositório que já tenha submódulos, é necessário clonar os repositórios desse submódulo. Isso pode ser feito de duas formas, clonando junto com o repositório do projeto ou depois de já ter clonado. +When cloning a repository that already has submodules, it is necessary to clone the repositories of that submodule. This can be done in two ways, by cloning together with the project repository or after you have already cloned. -Exemplo: +Example: -Para se clonar junto, rode o seguinte comando, trocando para o link do repositório do seu projeto: +To clone together, run the following command, switching to the repository link of your project: ```bash git clone --recurse-submodules git@github.com:ThundeRatz/STM32ProjectTemplate.git ``` -Para se clonar depois de já ter clonado o repositório do projeto, dentro dele, deve-se fazer: +To clone having already cloned the project repository, within it, you should do: ```bash git submodule update --init ``` - ## 📁 Repository Structure -O repositório contém as seguintes pastas: +The repository contains the following folders: -- **docs/** → Arquivos de documentação -- **inc/** → Arquivos de cabeçalho -- **src/** → Arquivos de código fonte - -Na raiz do repositório, além dos arquivos que contém o código de conduta, diretrizes de contribuição, README e licença, há o arquivo `sources.mk`, que é responsável por possibilitar com que os arquivos da biblioteca sejam encontrados quando se compila o código. Também há um `Doxyfile` para gerar a documentação. Outro arquivo relevante é o `uncrustify.cfg` que é utilizado para formatar os arquivos. +- **docs/** → Documentation files +- **inc/** → Header files +- **src/** → Source files +At the root of the repository, in addition to the files containing the code of conduct, contribution guidelines, README and license, there is the `sources.mk` file, which is responsible for making it possible for the library files to be found when compiling the code. There is also a `Doxyfile` to generate the documentation. Another relevant file is `uncrustify.cfg` which is used to format the files. ## 📝 Documentation -Essa biblioteca é documentada usando Doxygen. Para gera a documentação, rode o seguinte comando estando na raiz do seu repositório: +This library is documented using Doxygen. To generate the documentation, run the following command at the root of your repository: ```bash doxygen ``` -As configurações estão no arquivo [Doxyfile](./Doxyfile). +The settings are in the file [Doxyfile](./Doxyfile). ## 🎨 Formatting -Além de uma boa documentação, é necessário que o código sempre esteja bem formatado, o que facilita sua compreensão. Para isso foi utilizado o `uncrustify`. Com o `uncrustify` instalado, para formatar um arquivo que tenha mudado, rode o seguinte comando: +Besides a good documentation, it is necessary that the code is always well formatted, which facilitates its understanding. For that, `uncrustify` was used. With `uncrustify` installed, to format a file that has changed, run the following command: ```bash -uncrustify -c uncrustify.cfg --replace --no-backup caminho_até_o_arquivo/nome_do_arquivo +uncrustify -c uncrustify.cfg --replace --no-backup path_to_file/file_name ``` ## 🏗️ Code Structure -O código está estruturado da seguinte forma: - -- `nrf24l01_registers.h` → tipos e constantes relacionados aos registradores do módulo. -- `rf24_platform.c/.h` → tipos e funções de mais baixo nível que utilizam o HAL. -- `rf24.c/.h` → tipos e funções de mais alto nível para utilização do usuário. -- `rf24_debug.c/.h` → funções úteis para se validar o funcionamento do módulo. +The code is structured as follows: +- `nrf24l01_registers.h` → types and constants related to the module registers. +- `rf24_platform.c/.h` → lower-level types and functions that use HAL. +- `rf24.c/.h` → highest level types and functions for user use. +- `rf24_debug.c/.h` → useful functions to validate the module's operation. ## 🔌 Hardware Configuration ### 🤔 Getting to know the module -Para se fazer a configuração do seu hardware, é necessário primeiramente se analisar a pinagem do módulo nRF24L01, como pode ser vista abaixo: +To configure your hardware, you must first analyze the pinout of the nRF24L01 module, as shown below: -![Pinagem do nRF24L01](./assets/img/nrf24l01_pinout.png) +![nRF24L01 Module's Pinout](./assets/img/nrf24l01_pinout.png) -O módulo utiliza SPI (Serial Protocol Interface) para se comunicar com o microcontrolador (para saber mais sobre SPI, recomendo esse artigo [aqui](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) da Sparkfun), dessa forma são necessários quatro pinos para essa comunicação, o SCK, o MISO, o MOSI e o CSN. O CSN é um pino de GPIO, enquanto os outros são pinos dedicados. +The module uses SPI (Serial Protocol Interface) to communicate with the microcontroller (to learn more about SPI, I recommend this article [here](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) from Sparkfun), so four pins are required for this communication, SCK, MISO, MOSI and CSN. The CSN is a GPIO pin, while the others are dedicated pins. -Além disso, é necessário um pino de GPIO conectado ao CE (Chip Enable), que é utilizado para se fazer o controle do módulo, possibilitando a transição entre os estados da máquina de estados do módulo. +In addition, a GPIO pin connected to the CE (Chip Enable) is needed, which is used to control the module, enabling the transition between the states of the module's finite state machine. -O módulo também conta com um pino IRQ (Interruption Request), possibilitando o funcionamento do módulo por meio de interrupções, esse pino deve ser conectado em um pino que suporte interrupções no microcontrolador caso se queira fazer uso desse recurso, caso contrário, deve-se ligá-lo ao 3,3V, uma vez que o pino é ativo baixo. +The module also has an IRQ (Interruption Request) pin, allowing the module to function through interruptions. This pin must be connected to a pin that supports interruptions in the microcontroller if you want to use this feature, otherwise, you must connect it to the 3.3V, since the pin is active low. ### 🔧 Configuring the microcontroller -Para fazer a configuração do microcontrolador será utilizado o [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), um dos requisitos do [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). Além disso, será necessário já se ter um projeto configurado no Cube, caso não tenha veja o [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) e para mais detalhes veja o [STM32Guide](https://github.com/ThundeRatz/STM32Guide). +To configure the microcontroller, the [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html), one of the requirements of the [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate), will be used. Besides that, it will be necessary to have a project configured in Cube, if you don't have it, see the [STM32ProjectTemplate README](https://github.com/ThundeRatz/STM32ProjectTemplate#stm32-project-template) and for more details see the [STM32Guide](https://github.com/ThundeRatz/STM32Guide). -Com o projeto aberto, vá em _Connectivity_ e depois selecione um SPI disponível, como pode ser visto na imagem abaixo: +With the project open, go to _Connectivity_ and then select an available SPI, as seen in the image below: -![Configurando o SPI - 1](./assets/img/spi_config_1.jpg) +![Configuring the SPI - 1](./assets/img/spi_config_1.jpg) -Ao fazer isso, se abrirá uma aba, onde se pode selecionar o modo do SPI, então selecione o modo _Full-Duplex Master_: +After doing this, a tab will open, where you can select the SPI mode, then select the _Full-Duplex Master_ mode: -![Configurando o SPI - 2](./assets/img/spi_config_2.jpg) +![Configuring the SPI - 2](./assets/img/spi_config_2.jpg) -Com isso, como pode ser visto abaixo em "1", alguns pinos serão definidos automaticamente em algumas posições, porém é possível movê-los para outras caso estejam disponíveis. Para ver outras posições disponíveis, segure o botão _Ctrl_ e clique no pino que deseja mover, caso haja um outro pino que suporte a função do pino que deseja mover, a cor do alternativo irá se alterar. +Than, as can be seen below in "1", some pins will be automatically set in some positions, but it is possible to move them to others if they are available. To see other available positions, hold the _Ctrl_ button and click on the pin you want to move, if there is another pin that supports the function of the pin you want to move, the color of the alternative one will change. -Além disso, aparecerá um tela de configuração, na qual será necessário fazer algumas alterações. Como pode ser visto na página 45, item 8.1 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), o módulo trabalha com uma interface serial SPI de 4 cabos de 0Mbps a 8Mbps e comandos de 8 bits. Portanto, como pode ser visto abaixo em "2", deve-se definir o _Data Size_ como 8 bits e em "3" deve-se definir um valor de _Prescaler_ de forma a se obter um _Baud Rate_ de até 8Mbps. +A configuration screen will also appear, in which you will need to make some changes. As can be seen on page 45, item 8.1 of the [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), the module works with a 4-wire SPI serial interface from 0Mbps to 8Mbps and 8-bit commands. Therefore, as can be seen below in "2", the _Data Size_ must be set to 8 bits and in "3" a value of _Prescaler_ must be defined in order to obtain a _Baud Rate_ of up to 8Mbps. -![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) +![Configuring the SPI - 3](./assets/img/spi_config_3.jpg) -Depois disso será necessário configurar o pino CSN, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem abaixo (para esse tutorial o CSN ficará no pino PC6). Deve-se fazer o mesmo para o pino CE, uma vez que ele também é um _GPIO_Output_ (para esse tutorial o CSN ficará no pino PC8) +After that it will be necessary to configure the CSN pin, for that, click on the pin you want to use for this function and then select the _GPIO_Output_ option, as seen in the image below (for this tutorial the CSN will be on the PC6 pin). The same should be done for the CE pin, since it is also a _GPIO_Output_ (for this tutorial the CSN will be on the PC8 pin). -![Configurando o CE](./assets/img/ce_config.jpg) +![Configuring the CE](./assets/img/ce_config.jpg) -Por fim, para configurar o pino IRQ, clique no pino que deseja utilizar e selecione a opção _GPIO_EXTIx_, onde x depende do número do pino escolhido. Abaixo foi utilizado o pino PC7 como exemplo, tendo-se assim que escolher o _GPIO_EXTI7_: +Finally, to configure the IRQ pin, click on the pin you want to use and select the _GPIO_EXTIx_ option, where x depends on the chosen pin number. Below, the PC7 pin was used as an example, so having to choose _GPIO_EXTI7_: -![Configurando o IRQ - 1](./assets/img/irq_config_1.jpg) +![Configuring the IRQ - 1](./assets/img/irq_config_1.jpg) -Como o pino IRQ é ativo baixo, é necessário configurá-lo assim. Para isso, como pode ser visto abaixo, vá em _System Core_ > _GPIO_, então na aba de configuração de GPIO selecione seu pino IRQ, com isso aparecerá uma lista de configurações do pino, na qual, em _GPIO Mode_ deve se escolher o modo _External Interrupt Mode with Falling edge trigger detection_. +Since the IRQ pin is active low, it is necessary to configure it like this. For this, as seen below, go to _System Core_> _GPIO_, then in the GPIO configuration tab select your IRQ pin, than a pin configurations list will appear, in which, in _GPIO Mode_, select _External mode must be chosen. Interrupt Mode with Falling edge trigger detection_. -![Configurando o IRQ - 2](./assets/img/irq_config_2.jpg) +![Configuring the IRQ - 2](./assets/img/irq_config_2.jpg) -Com todas as configurações feitas, salve o projeto e feche-o. Para gerar as arquivos do Cube, siga as instruções no [README do STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). +After setting everything, save the project and close it. To generate the Cube files, follow the instructions in the [STM32ProjectTemplate README](https://github.com/ThundeRatz/STM32ProjectTemplate#gerando-arquivos). ## 📚 Using the library -A biblioteca possui diferentes funções para configurar parâmetros do módulo, receber e transmitir de formas diferentes. Nessa seção se mostrará uma forma básica de se inicializar o módulo, utilizá-lo como receptor ou como transmissor. +The library has different functions for configuring module parameters, receiving and transmitting in different ways. This section will show a basic way to initialize the module, use it as a receiver or as a transmitter. -A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK, também se considerará que só há um transmissor e um receptor, porém é possível haver mais módulos. +The communication between two modules can be with or without _acknowledgment_ (ACK). Using ACK helps to prevent the loss of packets sent. When ACK is enabled, your receiver, upon receiving a valid package, will send an ACK package to the transmitter, otherwise it will not send anything. On the other hand, the transmitter, after sending a packet, will be waiting to receive an ACK packet for a certain time, if the time runs out without receiving the ACK, it will send the packet it had sent again. Several different transaction diagrams can be seen starting on page 40, item 7.9 of the [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). This tutorial will show you how to communicate two modules with ACK, it will also be considered that there is only one transmitter and one receiver, but it is possible to have more modules. -Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: +In addition to what will be shown in the subsections below, for the library to function, it is necessary, in one of its `.c` files that includes the` rf24.h` file, to define the following function: ```C /** @@ -207,7 +206,7 @@ Além do que será mostrado nas subseções abaixo, para o funcionamento da bib rf24_status_t rf24_delay(uint32_t ms); ``` -Ela é uma função de _delay_ utilizada dentro da biblioteca que recebe um tempo em milissegundos. Ela pode ser definida de formas distintas, porém, em geral, é possível defini-la simplesmente com a função `HAL_Delay(uint32_t Delay)` (é necessário incluir o arquivo `main.h` gerado pelo Cube para isso): +It is a _delay_ function used within the library, wich receives a time in milliseconds. It can be defined in different ways, however, in general, it is possible to define it simply with the `HAL_Delay(uint32_t Delay)` function (it is necessary to include the `main.h` file generated by Cube for this): ```C rf24_status_t rf24_delay(uint32_t ms) { @@ -219,68 +218,68 @@ rf24_status_t rf24_delay(uint32_t ms) { ### 🏁 Initializing -Antes de se inicializar o módulo em si, é necessário se inicializar o SPI que foi configurado no Cube. O nome da função depende de qual SPI se escolheu, para o escolhido na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) acima, seria a seguinte função: +Before starting the module itself, it is necessary to initialize the SPI that was configured in the Cube. The function name depends on which SPI was chosen, for the one chosen in the [🔌 Hardware Configuration](#-hardware-configuration) section above, it would be the following function: ```C -MX_SPI2_Init(); /* No Cube foi escolhido o SPI2 */ +MX_SPI2_Init(); /* The SPI2 was choosen in Cube */ ``` -Para utilizar a função acima precisa-se incluir o arquivo `spi.h` gerado pelo Cube. Além disso, é recomendado se colocar um delay de algo em torno de 100 ms após a inicialização do SPI. +To use the above function, it is necessary to include the file `spi.h` generated by Cube. In addition, it is recommended to put a delay of something around 100 ms after the SPI initialization. -Depois, é necessário se definir no código quais foram os pinos e a instância do SPI escolhidos, além de outras configurações. Para isso irá se considerar os pinos escolhidos na seção de [🔌 Configuração de Hardware](#-configuração-de-hardware) e também que se mandará uma mensagem de 15 bytes, ou seja _payload size_ de 15. +Then, it is necessary to define in the code which pins and SPI instance were chosen, in addition to other configurations. For this, the pins chosen in the [🔌 Hardware Configuration](#-hardware-configuration) section will be considered and also that a 15-byte message will be sent, that is, _payload size_ of 15. -Primeiramente se precisa criar uma instância de módulo e um ponteiro para ele: +First, you need to create a module instance and a pointer to it: ```C -rf24_dev_t device; /* Instanciação de um módulo */ -rf24_dev_t* p_dev = &device; /* Ponteiro para a instância do módulo */ +rf24_dev_t device; /* Module instance */ +rf24_dev_t* p_dev = &device; /* Pointer to module instance */ ``` -Então para se configurar o módulo pode-se fazer da seguinte forma: +Then, to configure the module, it can be done as follows: ```C /* Device config */ -/* Obtém-se uma configuração padrão */ +/* Get default configuration */ rf24_get_default_config(p_dev); -/* No Cube foi escolhido o SPI2 */ +/* The SPI2 was choosen in Cube */ p_dev->platform_setup.hspi = &hspi2; -/* CSN no pino PC6 */ +/* CSN on pin PC6 */ p_dev->platform_setup.csn_port = GPIOC; p_dev->platform_setup.csn_pin = GPIO_PIN_6; -/* IRQ no pino PC7 */ +/* IRQ on pin PC7 */ p_dev->platform_setup.irq_port = GPIOC; p_dev->platform_setup.irq_pin = GPIO_PIN_7; -/* CE no pino PC8 */ +/* CE on pin PC8 */ p_dev->platform_setup.ce_port = GPIOC; p_dev->platform_setup.ce_pin = GPIO_PIN_8; p_dev->payload_size = 15; ``` -Por fim, é possível se inicializar o módulo, passando o ponteiro da instância do módulo para a seguinte função: +Finally, it is possible to initialize the module, passing the pointer of the module instance to the following function: ```C rf24_init(p_dev); ``` -Essa função irá retornar `RF24_SUCCESS` caso a inicialização seja bem sucedida e valores de erro caso contrário. Para mais detalhes sobre os possíveis valores de erro, veja a documentação do código. +This function will return `RF24_SUCCESS` if initialization is successful and error values otherwise. For more details on the possible error values, see the code documentation. ### 📤 Using as a transmitter -Para se utilizar um módulo como transmissor é necessário saber o endereço do receptor para o qual se enviará a mensagem, essa informação precisa ser compartilhada entre os dois, caso contrário não é possível fazer a comunicação. Além disso, como aqui será mostrado como se comunicar com ACK, o transmissor se comportará por um período como receptor esperando o pacote de ACK, dessa forma também é necessário que ele tenha um endereço de receptor, esse endereço também precisa ser uma informação que os dois módulos têm. +To use a module as a transmitter it is necessary to know the address of the receiver to which the message will be sent, this information needs to be shared between the two, otherwise it is not possible to make the communication. In addition, as it will be shown here how to communicate with ACK, the transmitter will behave for a period as a receiver waiting for the ACK packet, so it is also necessary that it has a receiver address, this address must also be a information that two modules have. -Para tanto o exemplo de transmissor quanto o de receptor será usado o vetor de endereços abaixo, onde o primeiro é o endereço para o transmissor receber o pacote de ACK e o segundo o endereço do receptor, para onde o transmissor irá enviar. Os tamanhos dos endereços são configuráveis, porém se utilizará endereços de 5 bytes. +For both the example of transmitter and receiver, the address vector below will be used, where the first is the address for the transmitter to receive the ACK packet and the second is the address of the receiver, to which the transmitter will send. Address sizes are configurable, but 5-byte addresses will be used. ```C uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; ``` -Para a parte de configuração do transmissor também é interessante se escolher uma potência de saída do módulo com a seguinte função: +For the configuration part of the transmitter it is also interesting to choose the output power of the module with the following function: ```C /** @@ -294,53 +293,53 @@ Para a parte de configuração do transmissor também é interessante se escolhe rf24_status_t rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t output_power); ``` -Agora, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[1]` e um de leitura para o `addresses[0]`, o que pode ser feito da seguinte forma: +Now, to receive and send according to the right addresses, it is necessary to open a writing _pipe_ for the address `addresses[1]` and a reading _pipe_ for `addresses[0]`, which can be done as follows: ```C -rf24_status_t device_status; /* Variável para receber os status retornados pelas funções */ +rf24_status_t device_status; /* Variable to receive the statuses returned by the functions */ device_status = rf24_open_writing_pipe(p_dev, addresses[1]); device_status = rf24_open_reading_pipe(p_dev, 1, addresses[0]); ``` -Com isso feito, já é possível se enviar mensagens! Digamos que se deseje enviar a seguinte mensagem armazenada em um vetor: +With that done, it's now possible to send messages! Say you want to send the following message stored in a vector: ```C uint8_t buffer[] = {'V', 'i', 'r', 't', 'u', 'a', 'l', ' ', 'h', 'u', 'g', 's', '!', '\r', '\n'}; ``` -Para mandá-la com ACK, pode-se fazer da seguinte forma: +To send it with ACK, it can be done as follows: ```C device_status = rf24_write(p_dev, buffer, 15, true); ``` -Essa função retornará `RF24_SUCCESS` caso o transmissor tenha conseguido enviar a mensagem e, como a comunicação é feita com ACK, caso o receptor tenha recebido a mensagem. +This function will return `RF24_SUCCESS` if the transmitter was able to send the message and, as the communication is done with ACK, if the receiver has received the message. ### 📩 Using as a receiver -Assim como foi falado na [subseção do transmissor]((#-utilizando-como-transmissor)), o endereço para o qual o transmissor enviará os dados precisa ser o mesmo que está registrado no código do receptor, assim como o endereço para o qual o receptor enviará o pacote de ACK precisa ser o mesmo que está no transmissor, por isso, serão usados os mesmos endereços do tutorial do transmissor: +As mentioned in [transmitter's subsection](#-using-as-a-transmitter), the address to which the transmitter will send the data must be the same as that registered in the receiver's code, as well as the address to which the receiver will send the ACK packet needs to be the same as the one on the transmitter, so the same addresses as the transmitter tutorial will be used: ```C uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; ``` -No caso do receptor, para se receber e enviar de acordo com os endereços certos, é necessário se abrir um _pipe_ de escrita para o endereço `addresses[0]` e um de leitura para o `addresses[1]`, como é feito abaixo: +In the case of the receiver, to receive and send according to the right addresses, it is necessary to open a writing _pipe_ for the address `addresses[0]` and a reading _pipe_ for `addresses[1]`, as is done below: ```C -rf24_status_t device_status; /* Variável para receber os status retornados pelas funções */ +rf24_status_t device_status; /* Variable to receive the statuses returned by the functions */ device_status = rf24_open_writing_pipe(p_dev, addresses[0]); device_status = rf24_open_reading_pipe(p_dev, 1, addresses[1]); ``` -Além disso, para que o receptor possa começar a receber pacotes, é necessário chamar a seguinte função: +Besides that, in order for the receiver to start receiving packets, it is necessary to call the following function: ```C device_status = rf24_start_listening(p_dev); ``` -Com isso, já é possível receber pacotes! É possível verificar se há um pacote novo com a seguinte função: +After that, it is already possible to receive packages! It is possible to check for a new package with the following function: ```C /** @@ -356,7 +355,7 @@ Com isso, já é possível receber pacotes! É possível verificar se há um pac rf24_status_t rf24_available(rf24_dev_t* p_dev, uint8_t* pipe_number); ``` -E é possível ler pacotes com a seguinte função: +And it is possible to read packages with the following function: ```C /** @@ -373,7 +372,7 @@ E é possível ler pacotes com a seguinte função: rf24_status_t rf24_read(rf24_dev_t* p_dev, uint8_t* buff, uint8_t len); ``` -Portanto, para se verificar se há pacotes na fila e ler o último pacote, pode-se fazer da seguinte forma: +So, to check for packages in the queue and read the last package, you can do it as follows: ```C rf24_status_t device_status; @@ -386,13 +385,13 @@ if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { read_status = rf24_read(p_dev, buffer, p_dev->payload_size); } - /* Faça alguma coisa com o pacote lido */ + /* Do something with the read package */ } ``` ### 🐛 Debugging -Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/.h`, porém para isso também é necessário definir uma função `printf`. Para facilitar o uso, recomendo adicionar a biblioteca [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) ao projeto. Após adicioná-la, tendo chamado as funções de depuração em seu código, para ver o que está sendo "impresso" pelas funções, rode no terminal, estando na raiz de seu projeto: +To debug your code it is possible to use the functions of the file `rf24_debug.c/.h`, but for this it is also necessary to define a `printf` function. For ease of use, I recommend adding the [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) to the project. After adding it, having called the debugging functions in your code, to see what is being "printed" by the functions, run in the terminal, being at the root of your project: ```C make rtt From c319bd896218f74faaf9f6e8342182f969ae620f Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:03:43 -0300 Subject: [PATCH 39/71] :pencil: Fix links and gramatics --- README.pt-br.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.pt-br.md b/README.pt-br.md index 8a11302..18422ca 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -60,7 +60,7 @@ No Windows, baixe o .zip no [SourceForge](https://sourceforge.net/projects/uncru ## 📦 Submódulos com Git -Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo da biblioteca. +Como dito, essa biblioteca funciona como um submódulo. Dessa forma se facilita escolher a versão da biblioteca que será utilizada no projeto, permitindo também o desenvolvimento em paralelo dela. ### 💥 Adicionando um submódulo @@ -172,7 +172,7 @@ Além disso, aparecerá um tela de configuração, na qual será necessário faz ![Configurando o SPI - 3](./assets/img/spi_config_3.jpg) -Depois disso será necessário configurar o pino CSN, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem abaixo (para esse tutorial o CSN ficará no pino PC6). Deve-se fazer o mesmo para o pino CE, uma vez que ele também é um _GPIO_Output_ (para esse tutorial o CSN ficará no pino PC8) +Depois disso será necessário configurar o pino CSN, para isso, clique no pino que deseja utilizar para essa função e depois selecione a opção _GPIO_Output_, como pode ser visto na imagem abaixo (para esse tutorial o CSN ficará no pino PC6). Deve-se fazer o mesmo para o pino CE, uma vez que ele também é um _GPIO_Output_ (para esse tutorial o CSN ficará no pino PC8). ![Configurando o CE](./assets/img/ce_config.jpg) @@ -319,7 +319,7 @@ Essa função retornará `RF24_SUCCESS` caso o transmissor tenha conseguido envi ### 📩 Utilizando como receptor -Assim como foi falado na [subseção do transmissor]((#-utilizando-como-transmissor)), o endereço para o qual o transmissor enviará os dados precisa ser o mesmo que está registrado no código do receptor, assim como o endereço para o qual o receptor enviará o pacote de ACK precisa ser o mesmo que está no transmissor, por isso, serão usados os mesmos endereços do tutorial do transmissor: +Assim como foi falado na [subseção do transmissor](#-utilizando-como-transmissor), o endereço para o qual o transmissor enviará os dados precisa ser o mesmo que está registrado no código do receptor, assim como o endereço para o qual o receptor enviará o pacote de ACK precisa ser o mesmo que está no transmissor, por isso, serão usados os mesmos endereços do tutorial do transmissor: ```C uint8_t addresses[2][5] = {{0xE7, 0xE7, 0xE7, 0xE7, 0xE8}, {0xC2, 0xC2, 0xC2, 0xC2, 0xC1}}; From 6265f496301033569d11e41722551dcd022639c7 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:20:43 -0300 Subject: [PATCH 40/71] :pencil: Update code documentation --- inc/rf24.h | 8 ++++---- inc/rf24_platform.h | 4 ++-- src/rf24.c | 4 ++-- src/rf24_platform.c | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/inc/rf24.h b/inc/rf24.h index faf846e..f1816ab 100644 --- a/inc/rf24.h +++ b/inc/rf24.h @@ -202,7 +202,7 @@ rf24_status_t rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t outpu rf24_status_t rf24_flush_rx(rf24_dev_t* p_dev); /** - * @brief Flushes transmiter FIFO. + * @brief Flushes transmitter FIFO. * * @param p_dev Pointer to rf24 device. * @@ -211,7 +211,7 @@ rf24_status_t rf24_flush_rx(rf24_dev_t* p_dev); rf24_status_t rf24_flush_tx(rf24_dev_t* p_dev); /** - * @brief Enables the device transmition pipe. + * @brief Enables the device transmission pipe. * * @param p_dev Pointer to rf24 device. * @param address Transmitter pipe address. @@ -326,8 +326,8 @@ rf24_status_t rf24_write_continuously(rf24_dev_t* p_dev, uint8_t* buff, uint8_t * @param p_dev Pointer to rf24 device. * * @return Status register value. - * @retval 0xFF Returns 0xFF when got an error, because status bit - * 7 only allows 0, so 0xFF is an invalid value. + * @retval 0xFF Returns 0xFF when got an error, because status + * bit 7 only allows 0, so 0xFF is an invalid value. */ nrf24l01_reg_status_t rf24_get_status(rf24_dev_t* p_dev); diff --git a/inc/rf24_platform.h b/inc/rf24_platform.h index 454b122..7fbdd91 100644 --- a/inc/rf24_platform.h +++ b/inc/rf24_platform.h @@ -1,7 +1,7 @@ /** * @file rf24_platform.h * - * @brief nRF24L01 registers related. + * @brief nRF24L01 platform related. * * @author Lucas Haug * @author Lucas Schneider @@ -164,7 +164,7 @@ rf24_platform_status_t rf24_platform_read_payload(rf24_platform_t* p_setup, uint /** * @brief Write payload in device Tx FIFO. * - * @param p_setup Pointer to rf setup.24 instance + * @param p_setup Pointer to rf setup.24 instance * @param buff Buffer to store the payload data * @param len Payload lenght * @param enable_auto_ack Tells the receiver if a acknowledgement packet is expected diff --git a/src/rf24.c b/src/rf24.c index 8c5c456..54a5904 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -77,7 +77,7 @@ static const uint8_t child_pipe_enable[] = {ERX_P0, ERX_P1, ERX_P2, ERX_P3, ERX_ * * @warning If set to 0, ensure 130uS delay after stopListening() and before any sends */ -static uint32_t txDelay = 250; // q ***** é essa?? eu n sei +static uint32_t txDelay = 250; /***************************************** * Public Functions Bodies Definitions @@ -279,7 +279,7 @@ rf24_status_t rf24_set_datarate(rf24_dev_t* p_dev, rf24_datarate_t datarate) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); } - // ! @todo Coisas com txDelay (??) + //! @todo Use txDelay switch (datarate) { case RF24_1MBPS: { diff --git a/src/rf24_platform.c b/src/rf24_platform.c index 3ed17e0..efbecee 100644 --- a/src/rf24_platform.c +++ b/src/rf24_platform.c @@ -1,7 +1,7 @@ /** * @file rf24_platform.c * - * @brief nRF24L01 registers related. + * @brief nRF24L01 platform related. * * @author Lucas Schneider * @author Lucas Haug From 700afdb4a303bc1189b6acee10f896602d52349b Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:47:32 -0300 Subject: [PATCH 41/71] :recycle: Refactor code --- src/rf24.c | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/src/rf24.c b/src/rf24.c index 54a5904..042fc97 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -50,21 +50,26 @@ */ #define OPERATING_FREQUENCY_WIDTH_MHZ 125U +/** + * @brief Max number of pipes available. + */ +#define MAX_NUM_OF_PIPES 6 + /***************************************** * Private Macros *****************************************/ -#define _BS(bit) (1 << (bit)) +#define BIT_SHIFT_LEFT(bits) (1 << (bits)) /***************************************** * Private Variables *****************************************/ -static const uint8_t child_pipe[] = {RX_ADDR_P0, RX_ADDR_P1, RX_ADDR_P2, RX_ADDR_P3, RX_ADDR_P4, RX_ADDR_P5}; +static const uint8_t m_child_pipe[] = {RX_ADDR_P0, RX_ADDR_P1, RX_ADDR_P2, RX_ADDR_P3, RX_ADDR_P4, RX_ADDR_P5}; -static const uint8_t child_payload_size[] = {RX_PW_P0, RX_PW_P1, RX_PW_P2, RX_PW_P3, RX_PW_P4, RX_PW_P5}; +static const uint8_t m_child_payload_size[] = {RX_PW_P0, RX_PW_P1, RX_PW_P2, RX_PW_P3, RX_PW_P4, RX_PW_P5}; -static const uint8_t child_pipe_enable[] = {ERX_P0, ERX_P1, ERX_P2, ERX_P3, ERX_P4, ERX_P5}; +static const uint8_t m_child_pipe_enable[] = {ERX_P0, ERX_P1, ERX_P2, ERX_P3, ERX_P4, ERX_P5}; /** * @@ -77,7 +82,7 @@ static const uint8_t child_pipe_enable[] = {ERX_P0, ERX_P1, ERX_P2, ERX_P3, ERX_ * * @warning If set to 0, ensure 130uS delay after stopListening() and before any sends */ -static uint32_t txDelay = 250; +static uint32_t m_tx_delay = 250; /***************************************** * Public Functions Bodies Definitions @@ -247,7 +252,7 @@ uint8_t rf24_get_channel(rf24_dev_t* p_dev) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); if (dev_status != RF24_SUCCESS) { - return 0xFF; + return 0xFF; // Invalid value, meaning error } return reg.rf_ch; @@ -279,7 +284,7 @@ rf24_status_t rf24_set_datarate(rf24_dev_t* p_dev, rf24_datarate_t datarate) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); } - //! @todo Use txDelay + //! @todo Use m_tx_delay switch (datarate) { case RF24_1MBPS: { @@ -403,18 +408,18 @@ rf24_status_t rf24_open_reading_pipe(rf24_dev_t* p_dev, uint8_t pipe_number, uin memcpy(p_dev->pipe0_reading_address, address, p_dev->addr_width); } - if (pipe_number <= 5) { + if (pipe_number < MAX_NUM_OF_PIPES) { // For pipes 2-5, only write the LSB if (pipe_number <= 1) { - platform_status = rf24_platform_write_register(&(p_dev->platform_setup), child_pipe[pipe_number], address, + platform_status = rf24_platform_write_register(&(p_dev->platform_setup), m_child_pipe[pipe_number], address, p_dev->addr_width); } else { - platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), child_pipe[pipe_number], address[0]); + platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), m_child_pipe[pipe_number], address[0]); } dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); - platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), child_payload_size[pipe_number], + platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), m_child_payload_size[pipe_number], p_dev->payload_size); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); } else { @@ -433,7 +438,7 @@ rf24_status_t rf24_open_reading_pipe(rf24_dev_t* p_dev, uint8_t pipe_number, uin } if (dev_status == RF24_SUCCESS) { - reg_en_rx_addr.value |= _BS(child_pipe_enable[pipe_number]); + reg_en_rx_addr.value |= BIT_SHIFT_LEFT(m_child_pipe_enable[pipe_number]); platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, reg_en_rx_addr.value); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); @@ -455,7 +460,7 @@ rf24_status_t rf24_close_reading_pipe(rf24_dev_t* p_dev, uint8_t pipe_number) { } if (dev_status == RF24_SUCCESS) { - reg_en_rx_addr.value &= (~_BS(child_pipe_enable[pipe_number])); + reg_en_rx_addr.value &= (~BIT_SHIFT_LEFT(m_child_pipe_enable[pipe_number])); platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, reg_en_rx_addr.value); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); @@ -475,8 +480,8 @@ rf24_status_t rf24_start_listening(rf24_dev_t* p_dev) { platform_status = rf24_platform_read_reg8(&(p_dev->platform_setup), NRF24L01_REG_CONFIG, &(reg_config.value)); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); - reg_config.value |= _BS(PRIM_RX); - reg_status.value = (_BS(RX_DR) | _BS(TX_DS) | _BS(MAX_RT)); + reg_config.value |= BIT_SHIFT_LEFT(PRIM_RX); + reg_status.value = (BIT_SHIFT_LEFT(RX_DR) | BIT_SHIFT_LEFT(TX_DS) | BIT_SHIFT_LEFT(MAX_RT)); if (dev_status == RF24_SUCCESS) { platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_CONFIG, reg_config.value); @@ -528,7 +533,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { rf24_platform_disable(&(p_dev->platform_setup)); - rf24_delay(txDelay); + rf24_delay(m_tx_delay); dev_status = rf24_flush_rx(p_dev); @@ -540,7 +545,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { } if (reg_feature.en_ack_pay) { - rf24_delay(txDelay); // 250 + rf24_delay(m_tx_delay); // 250 if (dev_status == RF24_SUCCESS) { dev_status = rf24_flush_tx(p_dev); @@ -553,7 +558,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); if (dev_status == RF24_SUCCESS) { - reg_config.value &= (~_BS(PRIM_RX)); + reg_config.value &= (~BIT_SHIFT_LEFT(PRIM_RX)); platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_CONFIG, reg_config.value); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); } @@ -564,7 +569,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { platform_status = rf24_platform_read_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, &(reg_en_rx_addr.value)); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); - reg_en_rx_addr.value |= _BS(child_pipe_enable[0]); + reg_en_rx_addr.value |= BIT_SHIFT_LEFT(m_child_pipe_enable[0]); if (dev_status == RF24_SUCCESS) { platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, From 644b4974d7ef84696d8ff6465bee730175e2894c Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:50:17 -0300 Subject: [PATCH 42/71] :pencil: Update documentation --- src/rf24.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rf24.c b/src/rf24.c index 042fc97..27e2d2f 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -175,6 +175,7 @@ rf24_status_t rf24_init(rf24_dev_t* p_dev) { } if (dev_status == RF24_SUCCESS) { + // If setup is 0 or ff then there was no response from module if ((rf_setup_reg.value == 0) || (rf_setup_reg.value == 0xFF)) { dev_status = RF24_UNKNOWN_ERRO; } From 27070ce72b8f9819c373f5b4a408085494d1e843 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:52:23 -0300 Subject: [PATCH 43/71] :memo: Update READMEs --- README.md | 4 ++-- README.pt-br.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f2542b2..462f13b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ # 📡 STM32RF24 -Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](./README.pt-br.md) +Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](./README.pt-br.md). ## 📜 Index @@ -427,4 +427,4 @@ This project follows the [all-contributors](https://github.com/all-contributors/ --------------------- -ThundeRatz Robotics Team + diff --git a/README.pt-br.md b/README.pt-br.md index 18422ca..2e8c321 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -428,4 +428,4 @@ Esse projeto segue as especificações do [all-contributors](https://github.com/ --------------------- -Equipe ThundeRatz de Robótica + From f28f0b0a3277f2674d38bb2568100726c442c77f Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 17:56:37 -0300 Subject: [PATCH 44/71] :wrench: Add uncrustify.cfg --- uncrustify.cfg | 2132 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2132 insertions(+) diff --git a/uncrustify.cfg b/uncrustify.cfg index e69de29..38abe08 100644 --- a/uncrustify.cfg +++ b/uncrustify.cfg @@ -0,0 +1,2132 @@ +# Uncrustify-0.66.1_f + +# +# General options +# + +# The type of line endings. Default=Auto. +newlines = auto # auto/lf/crlf/cr + +# The original size of tabs in the input. Default=8. +input_tab_size = 4 # unsigned number + +# The size of tabs in the output (only used if align_with_tabs=true). Default=8. +output_tab_size = 4 # unsigned number + +# The ASCII value of the string escape char, usually 92 (\) or 94 (^). (Pawn). +string_escape_char = 92 # unsigned number + +# Alternate string escape char for Pawn. Only works right before the quote char. +string_escape_char2 = 0 # unsigned number + +# Replace tab characters found in string literals with the escape sequence \t instead. +string_replace_tab_chars = false # false/true + +# Allow interpreting '>=' and '>>=' as part of a template in 'void f(list>=val);'. +# If True, 'assert(x<0 && y>=3)' will be broken. Default=False +# Improvements to template detection may make this option obsolete. +tok_split_gte = false # false/true + +# Override the default ' *INDENT-OFF*' in comments for disabling processing of part of the file. +disable_processing_cmt = "" # string + +# Override the default ' *INDENT-ON*' in comments for enabling processing of part of the file. +enable_processing_cmt = "" # string + +# Enable parsing of digraphs. Default=False. +enable_digraphs = false # false/true + +# Control what to do with the UTF-8 BOM (recommend 'remove'). +utf8_bom = ignore # ignore/add/remove/force + +# If the file contains bytes with values between 128 and 255, but is not UTF-8, then output as UTF-8. +utf8_byte = false # false/true + +# Force the output encoding to UTF-8. +utf8_force = false # false/true + +# +# Spacing options +# + +# Add or remove space around arithmetic operator '+', '-', '/', '*', etc +# also '>>>' '<<' '>>' '%' '|'. +sp_arith = ignore # ignore/add/remove/force + +# Add or remove space around arithmetic operator '+' and '-'. Overrides sp_arith +sp_arith_additive = ignore # ignore/add/remove/force + +# Add or remove space around assignment operator '=', '+=', etc. +sp_assign = force # ignore/add/remove/force + +# Add or remove space around '=' in C++11 lambda capture specifications. Overrides sp_assign. +sp_cpp_lambda_assign = ignore # ignore/add/remove/force + +# Add or remove space after the capture specification in C++11 lambda. +sp_cpp_lambda_paren = ignore # ignore/add/remove/force + +# Add or remove space around assignment operator '=' in a prototype. +sp_assign_default = force # ignore/add/remove/force + +# Add or remove space before assignment operator '=', '+=', etc. Overrides sp_assign. +sp_before_assign = ignore # ignore/add/remove/force + +# Add or remove space after assignment operator '=', '+=', etc. Overrides sp_assign. +sp_after_assign = ignore # ignore/add/remove/force + +# Add or remove space in 'NS_ENUM ('. +sp_enum_paren = ignore # ignore/add/remove/force + +# Add or remove space around assignment '=' in enum. +sp_enum_assign = force # ignore/add/remove/force + +# Add or remove space before assignment '=' in enum. Overrides sp_enum_assign. +sp_enum_before_assign = ignore # ignore/add/remove/force + +# Add or remove space after assignment '=' in enum. Overrides sp_enum_assign. +sp_enum_after_assign = ignore # ignore/add/remove/force + +# Add or remove space around assignment ':' in enum. +sp_enum_colon = ignore # ignore/add/remove/force + +# Add or remove space around preprocessor '##' concatenation operator. Default=Add. +sp_pp_concat = remove # ignore/add/remove/force + +# Add or remove space after preprocessor '#' stringify operator. Also affects the '#@' charizing operator. +sp_pp_stringify = remove # ignore/add/remove/force + +# Add or remove space before preprocessor '#' stringify operator as in '#define x(y) L#y'. +sp_before_pp_stringify = ignore # ignore/add/remove/force + +# Add or remove space around boolean operators '&&' and '||'. +sp_bool = force # ignore/add/remove/force + +# Add or remove space around compare operator '<', '>', '==', etc. +sp_compare = force # ignore/add/remove/force + +# Add or remove space inside '(' and ')'. +sp_inside_paren = remove # ignore/add/remove/force + +# Add or remove space between nested parens: '((' vs ') )'. +sp_paren_paren = remove # ignore/add/remove/force + +# Add or remove space between back-to-back parens: ')(' vs ') ('. +sp_cparen_oparen = ignore # ignore/add/remove/force + +# Whether to balance spaces inside nested parens. +sp_balance_nested_parens = false # false/true + +# Add or remove space between ')' and '{'. +sp_paren_brace = force # ignore/add/remove/force + +# Add or remove space before pointer star '*'. +sp_before_ptr_star = remove # ignore/add/remove/force + +# Add or remove space before pointer star '*' that isn't followed by a variable name +# If set to 'ignore', sp_before_ptr_star is used instead. +sp_before_unnamed_ptr_star = ignore # ignore/add/remove/force + +# Add or remove space between pointer stars '*'. +sp_between_ptr_star = remove # ignore/add/remove/force + +# Add or remove space after pointer star '*', if followed by a word. +sp_after_ptr_star = add # ignore/add/remove/force + +# Add or remove space after pointer star '*', if followed by a qualifier. +sp_after_ptr_star_qualifier = ignore # ignore/add/remove/force + +# Add or remove space after a pointer star '*', if followed by a func proto/def. +sp_after_ptr_star_func = add # ignore/add/remove/force + +# Add or remove space after a pointer star '*', if followed by an open paren (function types). +sp_ptr_star_paren = ignore # ignore/add/remove/force + +# Add or remove space before a pointer star '*', if followed by a func proto/def. +sp_before_ptr_star_func = remove # ignore/add/remove/force + +# Add or remove space before a reference sign '&'. +sp_before_byref = remove # ignore/add/remove/force + +# Add or remove space before a reference sign '&' that isn't followed by a variable name. +# If set to 'ignore', sp_before_byref is used instead. +sp_before_unnamed_byref = ignore # ignore/add/remove/force + +# Add or remove space after reference sign '&', if followed by a word. +sp_after_byref = add # ignore/add/remove/force + +# Add or remove space after a reference sign '&', if followed by a func proto/def. +sp_after_byref_func = force # ignore/add/remove/force + +# Add or remove space before a reference sign '&', if followed by a func proto/def. +sp_before_byref_func = remove # ignore/add/remove/force + +# Add or remove space between type and word. Default=Force. +sp_after_type = force # ignore/add/remove/force + +# Add or remove space before the paren in the D constructs 'template Foo(' and 'class Foo('. +sp_before_template_paren = ignore # ignore/add/remove/force + +# Add or remove space in 'template <' vs 'template<'. +# If set to ignore, sp_before_angle is used. +sp_template_angle = force # ignore/add/remove/force + +# Add or remove space before '<>'. +sp_before_angle = remove # ignore/add/remove/force + +# Add or remove space inside '<' and '>'. +sp_inside_angle = remove # ignore/add/remove/force + +# Add or remove space between '<>' and ':'. +sp_angle_colon = ignore # ignore/add/remove/force + +# Add or remove space after '<>'. +sp_after_angle = force # ignore/add/remove/force + +# Add or remove space between '<>' and '(' as found in 'new List(foo);'. +sp_angle_paren = remove # ignore/add/remove/force + +# Add or remove space between '<>' and '()' as found in 'new List();'. +sp_angle_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between '<>' and a word as in 'List m;' or 'template static ...'. +sp_angle_word = force # ignore/add/remove/force + +# Add or remove space between '>' and '>' in '>>' (template stuff C++/C# only). Default=Add. +sp_angle_shift = remove # ignore/add/remove/force + +# Permit removal of the space between '>>' in 'foo >' (C++11 only). Default=False. +# sp_angle_shift cannot remove the space without this option. +sp_permit_cpp11_shift = false # false/true + +# Add or remove space before '(' of 'if', 'for', 'switch', 'while', etc. +sp_before_sparen = force # ignore/add/remove/force + +# Add or remove space inside if-condition '(' and ')'. +sp_inside_sparen = remove # ignore/add/remove/force + +# Add or remove space before if-condition ')'. Overrides sp_inside_sparen. +sp_inside_sparen_close = ignore # ignore/add/remove/force + +# Add or remove space after if-condition '('. Overrides sp_inside_sparen. +sp_inside_sparen_open = ignore # ignore/add/remove/force + +# Add or remove space after ')' of 'if', 'for', 'switch', and 'while', etc. +sp_after_sparen = ignore # ignore/add/remove/force + +# Add or remove space between ')' and '{' of 'if', 'for', 'switch', and 'while', etc. +sp_sparen_brace = ignore # ignore/add/remove/force + +# Add or remove space between 'invariant' and '(' in the D language. +sp_invariant_paren = ignore # ignore/add/remove/force + +# Add or remove space after the ')' in 'invariant (C) c' in the D language. +sp_after_invariant_paren = ignore # ignore/add/remove/force + +# Add or remove space before empty statement ';' on 'if', 'for' and 'while'. +sp_special_semi = remove # ignore/add/remove/force + +# Add or remove space before ';'. Default=Remove. +sp_before_semi = remove # ignore/add/remove/force + +# Add or remove space before ';' in non-empty 'for' statements. +sp_before_semi_for = remove # ignore/add/remove/force + +# Add or remove space before a semicolon of an empty part of a for statement. +sp_before_semi_for_empty = remove # ignore/add/remove/force + +# Add or remove space after ';', except when followed by a comment. Default=Add. +sp_after_semi = force # ignore/add/remove/force + +# Add or remove space after ';' in non-empty 'for' statements. Default=Force. +sp_after_semi_for = force # ignore/add/remove/force + +# Add or remove space after the final semicolon of an empty part of a for statement: for ( ; ; ). +sp_after_semi_for_empty = remove # ignore/add/remove/force + +# Add or remove space before '[' (except '[]'). +sp_before_square = remove # ignore/add/remove/force + +# Add or remove space before '[]'. +sp_before_squares = remove # ignore/add/remove/force + +# Add or remove space inside a non-empty '[' and ']'. +sp_inside_square = remove # ignore/add/remove/force + +# Add or remove space after ',', 'a,b' vs 'a, b'. +sp_after_comma = force # ignore/add/remove/force + +# Add or remove space before ','. Default=Remove. +sp_before_comma = remove # ignore/add/remove/force + +# Add or remove space between ',' and ']' in multidimensional array type 'int[,,]'. Only for C#. +sp_after_mdatype_commas = ignore # ignore/add/remove/force + +# Add or remove space between '[' and ',' in multidimensional array type 'int[,,]'. Only for C#. +sp_before_mdatype_commas = ignore # ignore/add/remove/force + +# Add or remove space between ',' in multidimensional array type 'int[,,]'. Only for C#. +sp_between_mdatype_commas = ignore # ignore/add/remove/force + +# Add or remove space between an open paren and comma: '(,' vs '( ,'. Default=Force. +sp_paren_comma = force # ignore/add/remove/force + +# Add or remove space before the variadic '...' when preceded by a non-punctuator. +sp_before_ellipsis = ignore # ignore/add/remove/force + +# Add or remove space after class ':'. +sp_after_class_colon = force # ignore/add/remove/force + +# Add or remove space before class ':'. +sp_before_class_colon = force # ignore/add/remove/force + +# Add or remove space after class constructor ':'. +sp_after_constr_colon = ignore # ignore/add/remove/force + +# Add or remove space before class constructor ':'. +sp_before_constr_colon = ignore # ignore/add/remove/force + +# Add or remove space before case ':'. Default=Remove. +sp_before_case_colon = remove # ignore/add/remove/force + +# Add or remove space between 'operator' and operator sign. +sp_after_operator = force # ignore/add/remove/force + +# Add or remove space between the operator symbol and the open paren, as in 'operator ++('. +sp_after_operator_sym = remove # ignore/add/remove/force + +# Overrides sp_after_operator_sym when the operator has no arguments, as in 'operator *()'. +sp_after_operator_sym_empty = ignore # ignore/add/remove/force + +# Add or remove space after C/D cast, i.e. 'cast(int)a' vs 'cast(int) a' or '(int)a' vs '(int) a'. +sp_after_cast = force # ignore/add/remove/force + +# Add or remove spaces inside cast parens. +sp_inside_paren_cast = remove # ignore/add/remove/force + +# Add or remove space between the type and open paren in a C++ cast, i.e. 'int(exp)' vs 'int (exp)'. +sp_cpp_cast_paren = remove # ignore/add/remove/force + +# Add or remove space between 'sizeof' and '('. +sp_sizeof_paren = remove # ignore/add/remove/force + +# Add or remove space after the tag keyword (Pawn). +sp_after_tag = ignore # ignore/add/remove/force + +# Add or remove space inside enum '{' and '}'. +sp_inside_braces_enum = ignore # ignore/add/remove/force + +# Add or remove space inside struct/union '{' and '}'. +sp_inside_braces_struct = ignore # ignore/add/remove/force + +# Add or remove space after open brace in an unnamed temporary direct-list-initialization. +sp_after_type_brace_init_lst_open = ignore # ignore/add/remove/force + +# Add or remove space before close brace in an unnamed temporary direct-list-initialization. +sp_before_type_brace_init_lst_close = ignore # ignore/add/remove/force + +# Add or remove space inside an unnamed temporary direct-list-initialization. +sp_inside_type_brace_init_lst = ignore # ignore/add/remove/force + +# Add or remove space inside '{' and '}'. +sp_inside_braces = ignore # ignore/add/remove/force + +# Add or remove space inside '{}'. +sp_inside_braces_empty = force # ignore/add/remove/force + +# Add or remove space between return type and function name +# A minimum of 1 is forced except for pointer return types. +sp_type_func = force # ignore/add/remove/force + +# Add or remove space between type and open brace of an unnamed temporary direct-list-initialization. +sp_type_brace_init_lst = ignore # ignore/add/remove/force + +# Add or remove space between function name and '(' on function declaration. +sp_func_proto_paren = remove # ignore/add/remove/force + +# Add or remove space between function name and '()' on function declaration without parameters. +sp_func_proto_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between function name and '(' on function definition. +sp_func_def_paren = remove # ignore/add/remove/force + +# Add or remove space between function name and '()' on function definition without parameters. +sp_func_def_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space inside empty function '()'. +sp_inside_fparens = remove # ignore/add/remove/force + +# Add or remove space inside function '(' and ')'. +sp_inside_fparen = remove # ignore/add/remove/force + +# Add or remove space inside the first parens in the function type: 'void (*x)(...)'. +sp_inside_tparen = ignore # ignore/add/remove/force + +# Add or remove between the parens in the function type: 'void (*x)(...)'. +sp_after_tparen_close = ignore # ignore/add/remove/force + +# Add or remove space between ']' and '(' when part of a function call. +sp_square_fparen = remove # ignore/add/remove/force + +# Add or remove space between ')' and '{' of function. +sp_fparen_brace = force # ignore/add/remove/force + +# Java: Add or remove space between ')' and '{{' of double brace initializer. +sp_fparen_dbrace = ignore # ignore/add/remove/force + +# Add or remove space between function name and '(' on function calls. +sp_func_call_paren = remove # ignore/add/remove/force + +# Add or remove space between function name and '()' on function calls without parameters. +# If set to 'ignore' (the default), sp_func_call_paren is used. +sp_func_call_paren_empty = remove # ignore/add/remove/force + +# Add or remove space between the user function name and '(' on function calls +# You need to set a keyword to be a user function, like this: 'set func_call_user _' in the config file. +sp_func_call_user_paren = ignore # ignore/add/remove/force + +# Add or remove space between a constructor/destructor and the open paren. +sp_func_class_paren = remove # ignore/add/remove/force + +# Add or remove space between a constructor without parameters or destructor and '()'. +sp_func_class_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between 'return' and '('. +sp_return_paren = force # ignore/add/remove/force + +# Add or remove space between '__attribute__' and '('. +sp_attribute_paren = remove # ignore/add/remove/force + +# Add or remove space between 'defined' and '(' in '#if defined (FOO)'. +sp_defined_paren = remove # ignore/add/remove/force + +# Add or remove space between 'throw' and '(' in 'throw (something)'. +sp_throw_paren = force # ignore/add/remove/force + +# Add or remove space between 'throw' and anything other than '(' as in '@throw [...];'. +sp_after_throw = ignore # ignore/add/remove/force + +# Add or remove space between 'catch' and '(' in 'catch (something) { }' +# If set to ignore, sp_before_sparen is used. +sp_catch_paren = force # ignore/add/remove/force + +# Add or remove space between 'version' and '(' in 'version (something) { }' (D language) +# If set to ignore, sp_before_sparen is used. +sp_version_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'scope' and '(' in 'scope (something) { }' (D language) +# If set to ignore, sp_before_sparen is used. +sp_scope_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'super' and '(' in 'super (something)'. Default=Remove. +sp_super_paren = remove # ignore/add/remove/force + +# Add or remove space between 'this' and '(' in 'this (something)'. Default=Remove. +sp_this_paren = remove # ignore/add/remove/force + +# Add or remove space between macro and value. +sp_macro = force # ignore/add/remove/force + +# Add or remove space between macro function ')' and value. +sp_macro_func = force # ignore/add/remove/force + +# Add or remove space between 'else' and '{' if on the same line. +sp_else_brace = force # ignore/add/remove/force + +# Add or remove space between '}' and 'else' if on the same line. +sp_brace_else = force # ignore/add/remove/force + +# Add or remove space between '}' and the name of a typedef on the same line. +sp_brace_typedef = force # ignore/add/remove/force + +# Add or remove space between 'catch' and '{' if on the same line. +sp_catch_brace = force # ignore/add/remove/force + +# Add or remove space between '}' and 'catch' if on the same line. +sp_brace_catch = force # ignore/add/remove/force + +# Add or remove space between 'finally' and '{' if on the same line. +sp_finally_brace = force # ignore/add/remove/force + +# Add or remove space between '}' and 'finally' if on the same line. +sp_brace_finally = force # ignore/add/remove/force + +# Add or remove space between 'try' and '{' if on the same line. +sp_try_brace = force # ignore/add/remove/force + +# Add or remove space between get/set and '{' if on the same line. +sp_getset_brace = force # ignore/add/remove/force + +# Add or remove space between a variable and '{' for C++ uniform initialization. Default=Add. +sp_word_brace = add # ignore/add/remove/force + +# Add or remove space between a variable and '{' for a namespace. Default=Add. +sp_word_brace_ns = add # ignore/add/remove/force + +# Add or remove space before the '::' operator. +sp_before_dc = remove # ignore/add/remove/force + +# Add or remove space after the '::' operator. +sp_after_dc = remove # ignore/add/remove/force + +# Add or remove around the D named array initializer ':' operator. +sp_d_array_colon = ignore # ignore/add/remove/force + +# Add or remove space after the '!' (not) operator. Default=Remove. +sp_not = remove # ignore/add/remove/force + +# Add or remove space after the '~' (invert) operator. Default=Remove. +sp_inv = remove # ignore/add/remove/force + +# Add or remove space after the '&' (address-of) operator. Default=Remove +# This does not affect the spacing after a '&' that is part of a type. +sp_addr = remove # ignore/add/remove/force + +# Add or remove space around the '.' or '->' operators. Default=Remove. +sp_member = remove # ignore/add/remove/force + +# Add or remove space after the '*' (dereference) operator. Default=Remove +# This does not affect the spacing after a '*' that is part of a type. +sp_deref = remove # ignore/add/remove/force + +# Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'. Default=Remove. +sp_sign = remove # ignore/add/remove/force + +# Add or remove space before or after '++' and '--', as in '(--x)' or 'y++;'. Default=Remove. +sp_incdec = remove # ignore/add/remove/force + +# Add or remove space before a backslash-newline at the end of a line. Default=Add. +sp_before_nl_cont = force # ignore/add/remove/force + +# Add or remove space after the scope '+' or '-', as in '-(void) foo;' or '+(int) bar;'. +sp_after_oc_scope = ignore # ignore/add/remove/force + +# Add or remove space after the colon in message specs +# '-(int) f:(int) x;' vs '-(int) f: (int) x;'. +sp_after_oc_colon = ignore # ignore/add/remove/force + +# Add or remove space before the colon in message specs +# '-(int) f: (int) x;' vs '-(int) f : (int) x;'. +sp_before_oc_colon = ignore # ignore/add/remove/force + +# Add or remove space after the colon in immutable dictionary expression +# 'NSDictionary *test = @{@"foo" :@"bar"};'. +sp_after_oc_dict_colon = ignore # ignore/add/remove/force + +# Add or remove space before the colon in immutable dictionary expression +# 'NSDictionary *test = @{@"foo" :@"bar"};'. +sp_before_oc_dict_colon = ignore # ignore/add/remove/force + +# Add or remove space after the colon in message specs +# '[object setValue:1];' vs '[object setValue: 1];'. +sp_after_send_oc_colon = ignore # ignore/add/remove/force + +# Add or remove space before the colon in message specs +# '[object setValue:1];' vs '[object setValue :1];'. +sp_before_send_oc_colon = ignore # ignore/add/remove/force + +# Add or remove space after the (type) in message specs +# '-(int)f: (int) x;' vs '-(int)f: (int)x;'. +sp_after_oc_type = ignore # ignore/add/remove/force + +# Add or remove space after the first (type) in message specs +# '-(int) f:(int)x;' vs '-(int)f:(int)x;'. +sp_after_oc_return_type = ignore # ignore/add/remove/force + +# Add or remove space between '@selector' and '(' +# '@selector(msgName)' vs '@selector (msgName)' +# Also applies to @protocol() constructs. +sp_after_oc_at_sel = ignore # ignore/add/remove/force + +# Add or remove space between '@selector(x)' and the following word +# '@selector(foo) a:' vs '@selector(foo)a:'. +sp_after_oc_at_sel_parens = ignore # ignore/add/remove/force + +# Add or remove space inside '@selector' parens +# '@selector(foo)' vs '@selector( foo )' +# Also applies to @protocol() constructs. +sp_inside_oc_at_sel_parens = ignore # ignore/add/remove/force + +# Add or remove space before a block pointer caret +# '^int (int arg){...}' vs. ' ^int (int arg){...}'. +sp_before_oc_block_caret = ignore # ignore/add/remove/force + +# Add or remove space after a block pointer caret +# '^int (int arg){...}' vs. '^ int (int arg){...}'. +sp_after_oc_block_caret = ignore # ignore/add/remove/force + +# Add or remove space between the receiver and selector in a message. +# '[receiver selector ...]'. +sp_after_oc_msg_receiver = ignore # ignore/add/remove/force + +# Add or remove space after @property. +sp_after_oc_property = ignore # ignore/add/remove/force + +# Add or remove space around the ':' in 'b ? t : f'. +sp_cond_colon = ignore # ignore/add/remove/force + +# Add or remove space before the ':' in 'b ? t : f'. Overrides sp_cond_colon. +sp_cond_colon_before = ignore # ignore/add/remove/force + +# Add or remove space after the ':' in 'b ? t : f'. Overrides sp_cond_colon. +sp_cond_colon_after = ignore # ignore/add/remove/force + +# Add or remove space around the '?' in 'b ? t : f'. +sp_cond_question = force # ignore/add/remove/force + +# Add or remove space before the '?' in 'b ? t : f'. Overrides sp_cond_question. +sp_cond_question_before = ignore # ignore/add/remove/force + +# Add or remove space after the '?' in 'b ? t : f'. Overrides sp_cond_question. +sp_cond_question_after = ignore # ignore/add/remove/force + +# In the abbreviated ternary form (a ?: b), add/remove space between ? and :.'. Overrides all other sp_cond_* options. +sp_cond_ternary_short = ignore # ignore/add/remove/force + +# Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make sense here. +sp_case_label = force # ignore/add/remove/force + +# Control the space around the D '..' operator. +sp_range = ignore # ignore/add/remove/force + +# Control the spacing after ':' in 'for (TYPE VAR : EXPR)'. Only JAVA. +sp_after_for_colon = ignore # ignore/add/remove/force + +# Control the spacing before ':' in 'for (TYPE VAR : EXPR)'. Only JAVA. +sp_before_for_colon = ignore # ignore/add/remove/force + +# Control the spacing in 'extern (C)' (D). +sp_extern_paren = ignore # ignore/add/remove/force + +# Control the space after the opening of a C++ comment '// A' vs '//A'. +sp_cmt_cpp_start = force # ignore/add/remove/force + +# True: If space is added with sp_cmt_cpp_start, do it after doxygen sequences like '///', '///<', '//!' and '//!<'. +sp_cmt_cpp_doxygen = true # false/true + +# True: If space is added with sp_cmt_cpp_start, do it after Qt translator or meta-data comments like '//:', '//=', and '//~'. +sp_cmt_cpp_qttr = false # false/true + +# Controls the spaces between #else or #endif and a trailing comment. +sp_endif_cmt = force # ignore/add/remove/force + +# Controls the spaces after 'new', 'delete' and 'delete[]'. +sp_after_new = force # ignore/add/remove/force + +# Controls the spaces between new and '(' in 'new()'. +sp_between_new_paren = ignore # ignore/add/remove/force + +# Controls the spaces between ')' and 'type' in 'new(foo) BAR'. +sp_after_newop_paren = ignore # ignore/add/remove/force + +# Controls the spaces inside paren of the new operator: 'new(foo) BAR'. +sp_inside_newop_paren = ignore # ignore/add/remove/force + +# Controls the space after open paren of the new operator: 'new(foo) BAR'. +# Overrides sp_inside_newop_paren. +sp_inside_newop_paren_open = ignore # ignore/add/remove/force + +# Controls the space before close paren of the new operator: 'new(foo) BAR'. +# Overrides sp_inside_newop_paren. +sp_inside_newop_paren_close = ignore # ignore/add/remove/force + +# Controls the spaces before a trailing or embedded comment. +sp_before_tr_emb_cmt = force # ignore/add/remove/force + +# Number of spaces before a trailing or embedded comment. +sp_num_before_tr_emb_cmt = 2 # unsigned number + +# Control space between a Java annotation and the open paren. +sp_annotation_paren = ignore # ignore/add/remove/force + +# If True, vbrace tokens are dropped to the previous token and skipped. +sp_skip_vbrace_tokens = false # false/true + +# If True, a is inserted after #define. +force_tab_after_define = false # false/true + +# +# Indenting +# + +# The number of columns to indent per level. +# Usually 2, 3, 4, or 8. Default=8. +indent_columns = 4 # unsigned number + +# The continuation indent. If non-zero, this overrides the indent of '(' and '=' continuation indents. +# For FreeBSD, this is set to 4. Negative value is absolute and not increased for each '(' level. +indent_continue = 0 # number + +# The continuation indent for func_*_param if they are true. +# If non-zero, this overrides the indent. +indent_param = 0 # unsigned number + +# How to use tabs when indenting code +# 0=spaces only +# 1=indent with tabs to brace level, align with spaces (default) +# 2=indent and align with tabs, using spaces when not on a tabstop +indent_with_tabs = 0 # unsigned number + +# Comments that are not a brace level are indented with tabs on a tabstop. +# Requires indent_with_tabs=2. If false, will use spaces. +indent_cmt_with_tabs = false # false/true + +# Whether to indent strings broken by '\' so that they line up. +indent_align_string = false # false/true + +# The number of spaces to indent multi-line XML strings. +# Requires indent_align_string=True. +indent_xml_string = 0 # unsigned number + +# Spaces to indent '{' from level. +indent_brace = 0 # unsigned number + +# Whether braces are indented to the body level. +indent_braces = false # false/true + +# Disabled indenting function braces if indent_braces is True. +indent_braces_no_func = false # false/true + +# Disabled indenting class braces if indent_braces is True. +indent_braces_no_class = false # false/true + +# Disabled indenting struct braces if indent_braces is True. +indent_braces_no_struct = false # false/true + +# Indent based on the size of the brace parent, i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc. +indent_brace_parent = false # false/true + +# Indent based on the paren open instead of the brace open in '({\n', default is to indent by brace. +indent_paren_open_brace = false # false/true + +# indent a C# delegate by another level, default is to not indent by another level. +indent_cs_delegate_brace = false # false/true + +# Whether the 'namespace' body is indented. +indent_namespace = false # false/true + +# Only indent one namespace and no sub-namespaces. +# Requires indent_namespace=True. +indent_namespace_single_indent = false # false/true + +# The number of spaces to indent a namespace block. +indent_namespace_level = 0 # unsigned number + +# If the body of the namespace is longer than this number, it won't be indented. +# Requires indent_namespace=True. Default=0 (no limit) +indent_namespace_limit = 0 # unsigned number + +# Whether the 'extern "C"' body is indented. +indent_extern = false # false/true + +# Whether the 'class' body is indented. +indent_class = true # false/true + +# Whether to indent the stuff after a leading base class colon. +indent_class_colon = false # false/true + +# Indent based on a class colon instead of the stuff after the colon. +# Requires indent_class_colon=True. Default=False. +indent_class_on_colon = false # false/true + +# Whether to indent the stuff after a leading class initializer colon. +indent_constr_colon = false # false/true + +# Virtual indent from the ':' for member initializers. Default=2. +indent_ctor_init_leading = 2 # unsigned number + +# Additional indent for constructor initializer list. +# Negative values decrease indent down to the first column. Default=0. +indent_ctor_init = 0 # number + +# False=treat 'else\nif' as 'else if' for indenting purposes +# True=indent the 'if' one level. +indent_else_if = false # false/true + +# Amount to indent variable declarations after a open brace. neg=relative, pos=absolute. +indent_var_def_blk = 0 # number + +# Indent continued variable declarations instead of aligning. +indent_var_def_cont = false # false/true + +# Indent continued shift expressions ('<<' and '>>') instead of aligning. +# Turn align_left_shift off when enabling this. +indent_shift = false # false/true + +# True: force indentation of function definition to start in column 1 +# False: use the default behavior. +indent_func_def_force_col1 = false # false/true + +# True: indent continued function call parameters one indent level +# False: align parameters under the open paren. +indent_func_call_param = false # false/true + +# Same as indent_func_call_param, but for function defs. +indent_func_def_param = false # false/true + +# Same as indent_func_call_param, but for function protos. +indent_func_proto_param = false # false/true + +# Same as indent_func_call_param, but for class declarations. +indent_func_class_param = false # false/true + +# Same as indent_func_call_param, but for class variable constructors. +indent_func_ctor_var_param = false # false/true + +# Same as indent_func_call_param, but for templates. +indent_template_param = false # false/true + +# Double the indent for indent_func_xxx_param options. +# Use both values of the options indent_columns and indent_param. +indent_func_param_double = false # false/true + +# Indentation column for standalone 'const' function decl/proto qualifier. +indent_func_const = 0 # unsigned number + +# Indentation column for standalone 'throw' function decl/proto qualifier. +indent_func_throw = 0 # unsigned number + +# The number of spaces to indent a continued '->' or '.' +# Usually set to 0, 1, or indent_columns. +indent_member = 4 # unsigned number + +# Spaces to indent single line ('//') comments on lines before code. +indent_sing_line_comments = 0 # unsigned number + +# If set, will indent trailing single line ('//') comments relative +# to the code instead of trying to keep the same absolute column. +indent_relative_single_line_comments = false # false/true + +# Spaces to indent 'case' from 'switch' +# Usually 0 or indent_columns. +indent_switch_case = 4 # unsigned number + +# Whether to indent preproccesor statements inside of switch statements. +indent_switch_pp = true # false/true + +# Spaces to shift the 'case' line, without affecting any other lines +# Usually 0. +indent_case_shift = 0 # unsigned number + +# Spaces to indent '{' from 'case'. +# By default, the brace will appear under the 'c' in case. +# Usually set to 0 or indent_columns. +# negative value are OK. +indent_case_brace = 0 # number + +# Whether to indent comments found in first column. +indent_col1_comment = false # false/true + +# How to indent goto labels +# >0: absolute column where 1 is the leftmost column +# <=0: subtract from brace indent +# Default=1 +indent_label = 1 # number + +# Same as indent_label, but for access specifiers that are followed by a colon. Default=1 +indent_access_spec = 1 # number + +# Indent the code after an access specifier by one level. +# If set, this option forces 'indent_access_spec=0'. +indent_access_spec_body = true # false/true + +# If an open paren is followed by a newline, indent the next line so that it lines up after the open paren (not recommended). +indent_paren_nl = false # false/true + +# Controls the indent of a close paren after a newline. +# 0: Indent to body level +# 1: Align under the open paren +# 2: Indent to the brace level +indent_paren_close = 0 # unsigned number + +# Controls the indent of the open paren of a function definition, if on it's own line.If True, indents the open paren +indent_paren_after_func_def = false # false/true + +# Controls the indent of the open paren of a function declaration, if on it's own line.If True, indents the open paren +indent_paren_after_func_decl = false # false/true + +# Controls the indent of the open paren of a function call, if on it's own line.If True, indents the open paren +indent_paren_after_func_call = false # false/true + +# Controls the indent of a comma when inside a paren.If True, aligns under the open paren. +indent_comma_paren = false # false/true + +# Controls the indent of a BOOL operator when inside a paren.If True, aligns under the open paren. +indent_bool_paren = false # false/true + +# If 'indent_bool_paren' is True, controls the indent of the first expression. If True, aligns the first expression to the following ones. +indent_first_bool_expr = true # false/true + +# If an open square is followed by a newline, indent the next line so that it lines up after the open square (not recommended). +indent_square_nl = false # false/true + +# Don't change the relative indent of ESQL/C 'EXEC SQL' bodies. +indent_preserve_sql = false # false/true + +# Align continued statements at the '='. Default=True +# If False or the '=' is followed by a newline, the next line is indent one tab. +indent_align_assign = true # false/true + +# Indent OC blocks at brace level instead of usual rules. +indent_oc_block = false # false/true + +# Indent OC blocks in a message relative to the parameter name. +# 0=use indent_oc_block rules, 1+=spaces to indent +indent_oc_block_msg = 0 # unsigned number + +# Minimum indent for subsequent parameters +indent_oc_msg_colon = 0 # unsigned number + +# If True, prioritize aligning with initial colon (and stripping spaces from lines, if necessary). +# Default=True. +indent_oc_msg_prioritize_first_colon = true # false/true + +# If indent_oc_block_msg and this option are on, blocks will be indented the way that Xcode does by default (from keyword if the parameter is on its own line; otherwise, from the previous indentation level). +indent_oc_block_msg_xcode_style = false # false/true + +# If indent_oc_block_msg and this option are on, blocks will be indented from where the brace is relative to a msg keyword. +indent_oc_block_msg_from_keyword = false # false/true + +# If indent_oc_block_msg and this option are on, blocks will be indented from where the brace is relative to a msg colon. +indent_oc_block_msg_from_colon = false # false/true + +# If indent_oc_block_msg and this option are on, blocks will be indented from where the block caret is. +indent_oc_block_msg_from_caret = false # false/true + +# If indent_oc_block_msg and this option are on, blocks will be indented from where the brace is. +indent_oc_block_msg_from_brace = false # false/true + +# When identing after virtual brace open and newline add further spaces to reach this min. indent. +indent_min_vbrace_open = 0 # unsigned number + +# True: When identing after virtual brace open and newline add further spaces after regular indent to reach next tabstop. +indent_vbrace_open_on_tabstop = false # false/true + +# If True, a brace followed by another token (not a newline) will indent all contained lines to match the token.Default=True. +indent_token_after_brace = true # false/true + +# If True, cpp lambda body will be indentedDefault=False. +indent_cpp_lambda_body = false # false/true + +# indent (or not) an using block if no braces are used. Only for C#.Default=True. +indent_using_block = true # false/true + +# indent the continuation of ternary operator. +# 0: (Default) off +# 1: When the `if_false` is a continuation, indent it under `if_false` +# 2: When the `:` is a continuation, indent it under `?` +indent_ternary_operator = 0 # unsigned number + +# If true, ignore indent and align for asm blocks as they have their own indentation. +indent_ignore_asm_block = false # false/true + +# +# Newline adding and removing options +# + +# Whether to collapse empty blocks between '{' and '}'. +nl_collapse_empty_body = false # false/true + +# Don't split one-line braced assignments - 'foo_t f = { 1, 2 };'. +nl_assign_leave_one_liners = true # false/true + +# Don't split one-line braced statements inside a class xx { } body. +nl_class_leave_one_liners = true # false/true + +# Don't split one-line enums: 'enum foo { BAR = 15 };' +nl_enum_leave_one_liners = false # false/true + +# Don't split one-line get or set functions. +nl_getset_leave_one_liners = false # false/true + +# Don't split one-line function definitions - 'int foo() { return 0; }'. +nl_func_leave_one_liners = false # false/true + +# Don't split one-line C++11 lambdas - '[]() { return 0; }'. +nl_cpp_lambda_leave_one_liners = false # false/true + +# Don't split one-line if/else statements - 'if(a) b++;'. +nl_if_leave_one_liners = false # false/true + +# Don't split one-line while statements - 'while(a) b++;'. +nl_while_leave_one_liners = false # false/true + +# Don't split one-line OC messages. +nl_oc_msg_leave_one_liner = false # false/true + +# Add or remove newline between Objective-C block signature and '{'. +nl_oc_block_brace = ignore # ignore/add/remove/force + +# Add or remove newlines at the start of the file. +nl_start_of_file = ignore # ignore/add/remove/force + +# The number of newlines at the start of the file (only used if nl_start_of_file is 'add' or 'force'. +nl_start_of_file_min = 0 # unsigned number + +# Add or remove newline at the end of the file. +nl_end_of_file = force # ignore/add/remove/force + +# The number of newlines at the end of the file (only used if nl_end_of_file is 'add' or 'force'). +nl_end_of_file_min = 1 # unsigned number + +# Add or remove newline between '=' and '{'. +nl_assign_brace = remove # ignore/add/remove/force + +# Add or remove newline between '=' and '[' (D only). +nl_assign_square = ignore # ignore/add/remove/force + +# Add or remove newline after '= [' (D only). Will also affect the newline before the ']'. +nl_after_square_assign = ignore # ignore/add/remove/force + +# The number of blank lines after a block of variable definitions at the top of a function body +# 0 = No change (default). +nl_func_var_def_blk = 0 # unsigned number + +# The number of newlines before a block of typedefs +# 0 = No change (default) +# is overridden by the option 'nl_after_access_spec'. +nl_typedef_blk_start = 0 # unsigned number + +# The number of newlines after a block of typedefs +# 0 = No change (default). +nl_typedef_blk_end = 0 # unsigned number + +# The maximum consecutive newlines within a block of typedefs +# 0 = No change (default). +nl_typedef_blk_in = 0 # unsigned number + +# The number of newlines before a block of variable definitions not at the top of a function body +# 0 = No change (default) +# is overridden by the option 'nl_after_access_spec'. +nl_var_def_blk_start = 0 # unsigned number + +# The number of newlines after a block of variable definitions not at the top of a function body +# 0 = No change (default). +nl_var_def_blk_end = 0 # unsigned number + +# The maximum consecutive newlines within a block of variable definitions +# 0 = No change (default). +nl_var_def_blk_in = 0 # unsigned number + +# Add or remove newline between a function call's ')' and '{', as in: +# list_for_each(item, &list) { }. +nl_fcall_brace = force # ignore/add/remove/force + +# Add or remove newline between 'enum' and '{'. +nl_enum_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'enum' and 'class'. +nl_enum_class = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum class' and the identifier. +nl_enum_class_identifier = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum class' type and ':'. +nl_enum_identifier_colon = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum class identifier :' and 'type' and/or 'type'. +nl_enum_colon_type = ignore # ignore/add/remove/force + +# Add or remove newline between 'struct and '{'. +nl_struct_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'union' and '{'. +nl_union_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'if' and '{'. +nl_if_brace = remove # ignore/add/remove/force + +# Add or remove newline between '}' and 'else'. +nl_brace_else = remove # ignore/add/remove/force + +# Add or remove newline between 'else if' and '{' +# If set to ignore, nl_if_brace is used instead. +nl_elseif_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'else' and '{'. +nl_else_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'else' and 'if'. +nl_else_if = remove # ignore/add/remove/force + +# Add or remove newline before 'if'/'else if' closing parenthesis. +nl_before_if_closing_paren = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and 'finally'. +nl_brace_finally = remove # ignore/add/remove/force + +# Add or remove newline between 'finally' and '{'. +nl_finally_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'try' and '{'. +nl_try_brace = remove # ignore/add/remove/force + +# Add or remove newline between get/set and '{'. +nl_getset_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'for' and '{'. +nl_for_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'catch' and '{'. +nl_catch_brace = remove # ignore/add/remove/force + +# Add or remove newline between '}' and 'catch'. +nl_brace_catch = remove # ignore/add/remove/force + +# Add or remove newline between '}' and ']'. +nl_brace_square = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and ')' in a function invocation. +nl_brace_fparen = ignore # ignore/add/remove/force + +# Add or remove newline between 'while' and '{'. +nl_while_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'scope (x)' and '{' (D). +nl_scope_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'unittest' and '{' (D). +nl_unittest_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'version (x)' and '{' (D). +nl_version_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'using' and '{'. +nl_using_brace = remove # ignore/add/remove/force + +# Add or remove newline between two open or close braces. +# Due to general newline/brace handling, REMOVE may not work. +nl_brace_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'do' and '{'. +nl_do_brace = remove # ignore/add/remove/force + +# Add or remove newline between '}' and 'while' of 'do' statement. +nl_brace_while = remove # ignore/add/remove/force + +# Add or remove newline between 'switch' and '{'. +nl_switch_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'synchronized' and '{'. +nl_synchronized_brace = ignore # ignore/add/remove/force + +# Add a newline between ')' and '{' if the ')' is on a different line than the if/for/etc. +# Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch and nl_catch_brace. +nl_multi_line_cond = false # false/true + +# Force a newline in a define after the macro name for multi-line defines. +nl_multi_line_define = false # false/true + +# Whether to put a newline before 'case' statement, not after the first 'case'. +nl_before_case = true # false/true + +# Add or remove newline between ')' and 'throw'. +nl_before_throw = ignore # ignore/add/remove/force + +# Whether to put a newline after 'case' statement. +nl_after_case = true # false/true + +# Add or remove a newline between a case ':' and '{'. Overrides nl_after_case. +nl_case_colon_brace = remove # ignore/add/remove/force + +# Newline between namespace and {. +nl_namespace_brace = remove # ignore/add/remove/force + +# Add or remove newline between 'template<>' and whatever follows. +nl_template_class = remove # ignore/add/remove/force + +# Add or remove newline between 'class' and '{'. +nl_class_brace = remove # ignore/add/remove/force + +# Add or remove newline before/after each ',' in the base class list, +# (tied to pos_class_comma). +nl_class_init_args = ignore # ignore/add/remove/force + +# Add or remove newline after each ',' in the constructor member initialization. +# Related to nl_constr_colon, pos_constr_colon and pos_constr_comma. +nl_constr_init_args = ignore # ignore/add/remove/force + +# Add or remove newline before first element, after comma, and after last element in enum. +nl_enum_own_lines = ignore # ignore/add/remove/force + +# Add or remove newline between return type and function name in a function definition. +nl_func_type_name = remove # ignore/add/remove/force + +# Add or remove newline between return type and function name inside a class {} +# Uses nl_func_type_name or nl_func_proto_type_name if set to ignore. +nl_func_type_name_class = remove # ignore/add/remove/force + +# Add or remove newline between class specification and '::' in 'void A::f() { }' +# Only appears in separate member implementation (does not appear with in-line implmementation). +nl_func_class_scope = ignore # ignore/add/remove/force + +# Add or remove newline between function scope and name +# Controls the newline after '::' in 'void A::f() { }'. +nl_func_scope_name = remove # ignore/add/remove/force + +# Add or remove newline between return type and function name in a prototype. +nl_func_proto_type_name = remove # ignore/add/remove/force + +# Add or remove newline between a function name and the opening '(' in the declaration. +nl_func_paren = remove # ignore/add/remove/force + +# Overrides nl_func_paren for functions with no parameters. +nl_func_paren_empty = ignore # ignore/add/remove/force + +# Add or remove newline between a function name and the opening '(' in the definition. +nl_func_def_paren = remove # ignore/add/remove/force + +# Overrides nl_func_def_paren for functions with no parameters. +nl_func_def_paren_empty = ignore # ignore/add/remove/force + +# Add or remove newline between a function name and the opening '(' in the call +nl_func_call_paren = ignore # ignore/add/remove/force + +# Overrides nl_func_call_paren for functions with no parameters. +nl_func_call_paren_empty = ignore # ignore/add/remove/force + +# Add or remove newline after '(' in a function declaration. +nl_func_decl_start = remove # ignore/add/remove/force + +# Add or remove newline after '(' in a function definition. +nl_func_def_start = remove # ignore/add/remove/force + +# Overrides nl_func_decl_start when there is only one parameter. +nl_func_decl_start_single = ignore # ignore/add/remove/force + +# Overrides nl_func_def_start when there is only one parameter. +nl_func_def_start_single = ignore # ignore/add/remove/force + +# Whether to add newline after '(' in a function declaration if '(' and ')' are in different lines. +nl_func_decl_start_multi_line = false # false/true + +# Whether to add newline after '(' in a function definition if '(' and ')' are in different lines. +nl_func_def_start_multi_line = false # false/true + +# Add or remove newline after each ',' in a function declaration. +nl_func_decl_args = remove # ignore/add/remove/force + +# Add or remove newline after each ',' in a function definition. +nl_func_def_args = remove # ignore/add/remove/force + +# Whether to add newline after each ',' in a function declaration if '(' and ')' are in different lines. +nl_func_decl_args_multi_line = false # false/true + +# Whether to add newline after each ',' in a function definition if '(' and ')' are in different lines. +nl_func_def_args_multi_line = false # false/true + +# Add or remove newline before the ')' in a function declaration. +nl_func_decl_end = remove # ignore/add/remove/force + +# Add or remove newline before the ')' in a function definition. +nl_func_def_end = remove # ignore/add/remove/force + +# Overrides nl_func_decl_end when there is only one parameter. +nl_func_decl_end_single = ignore # ignore/add/remove/force + +# Overrides nl_func_def_end when there is only one parameter. +nl_func_def_end_single = ignore # ignore/add/remove/force + +# Whether to add newline before ')' in a function declaration if '(' and ')' are in different lines. +nl_func_decl_end_multi_line = false # false/true + +# Whether to add newline before ')' in a function definition if '(' and ')' are in different lines. +nl_func_def_end_multi_line = false # false/true + +# Add or remove newline between '()' in a function declaration. +nl_func_decl_empty = remove # ignore/add/remove/force + +# Add or remove newline between '()' in a function definition. +nl_func_def_empty = remove # ignore/add/remove/force + +# Add or remove newline between '()' in a function call. +nl_func_call_empty = ignore # ignore/add/remove/force + +# Whether to add newline after '(' in a function call if '(' and ')' are in different lines. +nl_func_call_start_multi_line = false # false/true + +# Whether to add newline after each ',' in a function call if '(' and ')' are in different lines. +nl_func_call_args_multi_line = false # false/true + +# Whether to add newline before ')' in a function call if '(' and ')' are in different lines. +nl_func_call_end_multi_line = false # false/true + +# Whether to put each OC message parameter on a separate line +# See nl_oc_msg_leave_one_liner. +nl_oc_msg_args = false # false/true + +# Add or remove newline between function signature and '{'. +nl_fdef_brace = remove # ignore/add/remove/force + +# Add or remove newline between C++11 lambda signature and '{'. +nl_cpp_ldef_brace = ignore # ignore/add/remove/force + +# Add or remove a newline between the return keyword and return expression. +nl_return_expr = remove # ignore/add/remove/force + +# Whether to put a newline after semicolons, except in 'for' statements. +nl_after_semicolon = true # false/true + +# Java: Control the newline between the ')' and '{{' of the double brace initializer. +nl_paren_dbrace_open = ignore # ignore/add/remove/force + +# Whether to put a newline after the type in an unnamed temporary direct-list-initialization. +nl_type_brace_init_lst = ignore # ignore/add/remove/force + +# Whether to put a newline after open brace in an unnamed temporary direct-list-initialization. +nl_type_brace_init_lst_open = ignore # ignore/add/remove/force + +# Whether to put a newline before close brace in an unnamed temporary direct-list-initialization. +nl_type_brace_init_lst_close = ignore # ignore/add/remove/force + +# Whether to put a newline after brace open. +# This also adds a newline before the matching brace close. +nl_after_brace_open = true # false/true + +# If nl_after_brace_open and nl_after_brace_open_cmt are True, a newline is +# placed between the open brace and a trailing single-line comment. +nl_after_brace_open_cmt = true # false/true + +# Whether to put a newline after a virtual brace open with a non-empty body. +# These occur in un-braced if/while/do/for statement bodies. +nl_after_vbrace_open = false # false/true + +# Whether to put a newline after a virtual brace open with an empty body. +# These occur in un-braced if/while/do/for statement bodies. +nl_after_vbrace_open_empty = false # false/true + +# Whether to put a newline after a brace close. +# Does not apply if followed by a necessary ';'. +nl_after_brace_close = false # false/true + +# Whether to put a newline after a virtual brace close. +# Would add a newline before return in: 'if (foo) a++; return;'. +nl_after_vbrace_close = false # false/true + +# Control the newline between the close brace and 'b' in: 'struct { int a; } b;' +# Affects enums, unions and structures. If set to ignore, uses nl_after_brace_close. +nl_brace_struct_var = ignore # ignore/add/remove/force + +# Whether to alter newlines in '#define' macros. +nl_define_macro = false # false/true + +# Whether to remove blanks after '#ifxx' and '#elxx', or before '#elxx' and '#endif'. Does not affect top-level #ifdefs. +nl_squeeze_ifdef = false # false/true + +# Makes the nl_squeeze_ifdef option affect the top-level #ifdefs as well. +nl_squeeze_ifdef_top_level = false # false/true + +# Add or remove blank line before 'if'. +nl_before_if = force # ignore/add/remove/force + +# Add or remove blank line after 'if' statement. +# Add/Force work only if the next token is not a closing brace. +nl_after_if = force # ignore/add/remove/force + +# Add or remove blank line before 'for'. +nl_before_for = force # ignore/add/remove/force + +# Add or remove blank line after 'for' statement. +nl_after_for = force # ignore/add/remove/force + +# Add or remove blank line before 'while'. +nl_before_while = force # ignore/add/remove/force + +# Add or remove blank line after 'while' statement. +nl_after_while = force # ignore/add/remove/force + +# Add or remove blank line before 'switch'. +nl_before_switch = force # ignore/add/remove/force + +# Add or remove blank line after 'switch' statement. +nl_after_switch = force # ignore/add/remove/force + +# Add or remove blank line before 'synchronized'. +nl_before_synchronized = ignore # ignore/add/remove/force + +# Add or remove blank line after 'synchronized' statement. +nl_after_synchronized = ignore # ignore/add/remove/force + +# Add or remove blank line before 'do'. +nl_before_do = force # ignore/add/remove/force + +# Add or remove blank line after 'do/while' statement. +nl_after_do = force # ignore/add/remove/force + +# Whether to double-space commented-entries in struct/union/enum. +nl_ds_struct_enum_cmt = false # false/true + +# force nl before } of a struct/union/enum +# (lower priority than 'eat_blanks_before_close_brace'). +nl_ds_struct_enum_close_brace = false # false/true + +# Add or remove blank line before 'func_class_def'. +nl_before_func_class_def = 0 # unsigned number + +# Add or remove blank line before 'func_class_proto'. +nl_before_func_class_proto = 0 # unsigned number + +# Add or remove a newline before/after a class colon, +# (tied to pos_class_colon). +nl_class_colon = force # ignore/add/remove/force + +# Add or remove a newline around a class constructor colon. +# Related to nl_constr_init_args, pos_constr_colon and pos_constr_comma. +nl_constr_colon = ignore # ignore/add/remove/force + +# Change simple unbraced if statements into a one-liner +# 'if(b)\n i++;' => 'if(b) i++;'. +nl_create_if_one_liner = false # false/true + +# Change simple unbraced for statements into a one-liner +# 'for (i=0;i<5;i++)\n foo(i);' => 'for (i=0;i<5;i++) foo(i);'. +nl_create_for_one_liner = false # false/true + +# Change simple unbraced while statements into a one-liner +# 'while (i<5)\n foo(i++);' => 'while (i<5) foo(i++);'. +nl_create_while_one_liner = false # false/true + +# Change a one-liner if statement into simple unbraced if +# 'if(b) i++;' => 'if(b)\n i++;'. +nl_split_if_one_liner = false # false/true + +# Change a one-liner for statement into simple unbraced for +# 'for (i=0;<5;i++) foo(i);' => 'for (i=0;<5;i++)\n foo(i);'. +nl_split_for_one_liner = true # false/true + +# Change a one-liner while statement into simple unbraced while +# 'while (i<5) foo(i++);' => 'while (i<5)\n foo(i++);'. +nl_split_while_one_liner = true # false/true + +# +# Blank line options +# + +# The maximum consecutive newlines (3 = 2 blank lines). +nl_max = 2 # unsigned number + +# The maximum consecutive newlines in function. +nl_max_blank_in_func = 0 # unsigned number + +# The number of newlines after a function prototype, if followed by another function prototype. +nl_after_func_proto = 2 # unsigned number + +# The number of newlines after a function prototype, if not followed by another function prototype. +nl_after_func_proto_group = 0 # unsigned number + +# The number of newlines after a function class prototype, if followed by another function class prototype. +nl_after_func_class_proto = 0 # unsigned number + +# The number of newlines after a function class prototype, if not followed by another function class prototype. +nl_after_func_class_proto_group = 0 # unsigned number + +# The number of newlines before a multi-line function def body. +nl_before_func_body_def = 0 # unsigned number + +# The number of newlines before a multi-line function prototype body. +nl_before_func_body_proto = 0 # unsigned number + +# The number of newlines after '}' of a multi-line function body. +nl_after_func_body = 2 # unsigned number + +# The number of newlines after '}' of a multi-line function body in a class declaration. +nl_after_func_body_class = 2 # unsigned number + +# The number of newlines after '}' of a single line function body. +nl_after_func_body_one_liner = 2 # unsigned number + +# The minimum number of newlines before a multi-line comment. +# Doesn't apply if after a brace open or another multi-line comment. +nl_before_block_comment = 2 # unsigned number + +# The minimum number of newlines before a single-line C comment. +# Doesn't apply if after a brace open or other single-line C comments. +nl_before_c_comment = 2 # unsigned number + +# The minimum number of newlines before a CPP comment. +# Doesn't apply if after a brace open or other CPP comments. +nl_before_cpp_comment = 2 # unsigned number + +# Whether to force a newline after a multi-line comment. +nl_after_multiline_comment = false # false/true + +# Whether to force a newline after a label's colon. +nl_after_label_colon = false # false/true + +# The number of newlines after '}' or ';' of a struct/enum/union definition. +nl_after_struct = 2 # unsigned number + +# The number of newlines before a class definition. +nl_before_class = 0 # unsigned number + +# The number of newlines after '}' or ';' of a class definition. +nl_after_class = 2 # unsigned number + +# The number of newlines before a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label. +# Will not change the newline count if after a brace open. +# 0 = No change. +nl_before_access_spec = 2 # unsigned number + +# The number of newlines after a 'private:', 'public:', 'protected:', 'signals:' or 'slots:' label. +# 0 = No change. +# Overrides 'nl_typedef_blk_start' and 'nl_var_def_blk_start'. +nl_after_access_spec = 1 # unsigned number + +# The number of newlines between a function def and the function comment. +# 0 = No change. +nl_comment_func_def = 0 # unsigned number + +# The number of newlines after a try-catch-finally block that isn't followed by a brace close. +# 0 = No change. +nl_after_try_catch_finally = 2 # unsigned number + +# The number of newlines before and after a property, indexer or event decl. +# 0 = No change. +nl_around_cs_property = 0 # unsigned number + +# The number of newlines between the get/set/add/remove handlers in C#. +# 0 = No change. +nl_between_get_set = 0 # unsigned number + +# Add or remove newline between C# property and the '{'. +nl_property_brace = ignore # ignore/add/remove/force + +# Whether to remove blank lines after '{'. +eat_blanks_after_open_brace = true # false/true + +# Whether to remove blank lines before '}'. +eat_blanks_before_close_brace = true # false/true + +# How aggressively to remove extra newlines not in preproc. +# 0: No change +# 1: Remove most newlines not handled by other config +# 2: Remove all newlines and reformat completely by config +nl_remove_extra_newlines = 0 # unsigned number + +# Whether to put a blank line before 'return' statements, unless after an open brace. +nl_before_return = false # false/true + +# Whether to put a blank line after 'return' statements, unless followed by a close brace. +nl_after_return = false # false/true + +# Whether to put a newline after a Java annotation statement. +# Only affects annotations that are after a newline. +nl_after_annotation = ignore # ignore/add/remove/force + +# Controls the newline between two annotations. +nl_between_annotation = ignore # ignore/add/remove/force + +# +# Positioning options +# + +# The position of arithmetic operators in wrapped expressions. +pos_arith = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of assignment in wrapped expressions. +# Do not affect '=' followed by '{'. +pos_assign = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of boolean operators in wrapped expressions. +pos_bool = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of comparison operators in wrapped expressions. +pos_compare = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of conditional (b ? t : f) operators in wrapped expressions. +pos_conditional = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of the comma in wrapped expressions. +pos_comma = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of the comma in enum entries. +pos_enum_comma = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of the comma in the base class list if there are more than one line, +# (tied to nl_class_init_args). +pos_class_comma = lead_force # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of the comma in the constructor initialization list. +# Related to nl_constr_colon, nl_constr_init_args and pos_constr_colon. +pos_constr_comma = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of trailing/leading class colon, between class and base class list +# (tied to nl_class_colon). +pos_class_colon = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# The position of colons between constructor and member initialization, +# (tied to nl_constr_colon). +# Related to nl_constr_colon, nl_constr_init_args and pos_constr_comma. +pos_constr_colon = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force + +# +# Line Splitting options +# + +# Try to limit code width to N number of columns +code_width = 120 # unsigned number + +# Whether to fully split long 'for' statements at semi-colons. +ls_for_split_full = true # false/true + +# Whether to fully split long function protos/calls at commas. +ls_func_split_full = false # false/true + +# Whether to split lines as close to code_width as possible and ignore some groupings. +ls_code_width = false # false/true + +# +# Code alignment (not left column spaces/tabs) +# + +# Whether to keep non-indenting tabs. +align_keep_tabs = false # false/true + +# Whether to use tabs for aligning. +align_with_tabs = false # false/true + +# Whether to bump out to the next tab when aligning. +align_on_tabstop = false # false/true + +# Whether to right-align numbers. +align_number_right = false # false/true + +# Whether to keep whitespace not required for alignment. +align_keep_extra_space = false # false/true + +# Align variable definitions in prototypes and functions. +align_func_params = true # false/true + +# The span for aligning parameter definitions in function on parameter name (0=don't align). +align_func_params_span = 0 # unsigned number + +# The threshold for aligning function parameter definitions (0=no limit). +align_func_params_thresh = 0 # unsigned number + +# The gap for aligning function parameter definitions. +align_func_params_gap = 0 # unsigned number + +# Align parameters in single-line functions that have the same name. +# The function names must already be aligned with each other. +align_same_func_call_params = false # false/true + +# The span for aligning variable definitions (0=don't align) +align_var_def_span = 0 # unsigned number + +# How to align the star in variable definitions. +# 0=Part of the type 'void * foo;' +# 1=Part of the variable 'void *foo;' +# 2=Dangling 'void *foo;' +align_var_def_star_style = 0 # unsigned number + +# How to align the '&' in variable definitions. +# 0=Part of the type +# 1=Part of the variable +# 2=Dangling +align_var_def_amp_style = 0 # unsigned number + +# The threshold for aligning variable definitions (0=no limit) +align_var_def_thresh = 0 # unsigned number + +# The gap for aligning variable definitions. +align_var_def_gap = 0 # unsigned number + +# Whether to align the colon in struct bit fields. +align_var_def_colon = false # false/true + +# align variable defs gap for bit colons. +align_var_def_colon_gap = 0 # unsigned number + +# Whether to align any attribute after the variable name. +align_var_def_attribute = true # false/true + +# Whether to align inline struct/enum/union variable definitions. +align_var_def_inline = false # false/true + +# The span for aligning on '=' in assignments (0=don't align) +align_assign_span = 0 # unsigned number + +# The threshold for aligning on '=' in assignments (0=no limit) +align_assign_thresh = 0 # unsigned number + +# The span for aligning on '=' in enums (0=don't align) +align_enum_equ_span = 0 # unsigned number + +# The threshold for aligning on '=' in enums (0=no limit) +align_enum_equ_thresh = 0 # unsigned number + +# The span for aligning class (0=don't align) +align_var_class_span = 0 # unsigned number + +# The threshold for aligning class member definitions (0=no limit). +align_var_class_thresh = 0 # unsigned number + +# The gap for aligning class member definitions. +align_var_class_gap = 0 # unsigned number + +# The span for aligning struct/union (0=don't align) +align_var_struct_span = 20 # unsigned number + +# The threshold for aligning struct/union member definitions (0=no limit) +align_var_struct_thresh = 0 # unsigned number + +# The gap for aligning struct/union member definitions. +align_var_struct_gap = 1 # unsigned number + +# The span for aligning struct initializer values (0=don't align) +align_struct_init_span = 0 # unsigned number + +# The minimum space between the type and the synonym of a typedef. +align_typedef_gap = 0 # unsigned number + +# The span for aligning single-line typedefs (0=don't align). +align_typedef_span = 0 # unsigned number + +# How to align typedef'd functions with other typedefs +# 0: Don't mix them at all +# 1: align the open paren with the types +# 2: align the function type name with the other type names +align_typedef_func = 0 # unsigned number + +# Controls the positioning of the '*' in typedefs. Just try it. +# 0: Align on typedef type, ignore '*' +# 1: The '*' is part of type name: typedef int *pint; +# 2: The '*' is part of the type, but dangling: typedef int *pint; +align_typedef_star_style = 2 # unsigned number + +# Controls the positioning of the '&' in typedefs. Just try it. +# 0: Align on typedef type, ignore '&' +# 1: The '&' is part of type name: typedef int &pint; +# 2: The '&' is part of the type, but dangling: typedef int &pint; +align_typedef_amp_style = 0 # unsigned number + +# The span for aligning comments that end lines (0=don't align) +align_right_cmt_span = 2 # unsigned number + +# If aligning comments, mix with comments after '}' and #endif with less than 3 spaces before the comment. +align_right_cmt_mix = false # false/true + +# If a trailing comment is more than this number of columns away from the text it follows, +# it will qualify for being aligned. This has to be > 0 to do anything. +align_right_cmt_gap = 1 # unsigned number + +# Align trailing comment at or beyond column N; 'pulls in' comments as a bonus side effect (0=ignore) +align_right_cmt_at_col = 0 # unsigned number + +# The span for aligning function prototypes (0=don't align). +align_func_proto_span = 0 # unsigned number + +# Minimum gap between the return type and the function name. +align_func_proto_gap = 0 # unsigned number + +# Align function protos on the 'operator' keyword instead of what follows. +align_on_operator = false # false/true + +# Whether to mix aligning prototype and variable declarations. +# If True, align_var_def_XXX options are used instead of align_func_proto_XXX options. +align_mix_var_proto = false # false/true + +# Align single-line functions with function prototypes, uses align_func_proto_span. +align_single_line_func = false # false/true + +# Aligning the open brace of single-line functions. +# Requires align_single_line_func=True, uses align_func_proto_span. +align_single_line_brace = false # false/true + +# Gap for align_single_line_brace. +align_single_line_brace_gap = 0 # unsigned number + +# The span for aligning ObjC msg spec (0=don't align) +align_oc_msg_spec_span = 0 # unsigned number + +# Whether to align macros wrapped with a backslash and a newline. +# This will not work right if the macro contains a multi-line comment. +align_nl_cont = true # false/true + +# # Align macro functions and variables together. +align_pp_define_together = false # false/true + +# The minimum space between label and value of a preprocessor define. +align_pp_define_gap = 0 # unsigned number + +# The span for aligning on '#define' bodies (0=don't align, other=number of lines including comments between blocks) +align_pp_define_span = 0 # unsigned number + +# Align lines that start with '<<' with previous '<<'. Default=True. +align_left_shift = false # false/true + +# Align text after asm volatile () colons. +align_asm_colon = false # false/true + +# Span for aligning parameters in an Obj-C message call on the ':' (0=don't align) +align_oc_msg_colon_span = 0 # unsigned number + +# If True, always align with the first parameter, even if it is too short. +align_oc_msg_colon_first = false # false/true + +# Aligning parameters in an Obj-C '+' or '-' declaration on the ':'. +align_oc_decl_colon = false # false/true + +# +# Comment modifications +# + +# Try to wrap comments at cmt_width columns +cmt_width = 0 # unsigned number + +# Set the comment reflow mode (Default=0) +# 0: no reflowing (apart from the line wrapping due to cmt_width) +# 1: no touching at all +# 2: full reflow +cmt_reflow_mode = 1 # unsigned number + +# Whether to convert all tabs to spaces in comments. Default is to leave tabs inside comments alone, unless used for indenting. +cmt_convert_tab_to_spaces = false # false/true + +# If False, disable all multi-line comment changes, including cmt_width. keyword substitution and leading chars. +# Default=True. +cmt_indent_multi = true # false/true + +# Whether to group c-comments that look like they are in a block. +cmt_c_group = false # false/true + +# Whether to put an empty '/*' on the first line of the combined c-comment. +cmt_c_nl_start = false # false/true + +# Whether to put a newline before the closing '*/' of the combined c-comment. +cmt_c_nl_end = false # false/true + +# Whether to group cpp-comments that look like they are in a block. +cmt_cpp_group = false # false/true + +# Whether to put an empty '/*' on the first line of the combined cpp-comment. +cmt_cpp_nl_start = false # false/true + +# Whether to put a newline before the closing '*/' of the combined cpp-comment. +cmt_cpp_nl_end = false # false/true + +# Whether to change cpp-comments into c-comments. +cmt_cpp_to_c = false # false/true + +# Whether to put a star on subsequent comment lines. +cmt_star_cont = true # false/true + +# The number of spaces to insert at the start of subsequent comment lines. +cmt_sp_before_star_cont = 0 # unsigned number + +# The number of spaces to insert after the star on subsequent comment lines. +cmt_sp_after_star_cont = 0 # number + +# For multi-line comments with a '*' lead, remove leading spaces if the first and last lines of +# the comment are the same length. Default=True. +cmt_multi_check_last = false # false/true + +# For multi-line comments with a '*' lead, remove leading spaces if the first and last lines of +# the comment are the same length AND if the length is bigger as the first_len minimum. Default=4 +cmt_multi_first_len_minimum = 4 # unsigned number + +# The filename that contains text to insert at the head of a file if the file doesn't start with a C/C++ comment. +# Will substitute $(filename) with the current file's name. +cmt_insert_file_header = "" # string + +# The filename that contains text to insert at the end of a file if the file doesn't end with a C/C++ comment. +# Will substitute $(filename) with the current file's name. +cmt_insert_file_footer = "" # string + +# The filename that contains text to insert before a function implementation if the function isn't preceded with a C/C++ comment. +# Will substitute $(function) with the function name and $(javaparam) with the javadoc @param and @return stuff. +# Will also substitute $(fclass) with the class name: void CFoo::Bar() { ... }. +cmt_insert_func_header = "" # string + +# The filename that contains text to insert before a class if the class isn't preceded with a C/C++ comment. +# Will substitute $(class) with the class name. +cmt_insert_class_header = "" # string + +# The filename that contains text to insert before a Obj-C message specification if the method isn't preceded with a C/C++ comment. +# Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff. +cmt_insert_oc_msg_header = "" # string + +# If a preprocessor is encountered when stepping backwards from a function name, then +# this option decides whether the comment should be inserted. +# Affects cmt_insert_oc_msg_header, cmt_insert_func_header and cmt_insert_class_header. +cmt_insert_before_preproc = false # false/true + +# If a function is declared inline to a class definition, then +# this option decides whether the comment should be inserted. +# Affects cmt_insert_func_header. +cmt_insert_before_inlines = true # false/true + +# If the function is a constructor/destructor, then +# this option decides whether the comment should be inserted. +# Affects cmt_insert_func_header. +cmt_insert_before_ctor_dtor = false # false/true + +# +# Code modifying options (non-whitespace) +# + +# Add or remove braces on single-line 'do' statement. +mod_full_brace_do = force # ignore/add/remove/force + +# Add or remove braces on single-line 'for' statement. +mod_full_brace_for = ignore # ignore/add/remove/force + +# Add or remove braces on single-line function definitions. (Pawn). +mod_full_brace_function = force # ignore/add/remove/force + +# Add or remove braces on single-line 'if' statement. Will not remove the braces if they contain an 'else'. +mod_full_brace_if = force # ignore/add/remove/force + +# Make all if/elseif/else statements in a chain be braced or not. Overrides mod_full_brace_if. +# If any must be braced, they are all braced. If all can be unbraced, then the braces are removed. +mod_full_brace_if_chain = false # false/true + +# Make all if/elseif/else statements with at least one 'else' or 'else if' fully braced. +# If mod_full_brace_if_chain is used together with this option, all if-else chains will get braces, +# and simple 'if' statements will lose them (if possible). +mod_full_brace_if_chain_only = false # false/true + +# Don't remove braces around statements that span N newlines +mod_full_brace_nl = 0 # unsigned number + +# Blocks removal of braces if the parenthesis of if/for/while/.. span multiple lines. +mod_full_brace_nl_block_rem_mlcond = false # false/true + +# Add or remove braces on single-line 'while' statement. +mod_full_brace_while = ignore # ignore/add/remove/force + +# Add or remove braces on single-line 'using ()' statement. +mod_full_brace_using = force # ignore/add/remove/force + +# Add or remove unnecessary paren on 'return' statement. +mod_paren_on_return = ignore # ignore/add/remove/force + +# Whether to change optional semicolons to real semicolons. +mod_pawn_semicolon = false # false/true + +# Add parens on 'while' and 'if' statement around bools. +mod_full_paren_if_bool = true # false/true + +# Whether to remove superfluous semicolons. +mod_remove_extra_semicolon = false # false/true + +# If a function body exceeds the specified number of newlines and doesn't have a comment after +# the close brace, a comment will be added. +mod_add_long_function_closebrace_comment = 0 # unsigned number + +# If a namespace body exceeds the specified number of newlines and doesn't have a comment after +# the close brace, a comment will be added. +mod_add_long_namespace_closebrace_comment = 0 # unsigned number + +# If a class body exceeds the specified number of newlines and doesn't have a comment after +# the close brace, a comment will be added. +mod_add_long_class_closebrace_comment = 0 # unsigned number + +# If a switch body exceeds the specified number of newlines and doesn't have a comment after +# the close brace, a comment will be added. +mod_add_long_switch_closebrace_comment = 0 # unsigned number + +# If an #ifdef body exceeds the specified number of newlines and doesn't have a comment after +# the #endif, a comment will be added. +mod_add_long_ifdef_endif_comment = 0 # unsigned number + +# If an #ifdef or #else body exceeds the specified number of newlines and doesn't have a comment after +# the #else, a comment will be added. +mod_add_long_ifdef_else_comment = 0 # unsigned number + +# If True, will sort consecutive single-line 'import' statements [Java, D]. +mod_sort_import = false # false/true + +# If True, will sort consecutive single-line 'using' statements [C#]. +mod_sort_using = false # false/true + +# If True, will sort consecutive single-line '#include' statements [C/C++] and '#import' statements [Obj-C] +# This is generally a bad idea, as it may break your code. +mod_sort_include = false # false/true + +# If True, it will move a 'break' that appears after a fully braced 'case' before the close brace. +mod_move_case_break = true # false/true + +# Will add or remove the braces around a fully braced case statement. +# Will only remove the braces if there are no variable declarations in the block. +mod_case_brace = ignore # ignore/add/remove/force + +# If True, it will remove a void 'return;' that appears as the last statement in a function. +mod_remove_empty_return = false # false/true + +# If True, it will organize the properties (Obj-C). +mod_sort_oc_properties = false # false/true + +# Determines weight of class property modifier (Obj-C). +mod_sort_oc_property_class_weight = 0 # number + +# Determines weight of atomic, nonatomic (Obj-C). +mod_sort_oc_property_thread_safe_weight = 0 # number + +# Determines weight of readwrite (Obj-C). +mod_sort_oc_property_readwrite_weight = 0 # number + +# Determines weight of reference type (retain, copy, assign, weak, strong) (Obj-C). +mod_sort_oc_property_reference_weight = 0 # number + +# Determines weight of getter type (getter=) (Obj-C). +mod_sort_oc_property_getter_weight = 0 # number + +# Determines weight of setter type (setter=) (Obj-C). +mod_sort_oc_property_setter_weight = 0 # number + +# Determines weight of nullability type (nullable, nonnull, null_unspecified, null_resettable) (Obj-C). +mod_sort_oc_property_nullability_weight = 0 # number + +# +# Preprocessor options +# + +# Control indent of preprocessors inside #if blocks at brace level 0 (file-level). +pp_indent = ignore # ignore/add/remove/force + +# Whether to indent #if/#else/#endif at the brace level (True) or from column 1 (False). +pp_indent_at_level = false # false/true + +# Specifies the number of columns to indent preprocessors per level at brace level 0 (file-level). +# If pp_indent_at_level=False, specifies the number of columns to indent preprocessors per level at brace level > 0 (function-level). +# Default=1. +pp_indent_count = 1 # unsigned number + +# Add or remove space after # based on pp_level of #if blocks. +pp_space = ignore # ignore/add/remove/force + +# Sets the number of spaces added with pp_space. +pp_space_count = 0 # unsigned number + +# The indent for #region and #endregion in C# and '#pragma region' in C/C++. +pp_indent_region = 0 # number + +# Whether to indent the code between #region and #endregion. +pp_region_indent_code = false # false/true + +# If pp_indent_at_level=True, sets the indent for #if, #else and #endif when not at file-level. +# 0: indent preprocessors using output_tab_size. +# >0: column at which all preprocessors will be indented. +pp_indent_if = 0 # number + +# Control whether to indent the code between #if, #else and #endif. +pp_if_indent_code = false # false/true + +# Whether to indent '#define' at the brace level (True) or from column 1 (false). +pp_define_at_level = false # false/true + +# Whether to ignore the '#define' body while formatting. +pp_ignore_define_body = false # false/true + +# Whether to indent case statements between #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the case statements directly inside of. +pp_indent_case = true # false/true + +# Whether to indent whole function definitions between #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the function definition is directly inside of. +pp_indent_func_def = true # false/true + +# Whether to indent extern C blocks between #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the extern block is directly inside of. +pp_indent_extern = true # false/true + +# Whether to indent braces directly inside #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the braces are directly inside of. +pp_indent_brace = true # false/true + +# +# Sort includes options +# + +# The regex for include category with priority 0. +include_category_0 = "" # string + +# The regex for include category with priority 1. +include_category_1 = "" # string + +# The regex for include category with priority 2. +include_category_2 = "" # string + +# +# Use or Do not Use options +# + +# True: indent_func_call_param will be used (default) +# False: indent_func_call_param will NOT be used. +use_indent_func_call_param = true # false/true + +# The value of the indentation for a continuation line is calculate differently if the line is: +# a declaration :your case with QString fileName ... +# an assignment :your case with pSettings = new QSettings( ... +# At the second case the option value might be used twice: +# at the assignment +# at the function call (if present) +# To prevent the double use of the option value, use this option with the value 'True'. +# True: indent_continue will be used only once +# False: indent_continue will be used every time (default). +use_indent_continue_only_once = false # false/true + +# SIGNAL/SLOT Qt macros have special formatting options. See options_for_QT.cpp for details. +# Default=True. +use_options_overriding_for_qt_macros = true # false/true + +# +# Warn levels - 1: error, 2: warning (default), 3: note +# + +# Warning is given if doing tab-to-\t replacement and we have found one in a C# verbatim string literal. +warn_level_tabs_found_in_verbatim_string_literals = 2 # unsigned number + +# Meaning of the settings: +# Ignore - do not do any changes +# Add - makes sure there is 1 or more space/brace/newline/etc +# Force - makes sure there is exactly 1 space/brace/newline/etc, +# behaves like Add in some contexts +# Remove - removes space/brace/newline/etc +# +# +# - Token(s) can be treated as specific type(s) with the 'set' option: +# `set tokenType tokenString [tokenString...]` +# +# Example: +# `set BOOL __AND__ __OR__` +# +# tokenTypes are defined in src/token_enum.h, use them without the +# 'CT_' prefix: 'CT_BOOL' -> 'BOOL' +# +# +# - Token(s) can be treated as type(s) with the 'type' option. +# `type tokenString [tokenString...]` +# +# Example: +# `type int c_uint_8 Rectangle` +# +# This can also be achieved with `set TYPE int c_uint_8 Rectangle` +# +# +# To embed whitespace in tokenStrings use the '\' escape character, or quote +# the tokenStrings. These quotes are supported: "'` +# +# +# - Support for the auto detection of languages through the file ending can be +# added using the 'file_ext' command. +# `file_ext langType langString [langString..]` +# +# Example: +# `file_ext CPP .ch .cxx .cpp.in` +# +# langTypes are defined in uncrusify_types.h in the lang_flag_e enum, use +# them without the 'LANG_' prefix: 'LANG_CPP' -> 'CPP' +# +# +# - Custom macro-based indentation can be set up using 'macro-open', +# 'macro-else' and 'macro-close'. +# `(macro-open | macro-else | macro-close) tokenString` +# +# Example: +# `macro-open BEGIN_TEMPLATE_MESSAGE_MAP` +# `macro-open BEGIN_MESSAGE_MAP` +# `macro-close END_MESSAGE_MAP` +# +## option(s) with 'not default' value: 204 +# \ No newline at end of file From bf031e9d8214c6d2c4c6ed5d8d4ef58269933952 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 18:00:52 -0300 Subject: [PATCH 45/71] :art: Format files --- src/rf24.c | 10 +++++----- src/rf24_debug.c | 43 ++++++++++++++++++++----------------------- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/src/rf24.c b/src/rf24.c index 27e2d2f..c85d0c7 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -253,7 +253,7 @@ uint8_t rf24_get_channel(rf24_dev_t* p_dev) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); if (dev_status != RF24_SUCCESS) { - return 0xFF; // Invalid value, meaning error + return 0xFF; // Invalid value, meaning error } return reg.rf_ch; @@ -546,7 +546,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { } if (reg_feature.en_ack_pay) { - rf24_delay(m_tx_delay); // 250 + rf24_delay(m_tx_delay); // 250 if (dev_status == RF24_SUCCESS) { dev_status = rf24_flush_tx(p_dev); @@ -663,9 +663,9 @@ rf24_status_t rf24_write(rf24_dev_t* p_dev, uint8_t* buff, uint8_t len, bool ena if (status_reg.max_rt) { dev_status = RF24_MAX_RETRANSMIT; - status_reg.max_rt = 1; // Datasheet says to write 1 to clear the interruption bit. + status_reg.max_rt = 1; // Datasheet says to write 1 to clear the interruption bit. rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_STATUS, status_reg.value); - rf24_flush_tx(p_dev); // Only going to be 1 packet in the FIFO at a time using this method, so just flush. + rf24_flush_tx(p_dev); // Only going to be 1 packet in the FIFO at a time using this method, so just flush. return dev_status; } @@ -713,7 +713,7 @@ nrf24l01_reg_status_t rf24_get_status(rf24_dev_t* p_dev) { rf24_platform_status_t platform_status = rf24_platform_get_status(&(p_dev->platform_setup), &status_reg); if (platform_status != RF24_PLATFORM_SUCCESS) { - status_reg.value = 0xFF; // Bit 7 only allows 0, so 0xFF represents an erro value. + status_reg.value = 0xFF; // Bit 7 only allows 0, so 0xFF represents an erro value. } return status_reg; diff --git a/src/rf24_debug.c b/src/rf24_debug.c index de45f9a..268ca0a 100644 --- a/src/rf24_debug.c +++ b/src/rf24_debug.c @@ -48,8 +48,7 @@ uint8_t rf24_debug_read_reg8(rf24_dev_t* p_dev, nrf24l01_registers_t reg); * Public Functions Bodies Definitions *****************************************/ -void rf24_debug_dump_registers(rf24_dev_t* p_dev) -{ +void rf24_debug_dump_registers(rf24_dev_t* p_dev) { PRINTF("================ REGISTER DUMP ================ \r\n"); /* NRF24L01_REG_CONFIG */ @@ -60,7 +59,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_config.value, reg_config.mask_rx_dr, reg_config.mask_tx_ds, reg_config.mask_max_rt, reg_config.en_crc, reg_config.crco, reg_config.pwr_up, reg_config.prim_rx); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_EN_AA */ @@ -70,7 +69,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_en_aa.value, reg_en_aa.enaa_p5, reg_en_aa.enaa_p4, reg_en_aa.enaa_p3, reg_en_aa.enaa_p2, reg_en_aa.enaa_p1, reg_en_aa.enaa_p0); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_EN_RXADDR */ @@ -80,7 +79,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_en_rxaddr.value, reg_en_rxaddr.erx_p5, reg_en_rxaddr.erx_p4, reg_en_rxaddr.erx_p3, reg_en_rxaddr.erx_p2, reg_en_rxaddr.erx_p1, reg_en_rxaddr.erx_p0); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_SETUP_AW */ @@ -88,7 +87,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[03] SETUP_AW = 0x%02X | AW=%d (%s)\r\n", reg_setup_aw.value, reg_setup_aw.aw, (reg_setup_aw.aw == 0b00) ? "Illegal" : (reg_setup_aw.aw == 0b01) ? "3 bytes" : (reg_setup_aw.aw == 0b10) ? "4 bytes" : (reg_setup_aw.aw == 0b11) ? "5 bytes" : "???????"); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_SETUP_RETR */ @@ -96,7 +95,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[04] SETUP_RETR = 0x%02X | ARD=%d (%d us) ARC=%d (retransmits)\r\n", reg_setup_retr.value, reg_setup_retr.ard, 250 * (1 + reg_setup_retr.ard), reg_setup_retr.arc); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RF_CH */ @@ -104,7 +103,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[05] RF_CH = 0x%02X | RF_CH=%d (%d MHz)\r\n", reg_rf_ch.value, reg_rf_ch.rf_ch, reg_rf_ch.rf_ch + 2400); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RF_SETUP */ @@ -115,7 +114,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_rf_setup.pll_lock, reg_rf_setup.rf_pwr, (reg_rf_setup.rf_pwr == 0b00) ? "-18" : (reg_rf_setup.rf_pwr == 0b01) ? "-12" : (reg_rf_setup.rf_pwr == 0b10) ? " -6" : (reg_rf_setup.rf_pwr == 0b11) ? " 0" : "???????"); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_STATUS */ @@ -124,7 +123,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_status.rx_dr, reg_status.tx_ds, reg_status.max_rt, reg_status.rx_p_no, reg_status.tx_full); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_OBSERVE_TX */ @@ -132,14 +131,14 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[08] OBSERVE_TX = 0x%02X | PLOS_CNT=%d ARC_CNT=%d\r\n", reg_observe_tx.value, reg_observe_tx.plos_cnt, reg_observe_tx.arc_cnt); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RPD */ nrf24l01_reg_rpd_t reg_rpd = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_RPD)}; PRINTF("[09] RPD = 0x%02X | RPD=%d\r\n", reg_rpd.value, reg_rpd.rpd); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RX_ADDR_P0 */ @@ -148,7 +147,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[0A] RX_ADDR_P0 = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_rx_addr_p0.value[0], reg_rx_addr_p0.value[1], reg_rx_addr_p0.value[2], reg_rx_addr_p0.value[3], reg_rx_addr_p0.value[4]); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RX_ADDR_P1 */ @@ -157,7 +156,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[0B] RX_ADDR_P1 = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_rx_addr_p1.value[0], reg_rx_addr_p1.value[1], reg_rx_addr_p1.value[2], reg_rx_addr_p1.value[3], reg_rx_addr_p1.value[4]); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RX_ADDR_P2 to NRF24L01_REG_RX_ADDR_P5 */ @@ -170,7 +169,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) nrf24l01_reg_1byte_addr_t reg_rx_addr_p5 = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_RX_ADDR_P5)}; PRINTF("[0F] RX_ADDR_P5 = 0x%02X\r\n", reg_rx_addr_p5.value); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_TX_ADDR */ @@ -179,7 +178,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("[10] TX_ADDR = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_tx_addr.value[0], reg_tx_addr.value[1], reg_tx_addr.value[2], reg_tx_addr.value[3], reg_tx_addr.value[4]); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RX_PW_Px */ @@ -196,7 +195,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) nrf24l01_reg_rx_pw_p5_t reg_rx_pw_p5 = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_RX_PW_P5)}; PRINTF("[16] RX_PW_P5 = 0x%02X\r\n", reg_rx_pw_p5.value); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_FIFO_STATUS */ @@ -205,7 +204,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_fifo_status.tx_reuse, reg_fifo_status.tx_full, reg_fifo_status.tx_empty, reg_fifo_status.rx_full, reg_fifo_status.rx_empty); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_DYNPD */ @@ -214,7 +213,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) reg_dynpd.dpl_p5, reg_dynpd.dpl_p4, reg_dynpd.dpl_p3, reg_dynpd.dpl_p2, reg_dynpd.dpl_p1, reg_dynpd.dpl_p0); - rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. + rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_FEATURE */ @@ -225,8 +224,7 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) PRINTF("\r\n"); } -void rf24_debug_print_status(rf24_dev_t* p_dev) -{ +void rf24_debug_print_status(rf24_dev_t* p_dev) { nrf24l01_reg_status_t reg_status = rf24_get_status(p_dev); PRINTF("[07] STATUS = 0x%02X | RX_DR=%d TX_DS=%d MAX_RT=%d RX_P_NO=%d TX_FULL=%d\r\n", reg_status.value, @@ -238,8 +236,7 @@ void rf24_debug_print_status(rf24_dev_t* p_dev) * Private Functions Bodies Definitions *****************************************/ -uint8_t rf24_debug_read_reg8(rf24_dev_t* p_dev, nrf24l01_registers_t reg) -{ +uint8_t rf24_debug_read_reg8(rf24_dev_t* p_dev, nrf24l01_registers_t reg) { uint8_t value; rf24_platform_read_reg8(&(p_dev->platform_setup), reg, &value); return value; From f306729af38a48468e1f0bbef25669c007d2eaff Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 18:11:47 -0300 Subject: [PATCH 46/71] :art: Format rf24_debug manually --- src/rf24_debug.c | 112 +++++++++++++++++++++++++++++------------------ 1 file changed, 70 insertions(+), 42 deletions(-) diff --git a/src/rf24_debug.c b/src/rf24_debug.c index 268ca0a..d7087af 100644 --- a/src/rf24_debug.c +++ b/src/rf24_debug.c @@ -55,9 +55,10 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { nrf24l01_reg_config_t reg_config = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_CONFIG)}; PRINTF( - "[00] CONFIG = 0x%02X | MASK_RX_DR=%d MASK_TX_DS=%d MASK_MAX_RT=%d EN_CRC=%d CRCO=%d PWR_UP=%d PRIM_RX=%d\r\n", - reg_config.value, reg_config.mask_rx_dr, reg_config.mask_tx_ds, reg_config.mask_max_rt, - reg_config.en_crc, reg_config.crco, reg_config.pwr_up, reg_config.prim_rx); + "[00] CONFIG = 0x%02X | MASK_RX_DR=%d MASK_TX_DS=%d MASK_MAX_RT=%d EN_CRC=%d CRCO=%d PWR_UP=%d PRIM_RX=%d\r\n", + reg_config.value, reg_config.mask_rx_dr, reg_config.mask_tx_ds, reg_config.mask_max_rt, + reg_config.en_crc, reg_config.crco, reg_config.pwr_up, reg_config.prim_rx + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. @@ -65,9 +66,10 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { nrf24l01_reg_en_aa_t reg_en_aa = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_EN_AA)}; PRINTF( - "[01] EN_AA = 0x%02X | ENAA_P5=%d ENAA_P4=%d ENAA_P3=%d ENAA_P2=%d ENAA_P1=%d ENAA_P0=%d\r\n", - reg_en_aa.value, reg_en_aa.enaa_p5, reg_en_aa.enaa_p4, reg_en_aa.enaa_p3, - reg_en_aa.enaa_p2, reg_en_aa.enaa_p1, reg_en_aa.enaa_p0); + "[01] EN_AA = 0x%02X | ENAA_P5=%d ENAA_P4=%d ENAA_P3=%d ENAA_P2=%d ENAA_P1=%d ENAA_P0=%d\r\n", + reg_en_aa.value, reg_en_aa.enaa_p5, reg_en_aa.enaa_p4, reg_en_aa.enaa_p3, + reg_en_aa.enaa_p2, reg_en_aa.enaa_p1, reg_en_aa.enaa_p0 + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. @@ -75,61 +77,74 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { nrf24l01_reg_en_rxaddr_t reg_en_rxaddr = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_EN_RXADDR)}; PRINTF( - "[02] EN_RXADDR = 0x%02X | ERX_P5=%d ERX_P4=%d ERX_P3=%d ERX_P2=%d ERX_P1=%d ERX_P0=%d\r\n", - reg_en_rxaddr.value, reg_en_rxaddr.erx_p5, reg_en_rxaddr.erx_p4, reg_en_rxaddr.erx_p3, - reg_en_rxaddr.erx_p2, reg_en_rxaddr.erx_p1, reg_en_rxaddr.erx_p0); + "[02] EN_RXADDR = 0x%02X | ERX_P5=%d ERX_P4=%d ERX_P3=%d ERX_P2=%d ERX_P1=%d ERX_P0=%d\r\n", + reg_en_rxaddr.value, reg_en_rxaddr.erx_p5, reg_en_rxaddr.erx_p4, reg_en_rxaddr.erx_p3, + reg_en_rxaddr.erx_p2, reg_en_rxaddr.erx_p1, reg_en_rxaddr.erx_p0 + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_SETUP_AW */ nrf24l01_reg_setup_aw_t reg_setup_aw = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_SETUP_AW)}; - PRINTF("[03] SETUP_AW = 0x%02X | AW=%d (%s)\r\n", reg_setup_aw.value, reg_setup_aw.aw, - (reg_setup_aw.aw == 0b00) ? "Illegal" : (reg_setup_aw.aw == 0b01) ? "3 bytes" : (reg_setup_aw.aw == 0b10) ? "4 bytes" : (reg_setup_aw.aw == 0b11) ? "5 bytes" : "???????"); + PRINTF( + "[03] SETUP_AW = 0x%02X | AW=%d (%s)\r\n", reg_setup_aw.value, reg_setup_aw.aw, + (reg_setup_aw.aw == 0b00) ? "Illegal" : (reg_setup_aw.aw == 0b01) ? "3 bytes" : (reg_setup_aw.aw == 0b10) ? "4 bytes" : (reg_setup_aw.aw == 0b11) ? "5 bytes" : "???????" + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_SETUP_RETR */ nrf24l01_reg_setup_retr_t reg_setup_retr = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_SETUP_RETR)}; - PRINTF("[04] SETUP_RETR = 0x%02X | ARD=%d (%d us) ARC=%d (retransmits)\r\n", reg_setup_retr.value, - reg_setup_retr.ard, 250 * (1 + reg_setup_retr.ard), reg_setup_retr.arc); + PRINTF( + "[04] SETUP_RETR = 0x%02X | ARD=%d (%d us) ARC=%d (retransmits)\r\n", reg_setup_retr.value, + reg_setup_retr.ard, 250 * (1 + reg_setup_retr.ard), reg_setup_retr.arc + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RF_CH */ nrf24l01_reg_rf_ch_t reg_rf_ch = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_RF_CH)}; - PRINTF("[05] RF_CH = 0x%02X | RF_CH=%d (%d MHz)\r\n", reg_rf_ch.value, - reg_rf_ch.rf_ch, reg_rf_ch.rf_ch + 2400); + PRINTF( + "[05] RF_CH = 0x%02X | RF_CH=%d (%d MHz)\r\n", reg_rf_ch.value, + reg_rf_ch.rf_ch, reg_rf_ch.rf_ch + 2400 + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_RF_SETUP */ nrf24l01_reg_rf_setup_t reg_rf_setup = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_RF_SETUP)}; - PRINTF("[06] RF_SETUP = 0x%02X | CONT_WAVE=%d RF_DR=%d%d (%s) PLL_LOCK=%d RF_PWR=%d (%sdBm)\r\n", - reg_rf_setup.value, reg_rf_setup.cont_wave, reg_rf_setup.rf_dr_low, reg_rf_setup.rf_dr_high, - (reg_rf_setup.rf_dr_low == 0 && reg_rf_setup.rf_dr_high == 0) ? "1Mbps" : (reg_rf_setup.rf_dr_low == 0 && reg_rf_setup.rf_dr_high == 1) ? "2Mbps" : (reg_rf_setup.rf_dr_low == 1 && reg_rf_setup.rf_dr_high == 0) ? "250kbps" : "?????", - reg_rf_setup.pll_lock, reg_rf_setup.rf_pwr, - (reg_rf_setup.rf_pwr == 0b00) ? "-18" : (reg_rf_setup.rf_pwr == 0b01) ? "-12" : (reg_rf_setup.rf_pwr == 0b10) ? " -6" : (reg_rf_setup.rf_pwr == 0b11) ? " 0" : "???????"); + PRINTF( + "[06] RF_SETUP = 0x%02X | CONT_WAVE=%d RF_DR=%d%d (%s) PLL_LOCK=%d RF_PWR=%d (%sdBm)\r\n", + reg_rf_setup.value, reg_rf_setup.cont_wave, reg_rf_setup.rf_dr_low, reg_rf_setup.rf_dr_high, + (reg_rf_setup.rf_dr_low == 0 && reg_rf_setup.rf_dr_high == 0) ? "1Mbps" : (reg_rf_setup.rf_dr_low == 0 && reg_rf_setup.rf_dr_high == 1) ? "2Mbps" : (reg_rf_setup.rf_dr_low == 1 && reg_rf_setup.rf_dr_high == 0) ? "250kbps" : "?????", + reg_rf_setup.pll_lock, reg_rf_setup.rf_pwr, + (reg_rf_setup.rf_pwr == 0b00) ? "-18" : (reg_rf_setup.rf_pwr == 0b01) ? "-12" : (reg_rf_setup.rf_pwr == 0b10) ? " -6" : (reg_rf_setup.rf_pwr == 0b11) ? " 0" : "???????" + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_STATUS */ nrf24l01_reg_status_t reg_status = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_STATUS)}; - PRINTF("[07] STATUS = 0x%02X | RX_DR=%d TX_DS=%d MAX_RT=%d RX_P_NO=%d TX_FULL=%d\r\n", reg_status.value, - reg_status.rx_dr, reg_status.tx_ds, reg_status.max_rt, reg_status.rx_p_no, - reg_status.tx_full); + PRINTF( + "[07] STATUS = 0x%02X | RX_DR=%d TX_DS=%d MAX_RT=%d RX_P_NO=%d TX_FULL=%d\r\n", + reg_status.value, reg_status.rx_dr, reg_status.tx_ds, + reg_status.max_rt, reg_status.rx_p_no, reg_status.tx_full + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_OBSERVE_TX */ nrf24l01_reg_observe_tx_t reg_observe_tx = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_OBSERVE_TX)}; - PRINTF("[08] OBSERVE_TX = 0x%02X | PLOS_CNT=%d ARC_CNT=%d\r\n", reg_observe_tx.value, - reg_observe_tx.plos_cnt, reg_observe_tx.arc_cnt); + PRINTF( + "[08] OBSERVE_TX = 0x%02X | PLOS_CNT=%d ARC_CNT=%d\r\n", reg_observe_tx.value, + reg_observe_tx.plos_cnt, reg_observe_tx.arc_cnt + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. @@ -144,8 +159,10 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { nrf24l01_reg_5byte_addr_t reg_rx_addr_p0; rf24_platform_read_register(&(p_dev->platform_setup), NRF24L01_REG_RX_ADDR_P0, reg_rx_addr_p0.value, p_dev->addr_width); - PRINTF("[0A] RX_ADDR_P0 = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_rx_addr_p0.value[0], reg_rx_addr_p0.value[1], - reg_rx_addr_p0.value[2], reg_rx_addr_p0.value[3], reg_rx_addr_p0.value[4]); + PRINTF( + "[0A] RX_ADDR_P0 = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_rx_addr_p0.value[0], reg_rx_addr_p0.value[1], + reg_rx_addr_p0.value[2], reg_rx_addr_p0.value[3], reg_rx_addr_p0.value[4] + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. @@ -153,8 +170,10 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { nrf24l01_reg_5byte_addr_t reg_rx_addr_p1; rf24_platform_read_register(&(p_dev->platform_setup), NRF24L01_REG_RX_ADDR_P1, reg_rx_addr_p1.value, p_dev->addr_width); - PRINTF("[0B] RX_ADDR_P1 = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_rx_addr_p1.value[0], reg_rx_addr_p1.value[1], - reg_rx_addr_p1.value[2], reg_rx_addr_p1.value[3], reg_rx_addr_p1.value[4]); + PRINTF( + "[0B] RX_ADDR_P1 = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_rx_addr_p1.value[0], + reg_rx_addr_p1.value[1], reg_rx_addr_p1.value[2], reg_rx_addr_p1.value[3], reg_rx_addr_p1.value[4] + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. @@ -175,8 +194,10 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { nrf24l01_reg_5byte_addr_t reg_tx_addr; rf24_platform_read_register(&(p_dev->platform_setup), NRF24L01_REG_TX_ADDR, reg_tx_addr.value, p_dev->addr_width); - PRINTF("[10] TX_ADDR = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_tx_addr.value[0], reg_tx_addr.value[1], - reg_tx_addr.value[2], reg_tx_addr.value[3], reg_tx_addr.value[4]); + PRINTF( + "[10] TX_ADDR = [0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X]\r\n", reg_tx_addr.value[0], + reg_tx_addr.value[1], reg_tx_addr.value[2], reg_tx_addr.value[3], reg_tx_addr.value[4] + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. @@ -200,26 +221,31 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { /* NRF24L01_REG_FIFO_STATUS */ nrf24l01_reg_fifo_status_t reg_fifo_status = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_FIFO_STATUS)}; - PRINTF("[17] FIFO_STATUS = 0x%02X | TX_REUSE=%d TX_FULL=%d TX_EMPTY=%d RX_FULL=%d RX_EMPTY=%d\r\n", reg_fifo_status.value, - reg_fifo_status.tx_reuse, reg_fifo_status.tx_full, reg_fifo_status.tx_empty, reg_fifo_status.rx_full, - reg_fifo_status.rx_empty); + PRINTF( + "[17] FIFO_STATUS = 0x%02X | TX_REUSE=%d TX_FULL=%d TX_EMPTY=%d RX_FULL=%d RX_EMPTY=%d\r\n", reg_fifo_status.value, + reg_fifo_status.tx_reuse, reg_fifo_status.tx_full, reg_fifo_status.tx_empty, reg_fifo_status.rx_full, reg_fifo_status.rx_empty + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_DYNPD */ nrf24l01_reg_dynpd_t reg_dynpd = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_DYNPD)}; - PRINTF("[1C] DYNPD = 0x%02X | DPL_P5=%d DPL_P4=%d DPL_P3=%d DPL_P2=%d DPL_P1=%d DPL_P0=%d\r\n", reg_dynpd.value, - reg_dynpd.dpl_p5, reg_dynpd.dpl_p4, reg_dynpd.dpl_p3, reg_dynpd.dpl_p2, - reg_dynpd.dpl_p1, reg_dynpd.dpl_p0); + PRINTF( + "[1C] DYNPD = 0x%02X | DPL_P5=%d DPL_P4=%d DPL_P3=%d DPL_P2=%d DPL_P1=%d DPL_P0=%d\r\n", reg_dynpd.value, + reg_dynpd.dpl_p5, reg_dynpd.dpl_p4, reg_dynpd.dpl_p3, reg_dynpd.dpl_p2, + reg_dynpd.dpl_p1, reg_dynpd.dpl_p0 + ); rf24_delay(RF24_DEBUG_DELAY_MS); // Delay is needed so RTT can print the registers values. /* NRF24L01_REG_FEATURE */ nrf24l01_reg_feature_t reg_feature = {rf24_debug_read_reg8(p_dev, NRF24L01_REG_FEATURE)}; - PRINTF("[1D] FEATURE = 0x%02X | EN_DPL=%d EN_ACK_PAY=%d EN_DYN_ACK=%d\r\n", reg_feature.value, reg_feature.en_dpl, - reg_feature.en_ack_pay, reg_feature.en_dyn_ack); + PRINTF( + "[1D] FEATURE = 0x%02X | EN_DPL=%d EN_ACK_PAY=%d EN_DYN_ACK=%d\r\n", reg_feature.value, + reg_feature.en_dpl, reg_feature.en_ack_pay, reg_feature.en_dyn_ack + ); PRINTF("\r\n"); } @@ -227,9 +253,11 @@ void rf24_debug_dump_registers(rf24_dev_t* p_dev) { void rf24_debug_print_status(rf24_dev_t* p_dev) { nrf24l01_reg_status_t reg_status = rf24_get_status(p_dev); - PRINTF("[07] STATUS = 0x%02X | RX_DR=%d TX_DS=%d MAX_RT=%d RX_P_NO=%d TX_FULL=%d\r\n", reg_status.value, - reg_status.rx_dr, reg_status.tx_ds, reg_status.max_rt, reg_status.rx_p_no, - reg_status.tx_full); + PRINTF( + "[07] STATUS = 0x%02X | RX_DR=%d TX_DS=%d MAX_RT=%d RX_P_NO=%d TX_FULL=%d\r\n", + reg_status.value, reg_status.rx_dr, reg_status.tx_ds, + reg_status.max_rt, reg_status.rx_p_no, reg_status.tx_full + ); } /***************************************** From d2cf06e3cb09da58398712b86e8c0667944d181c Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 18:34:06 -0300 Subject: [PATCH 47/71] :see_no_evil: Add newline to .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 40e6009..1816c7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -docs/Doxygen/ \ No newline at end of file +docs/Doxygen/ From ab62cef0ae6b4d120a5f49013719c1ab3a07eee5 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 19:14:46 -0300 Subject: [PATCH 48/71] :memo: Update comments --- src/rf24.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rf24.c b/src/rf24.c index c85d0c7..3af3340 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -175,7 +175,7 @@ rf24_status_t rf24_init(rf24_dev_t* p_dev) { } if (dev_status == RF24_SUCCESS) { - // If setup is 0 or ff then there was no response from module + // If setup is 0x00 or 0xFF then there was no response from module if ((rf_setup_reg.value == 0) || (rf_setup_reg.value == 0xFF)) { dev_status = RF24_UNKNOWN_ERRO; } From a90d6e401414e58df223b727dceee6d1623a0c47 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 19:15:31 -0300 Subject: [PATCH 49/71] :pencil: Fix spelling --- inc/rf24.h | 2 +- src/rf24.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/rf24.h b/inc/rf24.h index f1816ab..cedb478 100644 --- a/inc/rf24.h +++ b/inc/rf24.h @@ -41,7 +41,7 @@ typedef enum rf24_status { RF24_BUFFER_TOO_SMALL = 5, RF24_INTERRUPT_NOT_CLEARED = 6, RF24_INVALID_PARAMETERS = 7, - RF24_UNKNOWN_ERRO = 8, + RF24_UNKNOWN_ERROR = 8, } rf24_status_t; /** diff --git a/src/rf24.c b/src/rf24.c index 3af3340..7a1b44e 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -177,7 +177,7 @@ rf24_status_t rf24_init(rf24_dev_t* p_dev) { if (dev_status == RF24_SUCCESS) { // If setup is 0x00 or 0xFF then there was no response from module if ((rf_setup_reg.value == 0) || (rf_setup_reg.value == 0xFF)) { - dev_status = RF24_UNKNOWN_ERRO; + dev_status = RF24_UNKNOWN_ERROR; } } @@ -319,7 +319,7 @@ rf24_status_t rf24_set_datarate(rf24_dev_t* p_dev, rf24_datarate_t datarate) { if (dev_status == RF24_SUCCESS) { if (temp_reg != reg_rf_setup.value) { - dev_status = RF24_UNKNOWN_ERRO; + dev_status = RF24_UNKNOWN_ERROR; } } } @@ -352,7 +352,7 @@ rf24_status_t rf24_set_output_power(rf24_dev_t* p_dev, rf24_output_power_t outpu if (dev_status == RF24_SUCCESS) { if (temp_reg != reg_rf_setup.value) { - dev_status = RF24_UNKNOWN_ERRO; + dev_status = RF24_UNKNOWN_ERROR; } } } From 463b5cbcd1725f3d05be2b45cf2fc45dcc951396 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 19:15:56 -0300 Subject: [PATCH 50/71] :pencil: Fix README section title --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 462f13b..3b6a72f 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ sudo apt install uncrustify On Windows, download the .zip from [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Add the location of the executable in the `PATH` environment variable. -## 📦 Adding a submodule +## 📦 Git Submodules As stated, this library functions as a submodule. In this way, it is easier to choose the version of the library that will be used in the project, also allowing its development in parallel. From 92ae46c587f092c4481f2d6fc627a44fcb5cdec5 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 19:24:29 -0300 Subject: [PATCH 51/71] :recycle: Change bit shift macro --- src/rf24.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/rf24.c b/src/rf24.c index 7a1b44e..c26cdc7 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -59,7 +59,10 @@ * Private Macros *****************************************/ -#define BIT_SHIFT_LEFT(bits) (1 << (bits)) +/** + * @brief Get bit value + */ +#define _BV(num) (1 << (num)) /***************************************** * Private Variables @@ -439,7 +442,7 @@ rf24_status_t rf24_open_reading_pipe(rf24_dev_t* p_dev, uint8_t pipe_number, uin } if (dev_status == RF24_SUCCESS) { - reg_en_rx_addr.value |= BIT_SHIFT_LEFT(m_child_pipe_enable[pipe_number]); + reg_en_rx_addr.value |= _BV(m_child_pipe_enable[pipe_number]); platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, reg_en_rx_addr.value); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); @@ -461,7 +464,7 @@ rf24_status_t rf24_close_reading_pipe(rf24_dev_t* p_dev, uint8_t pipe_number) { } if (dev_status == RF24_SUCCESS) { - reg_en_rx_addr.value &= (~BIT_SHIFT_LEFT(m_child_pipe_enable[pipe_number])); + reg_en_rx_addr.value &= (~_BV(m_child_pipe_enable[pipe_number])); platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, reg_en_rx_addr.value); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); @@ -481,8 +484,8 @@ rf24_status_t rf24_start_listening(rf24_dev_t* p_dev) { platform_status = rf24_platform_read_reg8(&(p_dev->platform_setup), NRF24L01_REG_CONFIG, &(reg_config.value)); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); - reg_config.value |= BIT_SHIFT_LEFT(PRIM_RX); - reg_status.value = (BIT_SHIFT_LEFT(RX_DR) | BIT_SHIFT_LEFT(TX_DS) | BIT_SHIFT_LEFT(MAX_RT)); + reg_config.value |= _BV(PRIM_RX); + reg_status.value = (_BV(RX_DR) | _BV(TX_DS) | _BV(MAX_RT)); if (dev_status == RF24_SUCCESS) { platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_CONFIG, reg_config.value); @@ -559,7 +562,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); if (dev_status == RF24_SUCCESS) { - reg_config.value &= (~BIT_SHIFT_LEFT(PRIM_RX)); + reg_config.value &= (~_BV(PRIM_RX)); platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_CONFIG, reg_config.value); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); } @@ -570,7 +573,7 @@ rf24_status_t rf24_stop_listening(rf24_dev_t* p_dev) { platform_status = rf24_platform_read_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, &(reg_en_rx_addr.value)); dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); - reg_en_rx_addr.value |= BIT_SHIFT_LEFT(m_child_pipe_enable[0]); + reg_en_rx_addr.value |= _BV(m_child_pipe_enable[0]); if (dev_status == RF24_SUCCESS) { platform_status = rf24_platform_write_reg8(&(p_dev->platform_setup), NRF24L01_REG_EN_RXADDR, From 84105fb2f8f45920d74eab8a4fbb3f0f869b60ee Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 19:35:19 -0300 Subject: [PATCH 52/71] :recycle: Remove magic numbers --- inc/rf24.h | 2 ++ src/rf24.c | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/inc/rf24.h b/inc/rf24.h index cedb478..a597583 100644 --- a/inc/rf24.h +++ b/inc/rf24.h @@ -151,6 +151,8 @@ rf24_status_t rf24_set_channel(rf24_dev_t* p_dev, uint8_t ch); * @param p_dev Pointer to rf24 device. * * @return Channel value. + * @retval 0xFF Returns 0xFF when got an error, because + * channel value can't be bigger than 125. */ uint8_t rf24_get_channel(rf24_dev_t* p_dev); diff --git a/src/rf24.c b/src/rf24.c index c26cdc7..cf22b44 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -55,6 +55,20 @@ */ #define MAX_NUM_OF_PIPES 6 +/** + * @brief Error value for status register. + * + * @note Bit 7 only allows 0, so 0xFF represents an erro value. + */ +#define STATUS_REG_ERROR_VALUE 0xFF + +/** + * @brief Error value for channel. + * + * @note The max channel value is 125, so 0xFF represents an erro value. + */ +#define CHANNEL_ERROR_VALUE 0xFF + /***************************************** * Private Macros *****************************************/ @@ -256,7 +270,7 @@ uint8_t rf24_get_channel(rf24_dev_t* p_dev) { dev_status = (platform_status == RF24_PLATFORM_SUCCESS) ? (RF24_SUCCESS) : (RF24_ERROR_CONTROL_INTERFACE); if (dev_status != RF24_SUCCESS) { - return 0xFF; // Invalid value, meaning error + return CHANNEL_ERROR_VALUE; } return reg.rf_ch; @@ -716,7 +730,7 @@ nrf24l01_reg_status_t rf24_get_status(rf24_dev_t* p_dev) { rf24_platform_status_t platform_status = rf24_platform_get_status(&(p_dev->platform_setup), &status_reg); if (platform_status != RF24_PLATFORM_SUCCESS) { - status_reg.value = 0xFF; // Bit 7 only allows 0, so 0xFF represents an erro value. + status_reg.value = STATUS_REG_ERROR_VALUE; } return status_reg; From df278dc75571e2f9e072dee017a5265dbfee2d36 Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Sat, 31 Oct 2020 19:39:42 -0300 Subject: [PATCH 53/71] Update CONTRIBUTING.md Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 50d5b5e..d252ffd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](CONTRIBUTING.pt-br First of all, thanks for your interest! We really appreciate the participation of the community! ✨ -Here we describe a set of guidelines when contributing to the VSS simulation. These are not strict rules, so use your best judgment, and in case you have questions, contact us on comp@thunderatz.org. +Here we describe a set of guidelines when contributing to STM32RF24. These are not strict rules, so use your best judgment, and in case you have questions, contact us on comp@thunderatz.org. Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. From bda5a82a1e0ba7d694a3c43fc4bcde308f8aac8f Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Sat, 31 Oct 2020 19:40:02 -0300 Subject: [PATCH 54/71] Update CONTRIBUTING.md Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d252ffd..c4fa0be 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,7 +56,7 @@ A few recomendations: ## Styleguide 💄 -### Formatação do código +### Code formatting The code is formatted following specific rules, for more information on how to ensure that your code is formatted correctly, see the [🎨 Formatting](./README.md#-formatting) section on the README. From 49760dd7db69f1cb4d4bf79eb7ad711818d10918 Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Sat, 31 Oct 2020 19:40:56 -0300 Subject: [PATCH 55/71] Update CONTRIBUTING.md Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- CONTRIBUTING.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c4fa0be..951b3ec 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,9 +94,7 @@ For more naming tips, see the article ["How To Create Meaningful Names In Code"] #### Variable types -Make coherent choices for your variable types and your functions return types, besides its parameters, for examples, do not use `float` if your variable is a unit counter. - -Make a consistent choice for the types of variables and types of return of functions, in addition to their parameters, for example, do not use `float` if your variable will be a unit counter. +Make coherent choices for your variable types and your functions return and parameters types. For examples, do not use `float` if your variable is a unit counter. Além disso, para variáveis inteiras faça distinção entre `signed` e `unsigned` e especifique seu tamanho em bits, isso garante mais controle sobre os valores que cada variável pode ter, como também otimiza a ocupação da memória. Para isso utilize a biblioteca `stdint.h`, podendo assim, por exemplo, se utilizar os tipos `uint8_t` para inteiros de 8 bits sem sinal e `int16_t` para inteiros de 16 bits com sinal. From 79f13caf98df74c4b0054c7a78910ecee148a2bf Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Sat, 31 Oct 2020 19:42:49 -0300 Subject: [PATCH 56/71] Update CONTRIBUTING.md Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 951b3ec..2a4d036 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -102,7 +102,7 @@ Besides that, for integer variables, distinguish between `signed` and `unsigned` #### Magic numbers/Constants -Avoid [magic numbers](https://en.wikipedia.org/wiki/Magic_number_(programming)) in your code, in addition to obscuring the understanding of it, they also make maintenance difficult. To solve this, use constants defined with `#define` at the beginning of your code. +Avoid [magic numbers](https://en.wikipedia.org/wiki/Magic_number_(programming)) in your code. In addition to decreasing readability, they also make maintenance difficult. To solve this, use constants defined with `#define` at the beginning of your code. ### Git commit messages From 834bf3088bd9f9858a8d388e6e41c96d1f1a768c Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Sat, 31 Oct 2020 19:43:23 -0300 Subject: [PATCH 57/71] Update README.md Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b6a72f..35693c8 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](./README.pt-br.md) ## 🎉 Intro -This repository contains a library to handle Nordic Semiconductor's radio frequency module nRF24L01, whose datasheet can be viewed [here](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), when using the microcontrollers of the [STM32] family [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html). +This repository contains a library to handle Nordic Semiconductor's radio frequency module nRF24L01, whose datasheet can be viewed [here](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf), when using the microcontrollers of the [STM32](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html) family. This library was made to be used as a submodule in the [STM32ProjectTemplate](https://github.com/ThundeRatz/STM32ProjectTemplate). From 541fcba612b5a930239431747e64759acb0c4e11 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 19:49:08 -0300 Subject: [PATCH 58/71] :ok_hand: Update README and Contributing Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- CONTRIBUTING.md | 4 +--- CONTRIBUTING.pt-br.md | 4 ++-- README.md | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2a4d036..c6c8ee5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,7 +69,7 @@ There are some guidelines for organizing C code that should be followed. ― Harold Abelson, Structure and Interpretation of Computer Programs -#### Scopes +#### Variables and functions scopes Always reduce the scopes of the to the minimum possible, avoiding global, external and static variables, giving preference to local variables. The same is ture for functions, do not create public functions if they are only to be used within a file, leave them private. @@ -96,8 +96,6 @@ For more naming tips, see the article ["How To Create Meaningful Names In Code"] Make coherent choices for your variable types and your functions return and parameters types. For examples, do not use `float` if your variable is a unit counter. -Além disso, para variáveis inteiras faça distinção entre `signed` e `unsigned` e especifique seu tamanho em bits, isso garante mais controle sobre os valores que cada variável pode ter, como também otimiza a ocupação da memória. Para isso utilize a biblioteca `stdint.h`, podendo assim, por exemplo, se utilizar os tipos `uint8_t` para inteiros de 8 bits sem sinal e `int16_t` para inteiros de 16 bits com sinal. - Besides that, for integer variables, distinguish between `signed` and `unsigned` and specify their size in bits, this ensures more control over the values that each variable can have, as well as optimizes the memory occupation. To do this, use the `stdint.h` library, than, for example, you can use the types `uint8_t` for unsigned 8-bit integers and `int16_t` for signed 16-bit integers. #### Magic numbers/Constants diff --git a/CONTRIBUTING.pt-br.md b/CONTRIBUTING.pt-br.md index d0d3d4c..493ca01 100644 --- a/CONTRIBUTING.pt-br.md +++ b/CONTRIBUTING.pt-br.md @@ -67,7 +67,7 @@ Existem algumas diretrizes de organização de código em C que devem seguidas. ― Harold Abelson, Structure and Interpretation of Computer Programs -#### Escopos +#### Escopos de variáveis e funções Reduza sempre os escopos das variáveis ao menor possível, evitando variáveis globais, externas e estáticas, dando preferência para variáveis locais. O mesmo é válido para funções, não crie funções públicas se elas so forem ser usadas dentro de um arquivo, deixe elas privadas. @@ -98,7 +98,7 @@ Além disso, para variáveis inteiras faça distinção entre `signed` e `unsign #### Números mágicos/Constantes -Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código, além de eles obscurecerem o entendimento do mesmo, também dificultam a manutenção. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. +Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código. Além de eles dificultarem a leitura do mesmo, também dificultam a manutenção. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. ### Menssagens de commit diff --git a/README.md b/README.md index 35693c8..b6ac43f 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ To configure your hardware, you must first analyze the pinout of the nRF24L01 mo ![nRF24L01 Module's Pinout](./assets/img/nrf24l01_pinout.png) -The module uses SPI (Serial Protocol Interface) to communicate with the microcontroller (to learn more about SPI, I recommend this article [here](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) from Sparkfun), so four pins are required for this communication, SCK, MISO, MOSI and CSN. The CSN is a GPIO pin, while the others are dedicated pins. +The module uses SPI (Serial Protocol Interface) to communicate with the microcontroller (to learn more about SPI, we recommend this article [here](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all) from Sparkfun), so four pins are required for this communication, SCK, MISO, MOSI and CSN. The CSN is a GPIO pin, while the others are dedicated pins. In addition, a GPIO pin connected to the CE (Chip Enable) is needed, which is used to control the module, enabling the transition between the states of the module's finite state machine. @@ -391,7 +391,7 @@ if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { ### 🐛 Debugging -To debug your code it is possible to use the functions of the file `rf24_debug.c/.h`, but for this it is also necessary to define a `printf` function. For ease of use, I recommend adding the [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) to the project. After adding it, having called the debugging functions in your code, to see what is being "printed" by the functions, run in the terminal, being at the root of your project: +To debug your code it is possible to use the functions of the file `rf24_debug.c/.h`, but for this it is also necessary to define a `printf` function. For ease of use, we recommend adding the [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) to the project. After adding it, having called the debugging functions in your code, to see what is being "printed" by the functions, run in the terminal, being at the root of your project: ```C make rtt From e69a643b2dcf64e62911b38e6aa00aae45afa9d3 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 20:19:45 -0300 Subject: [PATCH 59/71] :busts_in_silhouette: Update @d-nery as a contributor --- .all-contributorsrc | 3 ++- README.md | 2 +- README.pt-br.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 67cab97..e9dccd0 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -41,7 +41,8 @@ "avatar_url": "https://avatars2.githubusercontent.com/u/12468184?v=4", "profile": "https://github.com/d-nery", "contributions": [ - "code" + "code", + "review" ] }, { diff --git a/README.md b/README.md index b6ac43f..21c4edf 100644 --- a/README.md +++ b/README.md @@ -412,7 +412,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d

Lucas Haug

💻 📖 ⚠️ 🌍
Lucas Schneider

💻 📖 ⚠️ 🌍 -
Daniel Nery

💻 +
Daniel Nery

💻 👀
Felipe Gomes de Melo

🤔
Bernardo Coutinho

⚠️ diff --git a/README.pt-br.md b/README.pt-br.md index 2e8c321..efbc324 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -413,7 +413,7 @@ Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.
Lucas Haug

💻 📖 ⚠️ 🌍
Lucas Schneider

💻 📖 ⚠️ 🌍 -
Daniel Nery

💻 +
Daniel Nery

💻 👀
Felipe Gomes de Melo

🤔
Bernardo Coutinho

⚠️ From a765ce347ff7c5393ee11bdb32355fee0cc3e766 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 20:21:11 -0300 Subject: [PATCH 60/71] :busts_in_silhouette: Update @lucastrschneider as a contributor --- .all-contributorsrc | 3 ++- README.md | 2 +- README.pt-br.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index e9dccd0..0162541 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -32,7 +32,8 @@ "code", "doc", "test", - "translation" + "translation", + "review" ] }, { diff --git a/README.md b/README.md index 21c4edf..0ab076f 100644 --- a/README.md +++ b/README.md @@ -411,7 +411,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - + diff --git a/README.pt-br.md b/README.pt-br.md index efbc324..f40af20 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -412,7 +412,7 @@ Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍 👀

Daniel Nery

💻 👀

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️
- + From 9dea2b330148d1fc51f104f612ac2672ce2d454c Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 20:32:36 -0300 Subject: [PATCH 61/71] :ok_hand: Fix spelling and code consistency Co-authored-by: d-nery --- src/rf24.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rf24.c b/src/rf24.c index cf22b44..04ff704 100644 --- a/src/rf24.c +++ b/src/rf24.c @@ -58,14 +58,14 @@ /** * @brief Error value for status register. * - * @note Bit 7 only allows 0, so 0xFF represents an erro value. + * @note Bit 7 only allows 0, so 0xFF represents an error value. */ #define STATUS_REG_ERROR_VALUE 0xFF /** * @brief Error value for channel. * - * @note The max channel value is 125, so 0xFF represents an erro value. + * @note The max channel value is 125, so 0xFF represents an error value. */ #define CHANNEL_ERROR_VALUE 0xFF @@ -193,7 +193,7 @@ rf24_status_t rf24_init(rf24_dev_t* p_dev) { if (dev_status == RF24_SUCCESS) { // If setup is 0x00 or 0xFF then there was no response from module - if ((rf_setup_reg.value == 0) || (rf_setup_reg.value == 0xFF)) { + if ((rf_setup_reg.value == 0x00) || (rf_setup_reg.value == 0xFF)) { dev_status = RF24_UNKNOWN_ERROR; } } From 6644fd402d8dba3b96177d42200bc6d7edb856bc Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Sat, 31 Oct 2020 20:37:25 -0300 Subject: [PATCH 62/71] :pencil: Correct grammar Co-authored-by: d-nery --- CONTRIBUTING.pt-br.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.pt-br.md b/CONTRIBUTING.pt-br.md index 493ca01..89be2fe 100644 --- a/CONTRIBUTING.pt-br.md +++ b/CONTRIBUTING.pt-br.md @@ -98,7 +98,7 @@ Além disso, para variáveis inteiras faça distinção entre `signed` e `unsign #### Números mágicos/Constantes -Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código. Além de eles dificultarem a leitura do mesmo, também dificultam a manutenção. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. +Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código. Além de eles dificultarem o entendimento, também dificultam a manutenção do projeto. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. ### Menssagens de commit From f7bfbe428bed813ee4e040da33c036c065f578a9 Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Thu, 5 Nov 2020 12:59:47 -0300 Subject: [PATCH 63/71] Update CONTRIBUTING.md Co-authored-by: Lucas Schneider <50970346+lucastrschneider@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c6c8ee5..f82bb09 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -71,7 +71,7 @@ There are some guidelines for organizing C code that should be followed. #### Variables and functions scopes -Always reduce the scopes of the to the minimum possible, avoiding global, external and static variables, giving preference to local variables. The same is ture for functions, do not create public functions if they are only to be used within a file, leave them private. +Always reduce the scopes of the variables to the minimum possible, avoiding global, external and static, giving preference to local variables. The same is true for functions, do not create public functions if they are only to be used within a file, leave them private. #### Nomenclature From 1bc6473d728a08b790de41302dac693d96a88aac Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Wed, 25 Nov 2020 15:48:33 -0300 Subject: [PATCH 64/71] :pencil: Fix spelling in README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0ab076f..5a75eb1 100644 --- a/README.md +++ b/README.md @@ -199,14 +199,14 @@ In addition to what will be shown in the subsections below, for the library to f * * @note This function must be implemented by the user. * - * @param ms Delay in miliseconds. + * @param ms Delay in milliseconds. * * @return @ref rf24_status. */ rf24_status_t rf24_delay(uint32_t ms); ``` -It is a _delay_ function used within the library, wich receives a time in milliseconds. It can be defined in different ways, however, in general, it is possible to define it simply with the `HAL_Delay(uint32_t Delay)` function (it is necessary to include the `main.h` file generated by Cube for this): +It is a _delay_ function used within the library, which receives a time in milliseconds. It can be defined in different ways, however, in general, it is possible to define it simply with the `HAL_Delay(uint32_t Delay)` function (it is necessary to include the `main.h` file generated by Cube for this): ```C rf24_status_t rf24_delay(uint32_t ms) { @@ -221,7 +221,7 @@ rf24_status_t rf24_delay(uint32_t ms) { Before starting the module itself, it is necessary to initialize the SPI that was configured in the Cube. The function name depends on which SPI was chosen, for the one chosen in the [🔌 Hardware Configuration](#-hardware-configuration) section above, it would be the following function: ```C -MX_SPI2_Init(); /* The SPI2 was choosen in Cube */ +MX_SPI2_Init(); /* The SPI2 was chosen in Cube */ ``` To use the above function, it is necessary to include the file `spi.h` generated by Cube. In addition, it is recommended to put a delay of something around 100 ms after the SPI initialization. @@ -243,7 +243,7 @@ Then, to configure the module, it can be done as follows: /* Get default configuration */ rf24_get_default_config(p_dev); -/* The SPI2 was choosen in Cube */ +/* The SPI2 was chosen in Cube */ p_dev->platform_setup.hspi = &hspi2; /* CSN on pin PC6 */ From aacafedb66aff52a9f9b34e3baaf6d2740645f3b Mon Sep 17 00:00:00 2001 From: Lucas Haug <39196309+LucasHaug@users.noreply.github.com> Date: Wed, 25 Nov 2020 15:51:34 -0300 Subject: [PATCH 65/71] :pencil: Fix spelling in CONTRIBUTING --- CONTRIBUTING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f82bb09..44664b5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ Please note that this project is released with a [Contributor Code of Conduct](. Most contributions are made with [GitHub Issues](https://guides.github.com/features/issues/). They will be primarily used for -1. Trackking bugs - `bug` +1. Tracking bugs - `bug` 2. Suggesting Enhancements - `enhancement` 3. Improving documentation - `documentation` @@ -26,7 +26,7 @@ But before creating an issue, first check if there is already one with the same - Use a clear title - Specify the version of the library -- Specify OS, VM (if applicable), project's microcontroller, and other configurations that may be usefull +- Specify OS, VM (if applicable), project's microcontroller, and other configurations that may be useful - Describe the steps to reproduce the bug - Describe the observed and the expected behavior - Include screenshots, gifs, any type of reference that helps to explain the problem @@ -38,7 +38,7 @@ But before creating an issue, first check if there is already one with the same - Describe the expected behavior after implementing this idea - Explain why this new feature or update can be usefull -#### Imporoving documentation 📝 +#### Improving documentation 📝 - Use a clear title - Specify the files that need to be documented @@ -48,7 +48,7 @@ But before creating an issue, first check if there is already one with the same If you want to contribute with code to the project, search for an open issue and start developing. When you are ready, open a Pull Request and we will review it. -A few recomendations: +A few recommendations: - Describe exactly what you've done, always as clear as possible - Link the applicable issue in your Pull Request (if there is none, please, create a new one) @@ -110,7 +110,7 @@ Avoid [magic numbers](https://en.wikipedia.org/wiki/Magic_number_(programming)) - 📝 `:memo:` for documentation - 🐛 `:bug:` for bug issues - 🚑 `:ambulance:` for critical fixes - - 🎨 `:art:` for imporoving structure + - 🎨 `:art:` for improving structure - ✨ `:sparkles:` for new features For more examples, see [this reference](https://gitmoji.carloscuesta.me/). From 4b2443823c25c64a99a9e15302ae9467c25b48cc Mon Sep 17 00:00:00 2001 From: Lucas Haug Date: Wed, 25 Nov 2020 15:59:45 -0300 Subject: [PATCH 66/71] :pencil: :brazil: Correct spelling in README and CONTRIBUTING --- CONTRIBUTING.pt-br.md | 14 +++++++------- README.pt-br.md | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.pt-br.md b/CONTRIBUTING.pt-br.md index 89be2fe..b95a66a 100644 --- a/CONTRIBUTING.pt-br.md +++ b/CONTRIBUTING.pt-br.md @@ -82,9 +82,9 @@ Primeiramente, para manter o padrão, deixe todos os nomes das variáveis, funç Escolha nomes com significado, os nomes devem mostrar para que a variável, por exemplo, é utilizada no código, portanto, nunca utilize variáveis com somente uma letra, além de não dizer nada sobre o que ela é, também se dificulta a localização da variável no código. -Para variáveis ou constantes, por exemplo, que tenham unidade de medida, inclua essa unidade de medida no nome, isso facilita a compreensão do seu signifcado. +Para variáveis ou constantes, por exemplo, que tenham unidade de medida, inclua essa unidade de medida no nome, isso facilita a compreensão do seu significado. -Para indicar que uma variável é um ponteiro, adicione `p_` no início do nome da variável, caso ela seja um ponteiro de um ponteiro, por exemplo, adcione `pp_`. +Para indicar que uma variável é um ponteiro, adicione `p_` no início do nome da variável, caso ela seja um ponteiro de um ponteiro, por exemplo, adicione `pp_`. Variáveis globais de um arquivo e varáveis externas devem ser evitadas, principalmente as externas, porém caso sejam realmente necessárias, devem ser identificadas para se facilitar o entendimento de partes isoladas do código. Adicione `m_` no início do nome de uma variável para indicar que ela é uma variável global do arquivo. E para indicar que uma variável é global externa, adicione `g_` no início do nome da mesma. Caso se tivesse um ponteiro externo, por exemplo, se utilizaria `gp_`. @@ -98,14 +98,14 @@ Além disso, para variáveis inteiras faça distinção entre `signed` e `unsign #### Números mágicos/Constantes -Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código. Além de eles dificultarem o entendimento, também dificultam a manutenção do projeto. Para contornar isso, utilize constantes definidas com `#define` no ínicio do seu código. +Evite [números mágicos](https://pt.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico_(programa%C3%A7%C3%A3o_de_sistemas)) no meio do código. Além de eles dificultarem o entendimento, também dificultam a manutenção do projeto. Para contornar isso, utilize constantes definidas com `#define` no início do seu código. -### Menssagens de commit +### Mensagens de commit -- As menssagens devem ser escritas preferencialmente em inglês. +- As mensagens devem ser escritas preferencialmente em inglês. - Use o tempo presente ("Add feature" não "Added feature") - Use o modo imperativo ("Move cursor to..." não "Moves cursor to...") -- Nós recomendamos fortemente iniciar a menssagem de commit com um emoji relacionado +- Nós recomendamos fortemente iniciar a mensagem de commit com um emoji relacionado - 📝 `:memo:` para documentação - 🐛 `:bug:` para bugs - 🚑 `:ambulance:` para correções críticas @@ -120,4 +120,4 @@ O fluxo de trabalho é baseado no [Git Flow](https://nvie.com/posts/a-successful ### Documentação -A documentação é gerada com [Doxygen](https://www.doxygen.nl/index.html) e deve seguir o seu manual de documentação. Um código bem documentado é crucial para seu entendimento. \ No newline at end of file +A documentação é gerada com [Doxygen](https://www.doxygen.nl/index.html) e deve seguir o seu manual de documentação. Um código bem documentado é crucial para seu entendimento. diff --git a/README.pt-br.md b/README.pt-br.md index f40af20..7510d9d 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -200,7 +200,7 @@ Além do que será mostrado nas subseções abaixo, para o funcionamento da bib * * @note This function must be implemented by the user. * - * @param ms Delay in miliseconds. + * @param ms Delay in milliseconds. * * @return @ref rf24_status. */ From 9505d5c47624ede288028927335237e9eaee75a4 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Wed, 25 Nov 2020 19:30:32 -0300 Subject: [PATCH 67/71] :pencil: Correct spelling --- inc/rf24.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/rf24.h b/inc/rf24.h index a597583..ae3dbbc 100644 --- a/inc/rf24.h +++ b/inc/rf24.h @@ -359,7 +359,7 @@ rf24_irq_t rf24_irq_callback(rf24_dev_t* p_dev); * * @note This function must be implemented by the user. * - * @param ms Delay in miliseconds. + * @param ms Delay in milliseconds. * * @return @ref rf24_status. */ From 49fa4d6547e111e11915a6c29bc6507d22203f58 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Wed, 25 Nov 2020 19:32:40 -0300 Subject: [PATCH 68/71] :busts_in_silhouette: Update @FelipeGdM as a contributor --- .all-contributorsrc | 3 ++- README.md | 2 +- README.pt-br.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0162541..58bb3f5 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -52,7 +52,8 @@ "avatar_url": "https://avatars3.githubusercontent.com/u/1054087?v=4", "profile": "https://github.com/FelipeGdM", "contributions": [ - "ideas" + "ideas", + "review" ] }, { diff --git a/README.md b/README.md index 5a75eb1..bab030e 100644 --- a/README.md +++ b/README.md @@ -413,7 +413,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - +

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍 👀

Daniel Nery

💻 👀

Felipe Gomes de Melo

🤔

Bernardo Coutinho

⚠️

Lucas Haug

💻 📖 ⚠️ 🌍

Lucas Schneider

💻 📖 ⚠️ 🌍 👀

Daniel Nery

💻 👀

Felipe Gomes de Melo

🤔

Felipe Gomes de Melo

🤔 👀

Bernardo Coutinho

⚠️
diff --git a/README.pt-br.md b/README.pt-br.md index 7510d9d..53ac0c1 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -414,7 +414,7 @@ Agradecimento a essas pessoas maravilhosas ([emoji key](https://allcontributors.
Lucas Haug

💻 📖 ⚠️ 🌍
Lucas Schneider

💻 📖 ⚠️ 🌍 👀
Daniel Nery

💻 👀 -
Felipe Gomes de Melo

🤔 +
Felipe Gomes de Melo

🤔 👀
Bernardo Coutinho

⚠️ From f16d49803b952e31c37343f0ce8d11cad3cb5be8 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Thu, 26 Nov 2020 12:39:15 -0300 Subject: [PATCH 69/71] :pencil: Add assets folder to README --- README.md | 1 + README.pt-br.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index bab030e..f6ad11c 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ git submodule update --init The repository contains the following folders: +- **assets/** → Images and `.css` files for documentation - **docs/** → Documentation files - **inc/** → Header files - **src/** → Source files diff --git a/README.pt-br.md b/README.pt-br.md index 53ac0c1..1e2b39f 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -105,6 +105,7 @@ git submodule update --init O repositório contém as seguintes pastas: +- **assets/** → Imagens e arquivos `.css` para documentação - **docs/** → Arquivos de documentação - **inc/** → Arquivos de cabeçalho - **src/** → Arquivos de código fonte From a277f01fc090f2e9f6490a3d004589df17c8af70 Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Thu, 26 Nov 2020 12:46:59 -0300 Subject: [PATCH 70/71] :pencil: Correct spelling --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f6ad11c..e937a3e 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Para a versão em PT-BR 🇧🇷 desse documento, [veja aqui](./README.pt-br.md) - [➕ Requirements](#-requirements) - [📦 Git Submodules](#-git-submodules) - [💥 Adding a submodule](#-adding-a-submodule) - - [✅ Initializing a existing submodule](#-initializing-a-existing-submodule) + - [✅ Initializing an existing submodule](#-initializing-a-existing-submodule) - [📁 Repository Structure](#-repository-structure) - [📝 Documentation](#-documentation) - [🎨 Formatting](#-formatting) @@ -43,7 +43,7 @@ This library was made to be used as a submodule in the [STM32ProjectTemplate](ht This library does not require any extra requirements to function, in addition to those already listed [STM32ProjectTemplate requirements](https://github.com/ThundeRatz/STM32ProjectTemplate#requisitos). -However, if you want to generate the documentation, as described in the section [📝 Documentation](#-documentation), it is necessary to install Doxygen. In Ubuntu it is possible to install it with the following command: +However, if you want to generate the documentation, as described in the section [📝 Documentation](#-documentation), it is necessary to install Doxygen. In Ubuntu, it is possible to install it with the following command: ```bash sudo apt install doxygen @@ -57,7 +57,7 @@ Besides that, for formatting `uncrustify` is used, as described in the section [ sudo apt install uncrustify ``` -On Windows, download the .zip from [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Add the location of the executable in the `PATH` environment variable. +On Windows, download the `.zip` from [SourceForge](https://sourceforge.net/projects/uncrustify/files/). Add the location of the executable in the `PATH` environment variable. ## 📦 Git Submodules @@ -84,7 +84,7 @@ git submodule add --name STM32RF24 https://github.com/ThundeRatz/STM32RF24.git l git submodule add --name STM32RF24 git@github.com:ThundeRatz/STM32RF24.git lib/STM32RF24 ``` -### ✅ Initializing a existing submodule +### ✅ Initializing an existing submodule When cloning a repository that already has submodules, it is necessary to clone the repositories of that submodule. This can be done in two ways, by cloning together with the project repository or after you have already cloned. From 5a427759848140b3283f71f974f3b7da20322e6b Mon Sep 17 00:00:00 2001 From: LucasHaug Date: Thu, 26 Nov 2020 14:10:30 -0300 Subject: [PATCH 71/71] :pencil: Correct grammar --- README.pt-br.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.pt-br.md b/README.pt-br.md index 1e2b39f..16937ca 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -193,7 +193,7 @@ A biblioteca possui diferentes funções para configurar parâmetros do módulo, A comunicação entre dois módulos pode acontecer com _acknowledgment_ (ACK) ou sem. Utilizar ACK ajuda a evitar a perda de pacotes enviados. Ao se habilitar o ACK, o seu receptor, ao receber um pacote válido, enviará para o transmissor um pacote de ACK, caso contrário não enviará nada. Por sua vez, o transmissor, após enviar um pacote, ficará esperando receber um pacote de ACK por um determinado tempo, caso o tempo se esgote sem receber o ACK, ele enviará novamente o pacote que tinha enviado. Vários diagramas de transação diferentes podem ser vistos a partir da página 40, item 7.9 do [datasheet](docs/Nordic_Semiconductor-NRF24L01-datasheet.pdf). Nesse tutorial se mostrará como fazer a comunicação dos módulos com ACK, também se considerará que só há um transmissor e um receptor, porém é possível haver mais módulos. -Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: +Além do que será mostrado nas subseções abaixo, para o funcionamento da biblioteca é necessário, em um dos seus arquivos `.c` que inclui o arquivo `rf24.h`, definir a seguinte função: ```C /** @@ -393,7 +393,7 @@ if ((device_status = rf24_available(p_dev, NULL)) == RF24_SUCCESS) { ### 🐛 Depuração -Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/.h`, porém para isso também é necessário definir uma função `printf`. Para facilitar o uso, recomendo adicionar a biblioteca [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) ao projeto. Após adicioná-la, tendo chamado as funções de depuração em seu código, para ver o que está sendo "impresso" pelas funções, rode no terminal, estando na raiz de seu projeto: +Para depurar o seu código é possível utilizar as funções do `rf24_debug.c/.h`, porém, para isso, também é necessário definir uma função `printf`. Para facilitar o uso, recomendo adicionar a biblioteca [SEGGER_RTT](https://github.com/ThundeRatz/SEGGER_RTT) ao projeto. Após adicioná-la, tendo chamado as funções de depuração em seu código, para ver o que está sendo "impresso" pelas funções, rode no terminal, estando na raiz de seu projeto: ```C make rtt