Giter VIP home page Giter VIP logo

lukhudx's Introduction

Volante Alpha -> main_wf

test_wf deploy_wf

Bem vindo!

Este repo tem o propósito de uma implementação do software que será usado tanto para o volante do T14 para fazer alguns testes, como no futuro para modelos mais recentes. A sua implementação atualmente encontra-se em QT 6.0 com base nas bibliotecas nativas em C++. Para compilar o projeto necessitarás de qMake(uma implementação inspirada no software Cmake e make) existindo cerca de 4 ambientes, estes sendo: Profile, Debug, Release e Testing

v1.0.0

Apesar de não ter havido versionamento pois o desenvolvimento foi apressado e houveram prioridades este release é exclusivamente para as variáveis do T-14 e não deve ser usado para outros veiculos pois terão variaveis de controlo diferente às usadas.

Ambientes

Deverás usar o software qtcreator já que ajuda a executar o qmake e o make com todo o make eyecandy para poderes fazer debugging e dar set up automatico de alguns ambientes listados acima. Três dos quatro ambientes são criados automaticamente pelo qtcreator, mas um deles (Testing) terá de ser criado manualmente no qtcreator, pois não vem por defeito.

Para compilar o programa no ambiente testing atualmente(13-02-2023), é necessário adicionar a flag CONFIG+=test, ou seja, o comando quando escrito manualmente deve ser:

qmake -project VolanteAlphaQT.pro CONFIG+=test

No entanto, como dito anteriormente para manter o eyecandy que o qtcreator oferece basta ir a Projects (barra vertical no lado esquerdo do ecrã); Clicar no Kit que desejas criar o ambiente para (no meu caso é Desktop, mas no futuro poderás fazer este passo para o kit do BananaPi M2, se este estiver devidamente configurado); Build; Escolher a opção "Profile"; Clicar Clone; e adicionar CONFIG+=test ao aditional arguments no qmake Build Steps.

O comando escrito no Effective qmake call por isso fica algo do genero:

/usr/bin/qmake <DIRETORIA>/VolanteAlphaQT_1/VolanteAlphaQT.pro -spec linux-g++ CONFIG+=qml_debug CONFIG+=qtquickcompiler CONFIG+=force_debug_info CONFIG+=separate_debug_info CONFIG+=test && /usr/bin/make qmake_all

A notar que devido à configuração atual o target terá o sufixo de _testes se preferires que so seja produzido um binario que dependa da ultima compilação deves ir ao ficheiro com a extensão .pro e alterar:

test{
    message(A configurar a build de testes...)
    #Linha que diz o nome do binario de output
    #(LINHA ANTIGA) -----> TARGET = VolanteAlphaQT_testes
    TARGET = VolanteAlphaQT

    QT += testlib
    SOURCES -= src/main.cpp
    #...Blah Blah os outros ficheiros para os testes
}

ATENÇÃO

Se mudares a linha e tua responsabilidade mudares as alterações de volta antes de fazeres um commit. O .pro nao deve ser ignorado pois causa a que toda a gente tenha de manualmente criar o ficheiro. Ignorar isto pode causar problemas futuros.


Dependencias

Vais precisar do standard c++ stuff, Clang, make, etc... nao vou listar isto porque provavelmente já os tens instalados, e o que importa sao as versões //TODO: adicionar versoes relevantes :P

QT 6.0+ O software foi desenvolvido em 6.2.1 QSerialPort 6.0+ Terás de usar uma versão correspondente a acima

Para o BSON irás precisar de uma biblioteca json, especificamente: https://github.com/nlohmann/json Poderás usar a seguinte package com o pacman nlohmann-json. Foi usada a versão nlohmann-json-3.11.2-1-any para o desenvolvimento

Para testes terás de instalar gengetopt e socat.

Manutenção do README

Se notares que o .readme está bastante desatualizado e pertences à equipa deves chatear uma pessoa apropriada. A partida no futuro existerá um manual tanto para utilizadores como para developers.

Se leste o acima mereces um presente eis um quick ascii art que o criador original da repo fez(se é o primeiro que encontras procura os outros):

_____________       _____________      _____________      ____________      ____
|___         |     /  	        |      \           /     |___     __  >     \   \ 
    \    ____|    /    /--->»>»/   .    \---___---/          \   <  >  º    |    \
    |   |         |   |                     |||              |    ~~  +     |    ~
   <    \_____>    \   \_________     *     |||              |   ____-      |   |
    |	____/       \__________  /          |||              |   |      *   |   |
    /   /           __________/  /  *       |||              |   |          |   |_____
    \   \          \             \     _____\\\_____         \   \   -   ___|         |
    |___|           ------------      |_____________|        |___|       |____________|

lukhudx's People

Contributors

imeguras avatar redfox12321 avatar

Forkers

redfox12321

lukhudx's Issues

URGENT fix units

LukHudX/src/flabel.cpp

Lines 45 to 50 in 1d8c282

//TODO URGENT fix units
this->setText(QString::number(truenewvalue)+" / "+QString::number(oldValue)+ " W"+" ("+QString::number(rateOfChange)+"%)");
}
/**
* @brief Handles the visual representation of an int value
* @param newValue The new value, that will be displayed


This issue was generated by todo-issue based on a TODO comment in 1d8c282.

change representation of laptime

//TODO change representation of laptime
FLabel* LapTime_Label = this->findChild<FLabel*>("LapTime_Label");
FLabel* DiffTime_Label = this->findChild<FLabel*>("DiffTime_Label");
FLabel* LapCount_Label = this->findChild<FLabel*>("LapCount_Label");
//FLabel* TyreTemperature_Label = this->findChild<FLabel*>("TyreTemperature_Label");
connect(store_ref, &store::socChanged, Soc_Label, (void (FLabel::*)(float, float))&FLabel::setVisual);


This issue was generated by todo-issue based on a TODO comment in ee24ea9.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.