View Full Version : [C] Grafico dinamico
masteryuri
09-10-2015, 09:56
Ho un programma scritto in C, vorrei visualizzare un oscilloscopio, ovvero un grafico che cambia dinamicamente e che rappresenti il valore di una certa variabile.
Indicatemi la via più comoda :D
tomminno
09-10-2015, 10:55
Cambia linguaggio :sofico:
masteryuri
09-10-2015, 11:28
Cambia linguaggio :sofico:
Naturalmente mi sentirei molto più a mio agio con Java ma in questo progetto sono vincolato :muro:
Puoi separare la logica dalla visualizzazione? Se si allora ti consiglio di mandare i dati ad un altro "programma"... ad esempio tempo fa avevo usato i WebSocket per comunicare da un programma C++ ad un interfaccia web che avevo fatto.
L'interfaccia web è senza dubbio più pratica (oltre che offrire portabilità).
tomminno
09-10-2015, 13:50
Naturalmente mi sentirei molto più a mio agio con Java ma in questo progetto sono vincolato :muro:
Non so che progetto sia, ma potresti almeno pensare di fare la parte grafica in C++? Qt potrebbero essere una soluzione.
masteryuri
09-10-2015, 14:11
Posso tranquillamente separare la logica dalla visualizzazione, l'importante è che esca fuori il valore puntuale di una certa variabile intera. Le socket sembrano una soluzione comoda. Ma una volta ottenuta questa variabile via rete, a chi la do in pasto?
tomminno
09-10-2015, 15:01
Puoi separare la logica dalla visualizzazione? Se si allora ti consiglio di mandare i dati ad un altro "programma"... ad esempio tempo fa avevo usato i WebSocket per comunicare da un programma C++ ad un interfaccia web che avevo fatto.
L'interfaccia web è senza dubbio più pratica (oltre che offrire portabilità).
Il web non lo vedo pratico per realizzare un oscilloscopio. Troppo frequenti gli aggiornamenti nella visualizzazione per il protocollo http.
ingframin
09-10-2015, 21:49
Allora hai due vie:
- SDL -> Simple Directmedia Layer e la usi per aprire la finestra e disegnare.
- Labwindows CVI di national instruments
Oltre a disegnare però hai una serie di problemi:
1) come comunichi con lo strumento di misura? Usi una porta seriale? GPIB? USB? Cosa usi?
2) Devi sincronizzare il disegno del grafico con la ricezione dei dati, altrimenti la forma d'onda scorre. In pratica devi simularti il trigger dell'oscilloscopio in qualche modo
Se ci dai qualche info in più ti do una mano. Ho già fatto una cosa simile con una scheda di acquisizione di National Instruments e Matlab, non è complicato neanche in C ma richiede un po' più di impegno.
masteryuri
11-10-2015, 18:55
Allora hai due vie:
- SDL -> Simple Directmedia Layer e la usi per aprire la finestra e disegnare.
- Labwindows CVI di national instruments
Oltre a disegnare però hai una serie di problemi:
1) come comunichi con lo strumento di misura? Usi una porta seriale? GPIB? USB? Cosa usi?
2) Devi sincronizzare il disegno del grafico con la ricezione dei dati, altrimenti la forma d'onda scorre. In pratica devi simularti il trigger dell'oscilloscopio in qualche modo
Se ci dai qualche info in più ti do una mano. Ho già fatto una cosa simile con una scheda di acquisizione di National Instruments e Matlab, non è complicato neanche in C ma richiede un po' più di impegno.
Grazie per la risposta.
Utilizzo una porta mini usb e l'ambiente IAR. Utilizzo una libreria C per programmare il microcontrollore. Intanto comincio a dare uno sguardo alle tue due soluzioni (che non conoscevo)
ingframin
13-10-2015, 12:28
mhmh Il fatto che usi C per il microcontrollore, non ti impone di usare C anche lato PC... Sei sicuro che sei vincolato al C sul computer?
mhmh Il fatto che usi C per il microcontrollore, non ti impone di usare C anche lato PC... Sei sicuro che sei vincolato al C sul computer?
*
i dati ti arrivano via seriale sul pc puoi usare quello che ti fà più comodo lato pc per visualizzarli io ad esempio per compiti del genere ho sempre utilizzato Labview e la creazione dell'interfaccia grafica è questione di 10 minuti di numero
ingframin
15-10-2015, 21:18
*
i dati ti arrivano via seriale sul pc puoi usare quello che ti fà più comodo lato pc per visualizzarli io ad esempio per compiti del genere ho sempre utilizzato Labview e la creazione dell'interfaccia grafica è questione di 10 minuti di numero
Appunto :D
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.