La richiesta
Elettronica Santerno è un’azienda leader nella progettazione e commercializzazione di inverter per la produzione di energia elettrica da fonti rinnovabili.
Il cliente chiedeva di effettuare un refactoring di un codice dell’interfaccia grafica della scheda di controllo/datalogging dell’inverter, basato su Linux e librerie Qt, con l’obiettivo di aumentarne le performance e risolvere alcuni problemi di stabilità.
Dopo la prima fase del progetto, che ha risolto i problemi del vecchio codice, sono state aggiunte nuove funzionalità avanzate di misura e datalogging, per una migliore visualizzazione dei parametri di funzionamento dell’inverter.
Il cliente ci ha poi chiesto di implementare driver del kernel e di fornire consulenze sulla progettazione elettronica per lo sviluppo di una nuova versione della scheda.
Problemi affrontati
- Gestione della scheda embedded
- Interfaccia HMI
- Problemi di sincronizzazione multithread
- Aggiornamento del software della scheda
Soluzioni implementate
- Creazione di una distribuzione Linux specifica, completa di driver
- GUI in C++ con uso di librerie Qt
- Uso di programmazione asincrona con segnali Qt
- Creazione di una procedura di aggiornamento automatico al boot
Le richieste
- Refactoring di un codice già esistente per ottimizzare le performance e risolvere alcuni problemi
- Implementazione di funzionalità di datalogging
- Implementazione di driver di periferiche nel kernel Linux
Cosa ha fatto Develer
- Codice C++/Qt per la parte di HMI
- Codice in C per la parte di driver kernel
- Consulenza per la parte di progettazione elettronica della nuova versione della scheda
Risultati
- Riduzione del tempo di boot
- Migliore stabilità del prodotto
- Automazione dei processi di sviluppo e collaudo
- Riduzione dei costi di produzione
Vantaggi introdotti dalle nostre soluzioni
- Semplificazione della struttura del codice presente: migliore manutenibilità del codice.
- Generalizzazione del codice dell’applicazione: la stessa applicazione può girare su versioni e modelli di inverter diversi, che utilizzano anche CPU diverse.
- Incremento delle perfomance: riduzione dei tempi di boot, maggiore reattività dell’interfaccia grafica, ottimizzazione dell’utilizzo delle risorse dell’inverter.
Vuoi dotare il tuo prodotto di caratteristiche irresistibili?
In quale modo la nostra metodologia ci ha aiutato
L’applicazione di metodologie di sviluppo agili (scrum, test driven development, etc…) ha permesso di seguire nel dettaglio l’evolversi del prodotto che, essendo il primo di una nuova generazione, presentava requisiti non ancora del tutto definiti.
In quale modo l’open source ha aiutato il progetto
Possiamo senz’altro dire che la presenza di tecnologie open source e free software è stata fondamentale. La scheda era infatti completamente basata su Linux e usava le librerie Qt con licenza LGPL; senza di esse il progetto non sarebbe stato certamente possibile.
Cliente
Elettronica Santerno
Azienda produttrice di inverter per energia da fonti rinnovabili
Staff
“Un progetto molto interessante, con parti ereditate da una precedente implementazione. E’ stata una difficile sfida quella di dover cambiare tutto l’interno senza cambiare nulla dell’esterno.”