Library to handle the X-NUCLEO-PLC01A1 Programmable Logic Controller Expansion Board based on the VNI8200XP (solid state relay) and CLT01-38SQ7 (octal digital termination array) components.

Dependents:   HelloWorld_PLC01A1

This pull request has been rejected by ST

Re-design to keep coherence with other expansion boards.

Modifiche per mantenere coerenza con le altre expansion board (per cosi’ dire “semplici”) gia’ pubblicate su mbed:

• “Interfaces/Component_class.cpp”: questo file rappresenta l’interfaccia “componente generico” che tutti i componenti dovrebbero estendere, e non va quindi modificato. Per cui, dovresti rimuovere i due helper methods che hai aggiunto e mantenere il file originale; puoi inserire gli helper methods in come inline functions in “Common/plc.h”;
• “Interfaces/PLC_class.h” e “Interfaces/PLC_class.cpp”: non e’ un’interfaccia; e’ piuttosto una classe rappresentativa della expansion board. Quindi si dovrebbero rinominare i due files in modo piu’ appropriato come “BSP/x_nucleo_plc01a1_class.h” e “BSP/x_nucleo_plc01a1_class.cpp”;
• “Common/plc.h”: questo file non dovrebbe definire un proprio tipo “DrvStatusTypeDef”; dovrebbe invece includere “Common/component.h” per la definizione di questo tipo, il quale deve essere generico per tutti i componenti. In “Common/plc.h” puoi inoltre aggiungere i due helper methods di cui sopra.

Inoltre ho visto che non utilizzi “DevSPI” della libreria “X-NUCLEO-COMMON”; si puo’ fare anche cosi’ ovviamente, pero’ visto che ci hai lavorato un po’ sopra estendendola, mi chiedevo perche’ alla fine avessi utilizzato quella di sistema.

Davide

Re-design to keep coherence with other expansion boards.