Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Modbus not usable with USB serial

Aperta
#321 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
c
Ambito
embedded-iot

Direzione di ricerca

Inizia da apps/nshlib/nsh_usbconsole.c e dalla funzione nsh_waitusbready() per capire come vengono gestite la rimozione e la riconnessione della connessione seriale USB. Esamina quindi la gestione di Modbus intorno a select() e read(), inclusa la gestione degli errori. Il lavoro è completato quando la perdita della connessione seriale USB non causa più un ciclo infinito e il driver seriale può essere riaperto dopo la riconnessione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Type: Enhancement

Modbus can be used with USB serial, however, if the USB serial connection is lost, Modbus will hang in an infinite loop.

This is a problem in the handling of select() and read() and could probably resolved by studying the Modbus error handling.

A more USB-friendly solution would be to: (1) Re-connect and (2) re-open the serial drivers. That is what is done is NSH: When the serial USB device is removed, this terminates the session and NSH will then try to re-open the USB device. See the function nsh_waitusbready() in the file apps/nshlib/nsh_usbconsole.c. When the USB serial is reconnected the open() in the function will succeed and a new session will be started.

This is really an enhancement request: Modbus was never designed to work with removable serial devices.

Lingua principale
C
Stelle
465
Fork
782
Merge medio
3g 5h
PR unite (30g)
36

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/nuttx-apps

Tutte le issue di apache/nuttx-apps

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.