-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comando paraCada()
#74
Open
SteffanoP
wants to merge
10
commits into
OtacilioN:master
Choose a base branch
from
SteffanoP:paraCada-update
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*Compile especial, focado para placas com interface serial nativa
Pode iniciar a revisão |
- Corrige o laço da função `paraCada(celular,vetor)`; - Seta como posição inicial da variável `posicao` para 0; - A variável `vetor` é inicializada conforme o padrão de C/C++.
Atualizei a implementação para funcionar com compiladores de placas Arduino. PR pronta para Review! |
@OtacilioN @ErickSimoes @ThiagoAugustoSM vocês podem revisar a PR? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Originalmente postado por @alessonrenato em #26
Como requisitado no issue #21 essa é uma tentativa de implementar o paraCada (foreach) na biblioteca. Testes de compilação foram positivos no UNO, MEGA e NANO.
PS: Necessita de testes práticos.
PS2: Pode causar instabilidades se não usada com cuidado pelo consumo de recursos de memória. Talvez explicar tal fato na documentação pode ser relevante.
A Pull Request foi atualizada com a versão mais recente do repo (1278b9c), por meio dessa nova versão será possível testar com as Actions Lint e Compile do exemplo para o novo comando e consequentemente a implantação do comando a biblioteca de forma experimental, visto que, há planos para comandos avançados para aBrasilino.h
.EDIT (19/04/21): Foi necessário criar uma nova instrução para o pré-processador, visto que a instrução de @alessonrenato não estava funcionando nas versões mais recentes do repositório, tal fato pode ser observado no commit (cf3c756), que por meio do teste Arduino Compile #19 deu bronca. Então construí um novo modelo
Descrição das mudanças
Implantação do comando paraCada()
Foi utilizado uma das soluções sugeridas por @ErickSimoes em #21, no qual cria uma instrução
for
no pré processador baseado nesta solução.Diferentemente da solução de nosso amigo do Stackoverflow, foi implantado a instrução
for
completando o comandoeach
resultando emforeach
, porém traduzido emparaCada()
. Além disso, suprimi o valor do tamanho, para que a instrução do pré-processador obtenha o tamanho do array que será trabalhado pelo comandoparaCada()
.Exemplificação do comando
Já existia um arquivo de exemplo da PR #26, porém adaptei para algo mais atual da biblioteca
Brasilino.h
e para as novas implementações.Documentação
Com a #26 foi implementado a documentação na
TABELA_DE_INSTRUCOES.md
, porém, agora, está documentado emkeywords.txt
.Benefícios
Brasilino.h
que é exclusivo para a mesma, ou seja, não está presente naArduino.h
;Possíveis Desvantagens
typeof()
que é uma extensão do GNU, logo, poderá haver compiladores que não funcionem, pois a extensão GNU não é padrão da linguagem C.Problemas Relacionados
Ideia apresentada em #21.
É uma variante da PR #26, autorizada pelo autor para alterações, implementações e revisão. Logo se realizada Merge, a PR #26 deve ser fechada/arquivada.
Resolves #21.