-
Notifications
You must be signed in to change notification settings - Fork 0
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
Integrate CCS811 sensor + update code #9
base: master
Are you sure you want to change the base?
Conversation
CloeD
commented
Sep 13, 2021
- Updated the code based off the CCS811 Arduino library
- Updated the address of the sensor
- Updated documentation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il y a quelques petites modifications qu'il faudrait faire pour garder le code un peu plus clair et éliminer les opérations et variables qui sont peut-être pas essentiel.
Sinon félicitation d'avoir réussi à faire fonctionner le capteur :^)!
Aussi dernier détail, je pense qu'on a enlevé la fonction pour publier le ppm du CO2 dans ROS :^X |
On teste avec le UI et ça devrait être tout pour le CO2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Voici quelque modifications que je conseille, cependant si ça marche bon pas ben grave.
Aussi je déconseille fortement d'ajouter les modifications de master dans ta PR. La raison pourquoi je dis cela c'est qu'il y a du code de master qui demande des corrections et qu'on ne voit pas dans la PR. La raison pourquoi c'est arrive, c'est parce que rendu en compétition, les modifications sur la PR n'était toujours pas fait... Donc on a mergé rapidement sans faire les modifications nécessaires.
Aussi un autre commentaire, c'est que le node n'est pas bon et le nom du launch aussi.
const int CCS811_REG_MEAS_MODE = 0x01; | ||
const int CCS811_REG_ALG_RESULT_DATA = 0x02; | ||
const int CCS811_REG_RAW_DATA = 0x03; | ||
const int CCS811_REG_ENV_DATA = 0x05; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette constant là est utilisée nulle part, je pense qu'on peut l'enlever.
const int CCS811_HW_ID = 0x81; | ||
|
||
/* | ||
* Voir https://www.dropbox.com/sh/or1jzflapzbdepd/AAAGrCZgyjPOtNyLYNcyzL90a/Libraries/CCS811?dl=0&preview=CCS811.h&subfolder_nav_tracking=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P-e qu'on pourrait les archiver dans le Teams, le lien dropbox ce n'est pas trop fiable et ça ne perdure pas trop longtemps.
@@ -13,36 +13,28 @@ | |||
#include "ros/ros.h" | |||
#include "std_msgs/String.h" | |||
|
|||
const int CO2_ADDR = 0x5A; // default I2C slave address of CCS811 | |||
const char *CO2_DEV = "/dev/i2c-8"; // default I2C device file (check Jetson wiring) | |||
const int CO2_ADDR = 0x5A; // adresse par défaut du I2C slave de CCS811 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'apprécie les commentaires, mais est-ce que ça dérange de les écrire en anglais ? L'idée d'avoir du franglais dans le code, mais plait plus ou moins
@@ -83,85 +67,79 @@ int main(int argc, char *argv[]) | |||
|
|||
if ((file = open(filename.c_str(), O_RDWR)) < 0) | |||
{ | |||
ROS_INFO("Failed to open the bus."); | |||
/* ERROR HANDLING; you can check errno to see what went wrong */ | |||
ROS_INFO("Impossible d\'ouvrir le bus..."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On pourrait utiliser ROS_ERROR
ici ça la place d'un ROS_INFO. Et même chose pour les places où qu'on fait un exit(1)
.
uint8_t measurement[1] = {0}; | ||
measurement[0] = (0 << 2) | (0 << 3) | (DRIVE_MODE_t::Mode4 << 4); | ||
ROS_INFO("Measurement mode set"); | ||
measurement[0] = 0 | (DRIVE_MODE_t::Mode4 << 4); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ouin, c'est mieux, mais pas tout à fait exacte, en fait tu peux juste enlever le 0. Ça va rien changer à la logique et ça va enlever des opérations inutiles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je te conseille fortement de comprendre le code avant de le considérer comme acceptable pour une PR. C'est vraiment pas une bonne idée de pas comprendre ce qui se passe, surtout dans un contexte de système embarqué.