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

Problème d'arrêt de la vidéo à la remontée de KOSMOS sur le bateau #45

Open
ofauvarque opened this issue Aug 29, 2024 · 1 comment

Comments

@ofauvarque
Copy link
Collaborator

Un bug a été rencontré à la remontée du système sur le bateau : impossible d'arrêter la vidéo que ce soit avec l'ILS ou l'AppliWeb.
Voici le fichier log associé.

10.42.0.130 - - [07/Aug/2024 22:09:25] "GET /index.html HTTP/1.1" 304 -
10.42.0.130 - - [07/Aug/2024 22:09:25] "GET /styles.css HTTP/1.1" 304 -
10.42.0.130 - - [07/Aug/2024 22:09:25] "GET /cameraScript.js HTTP/1.1" 304 -
10.42.0.130 - - [07/Aug/2024 22:09:25] "GET /state.js HTTP/1.1" 304 -
07/08 10:12:28 INFO : WORKING : Debut de l'enregistrement
07/08 10:12:28 INFO : Debut du thread moteur ESC.
07/08 10:12:28 INFO : Fichier CSV ouvert
07/08 10:12:28 INFO : Debut de l'enregistrement video Video_2024-08-07-22-12-28_0000.h264
Exception in thread Thread-7:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/home/kosmos/kosmos_software/kosmosV3-env/kosmos_csv.py", line 72, in run
    if self.pressure_sensor.read():
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kosmos/kosmos_software/kosmosV3-env/ms5837.py", line 103, in read
    self._bus.write_byte(self._MS5837_ADDR, self._MS5837_CONVERT_D1_256 + 2*oversampling)
OSError: [Errno 5] Input/output error
07/08 10:12:32 INFO : Bouton asservissement Moteur détecté
07/08 10:12:35 INFO : Sortie par bouton
07/08 10:12:35 INFO : STOPPING : Kosmos termine son enregistrement
07/08 10:12:36 INFO : STAND BY : Kosmos prêt
07/08 10:12:36 INFO : Fin de l'enregistrement video Video_2024-08-07-22-12-28_0000.h264
[mp4 @ 0x55a38a8750] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
07/08 10:12:37 INFO : Conversion successful !
07/08 10:12:38 INFO : WORKING : Debut de l'enregistrement
Exception in thread Thread-10 (main):
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/home/kosmos/kosmos_software/kosmosV3-env/kosmos_main5.py", line 259, in main
    myMain.modeRotatif()
  File "/home/kosmos/kosmos_software/kosmosV3-env/kosmos_main5.py", line 211, in modeRotatif
    self.working()
  File "/home/kosmos/kosmos_software/kosmosV3-env/kosmos_main5.py", line 119, in working
    self.thread_csv.restart()
  File "/home/kosmos/kosmos_software/kosmosV3-env/kosmos_csv.py", line 110, in restart
    self.start()
  File "/usr/lib/python3.11/threading.py", line 952, in start
    raise RuntimeError("threads can only be started once")
RuntimeError: threads can only be started once
07/08 10:12:41 INFO : Bouton asservissement Moteur détecté
10.42.0.130 - - [07/Aug/2024 22:13:03] "GET /index.html HTTP/1.1" 304 -
10.42.0.130 - - [07/Aug/2024 22:13:03] "GET /cameraScript.js HTTP/1.1" 304 -
10.42.0.130 - - [07/Aug/2024 22:13:03] "GET /styles.css HTTP/1.1" 304 -
10.42.0.130 - - [07/Aug/2024 22:13:03] "GET /state.js HTTP/1.1" 304 -
07/08 10:13:13 INFO : Bouton asservissement Moteur détecté
07/08 10:13:44 INFO : Bouton asservissement Moteur détecté
07/08 10:14:15 INFO : Bouton asservissement Moteur détecté
@ofauvarque
Copy link
Collaborator Author

C'est visiblement un problème avec le capteur TP :

File "/home/kosmos/kosmos_software/kosmosV3-env/kosmos_csv.py", line 72, in run
    if self.pressure_sensor.read():
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kosmos/kosmos_software/kosmosV3-env/ms5837.py", line 103, in read
    self._bus.write_byte(self._MS5837_ADDR, self._MS5837_CONVERT_D1_256 + 2*oversampling)
OSError: [Errno 5] Input/output error

Cette erreur bloque le thread csv, ce qui empêche finalement de reprendre la main.

Le fait que cette panne ne soit pas systématique laisse à penser qu'il s'agisse d'une panne matériel. Pour s'en assurer il serait bon de savoir si ce problème survient toujours sur le même kosmos. Si c'est le cas, il convient de vérifier les branchements du capteur TP.

Si la panne survient sur plusieurs systèmes, il faut qu'on réussisse à reproduire "au labo" la panne. On peut soupçonner une tentative un peu prématurée d'éteindre la vidéo via le "stop button" alors que le wifi n'est pas encore rétabli. Clothilde avait déjà repéré ce genre de problème. La solution était d'actualiser l'AppliWeb via la page "records" jusqu'à voir la video en .h264 en cours d'acquisition avant de la stopper.

Pour éviter tout problème, on peut finalement envisager de mettre un try except dans le code pour ne pas bloquer le thread.

A noter qu'un problème similaire a été soulevé sur :
https://stackoverflow.com/questions/30325351/ioerror-errno-5-input-output-error-while-using-smbus-for-analog-reading-thr

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

No branches or pull requests

1 participant