Skip to content
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

Feature/cpp migration #2

Draft
wants to merge 30 commits into
base: master
Choose a base branch
from
Draft

Feature/cpp migration #2

wants to merge 30 commits into from

Conversation

Bruno1406
Copy link

Salve!! Abrindo essa PR aqui como draft, para os interessados já irem revisando. Antes de mais nada, gostaria de dar um contexto sobre os obtivos desta refatoração da lib:
1- Fazer uma primeira experiência de desenvolvimento software de embarcados em C++ na equipe;
2- Investigar como é a integração de C++ e C no contexto de embarcados, incluindo o processo de build;
3- Alterar a Lib de forma que não seja mais necessário que cada projeto faça mudanças diretamente nela para funcionar, agora tudo pode ser configurado pelos adapters;
4- Comportar os 3 modelos de IMU da família LSM6DS utilizados hoje na equipe, de forma que não seja sequer necessário saber em tempo de compilação qual o modelo presente no seu robô (isso é particularmente importante para o Thundervolt)
5- Adicionar a possibilidade de usar o sensor em FIFO mode e fazer as interrupções de data ready funcionarem.

No momento em que escrevo essa descrição aqui, já montei toda a estrutura de classes para que os objetivos 3 e 4 sejam possíveis, testei se está tudo compilando no repositório do Rozeta (foram necessárias só 2 unidades de alteração no CMakeLists.txt do Rozeta), e já implementei 1 dos 3 modelos (com FIFO mode funcional, mas falta testar as interrupções). Ainda falta testar tudo e implementar os outros 2 modelos.

@Bruno1406 Bruno1406 marked this pull request as draft August 27, 2023 05:41
@phMachad0
Copy link

Boa brunao,

eu vou revisar com mais calma, mas so um disclaimer sobre isso aqui:

4- Comportar os 3 modelos de IMU da família LSM6DS utilizados hoje na equipe, de forma que não seja sequer necessário saber em tempo de compilação qual o modelo presente no seu robô (isso é particularmente importante para o Thundervolt)

isso ja acontece no thundervolt hoje. A gnt nao compila código diferente para diferentes tipos de imu. A gnt pega o whoAmI em tempo de execução mesmo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants