examples: Replace test scripts with practical examples for wsen-hids.#239
examples: Replace test scripts with practical examples for wsen-hids.#239
Conversation
There was a problem hiding this comment.
Bon travail, les exemples sont variés et utiles. Quelques points à corriger :
Bloquants
1. low_power_sampling.py — le bug #238 est maintenant corrigé (PR #240 mergée)
La description de la PR dit que low_power_sampling.py n'a pas été ajouté car le bug power_off()/power_on() n'est pas résolu. Mais il l'est depuis la PR #240. Vérifie que l'exemple fonctionne correctement sur hardware — il devrait maintenant.
Cependant, il est quand même ajouté dans les fichiers ! La description et le code sont contradictoires. Si l'exemple fonctionne, supprime le commentaire dans la description. Sinon, retire le fichier.
2. data_logger.py — dépendance non documentée
Cet exemple importe daplink_flash mais la description de la PR et l'issue #187 ne mentionnent pas cette dépendance. De plus, l'exemple utilise sleep(0.5) et sleep(5) au lieu de sleep_ms(500) et sleep_ms(5000) — la convention du projet est sleep_ms (voir CONTRIBUTING.md).
3. comfort_monitor.py — utilise sleep(2) au lieu de sleep_ms(2000)
Même remarque : la convention du projet est from time import sleep_ms.
4. heater_demo.py — utilise sleep(10) au lieu de sleep_ms(10000)
Idem.
5. dew_point.py — utilise math.log
Vérifie que math.log est disponible en MicroPython sur le STM32WB55. Si oui, c'est OK. Sinon, il faut utiliser une approximation.
Non bloquants
6. Docstrings trop longues sur une seule ligne
Les docstrings de comfort_monitor.py, data_logger.py, heater_demo.py, low_power_sampling.py font plus de 99 caractères (limite ruff). Mets-les sur plusieurs lignes.
7. data_logger.py — pas de header CSV dans le fichier flash
Le CSV header timestamp,humidity,temperature est imprimé sur la console mais pas écrit dans le fichier flash. L'utilisateur qui récupère le fichier CSV n'aura pas les noms de colonnes.
8. Vérification du contenu de full_test.py
L'issue #187 demande de vérifier que le contenu des tests de full_test.py est couvert par les scénarios YAML avant de le supprimer. Peux-tu confirmer que c'est le cas ? Liste les tests couverts et ceux qui ne le sont pas.
|
Revue de codex (il fume un peu mais il a de l'idée) :
|
There was a problem hiding this comment.
Pull request overview
This PR updates the wsen-hids library documentation and example suite to replace a PASS/FAIL-style test script with practical, user-oriented example scripts for common WSEN-HIDS workflows.
Changes:
- Removed the non-example
full_test.pyscript fromlib/wsen-hids/examples/. - Added multiple new usage examples (single read, comfort monitor loop, dew point, heater demo, CSV logging, low-power sampling).
- Updated
lib/wsen-hids/README.mdto document the new example set.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/wsen-hids/examples/full_test.py | Removed a test-suite-like script from examples. |
| lib/wsen-hids/examples/humidity_temperature.py | Adds a minimal one-shot read example. |
| lib/wsen-hids/examples/comfort_monitor.py | Adds a periodic comfort indicator example. |
| lib/wsen-hids/examples/data_logger.py | Adds a CSV logger example (also writes to DAPLink flash). |
| lib/wsen-hids/examples/dew_point.py | Adds dew point calculation example using humidity + temperature. |
| lib/wsen-hids/examples/heater_demo.py | Adds heater usage demonstration example. |
| lib/wsen-hids/examples/low_power_sampling.py | Adds power-cycle sampling example intended for low power operation. |
| lib/wsen-hids/README.md | Replaces the examples section with an overview table of available scripts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…example - Added a warning for the date erasing - Replace sleep by sleep_ms - writen head line for csv file
Also put read() after heater disable
+ added lint style space
|
Corrections pushed in 97bfc69:
The PR is ready to merge. |
|
🎉 This PR is included in version 0.1.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
Replace the monolithic
full_test.py(482 lines of PASS/FAIL tests) with 8 practical, user-facing examples for the WSEN-HIDS humidity and temperature sensor.Closes #187
Changes
Removed
full_test.pytests/scenarios/wsen_hids.yamlAdded — 8 practical examples
humidity_temperature.pyone_shot_mode.pycontinuous_mode.pycomfort_monitor.pydata_logger.pyERASE_FLASH_ON_STARTflagdew_point.pyheater_demo.pylow_power_sampling.pypower_off()between reads. Requires firmware >= v0.1.0 (#238)Updated
README.mdReview feedback addressed
data_logger.py:clear_flash()is now opt-in viaERASE_FLASH_ON_START = False(not unconditional)low_power_sampling.py: docstring references wsen_hids: one-shot measurement timeout after power cycle #238 firmware requirement, power_off immediately after measurementdew_point.py: humidity clamped to 0.01 to avoidlog(0)domain errorcomfort_monitor.py: validated by Copilotheater_demo.py: French comment removedlow_power_samplingentry updated with firmware requirementTest plan
make lintpassesmake test-examplespasses (syntax + import validation)