Setup development environment, port third parties libraries and create code framework
In the initial phase, our focus lies on configuring all development tools, adapting third-party libraries, and effectively establishing the previously outlined architectural frameworks. Our primary objective involves successfully initiating communication with the Acquisition device board, retrieving status messages through the logging channel, and implementing fundamental graphical user interface (GUI) elements on the host side.
Acquisition device firmware
On the firmware front, our priority is to construct a well-defined project structure that enhances code modularity. Subsequently, we aim to integrate STM32 device driver libraries and adapt FreeRTOS and LwIP libraries for compatibility with the STM32H755ZI platform. The subsequent stage involves developing thread-safe drivers for GPIO, UART, and Ethernet peripherals, laying the foundation for the core functionalities essential for service development. During this milestone, significant progress will be achieved in the completion of Logging and Network services. These aspects of the project will be near completion. However, it's important to note that the development focus for the System service and System driver will primarily revolve around supporting core functionalities. This includes tasks such as facilitating system initialization, tracking the execution status of the system, and ensuring the propagation of actions through firmware functional blocks.
The following diagram illustrates the functional blocks of the overall firmware architecture that will be addressed in the upcoming milestone.
STM32 CubeIDE will be utilized for the firmware development, and testing will be conducted on the Nucleo-H755ZI-Q2 development platform.
GUI Application
The primary emphasis in GUI software development centers around the creation of key front-end elements. This involves the dedicated effort to design and implement the essential components that form the user interface, ensuring a user-friendly and intuitive interaction with the software. The focus extends beyond mere development to the thoughtful consideration of user experience, aiming to craft a visually appealing and functionally efficient interface.
The progress of the project code development can be monitored through the official GitHub repository.