Integration of USB communication would allow technicians in the field to directly communicate wit the devices, seeing sensor measurements, entering calibration modes, etc. Using this functionality, many different features could be developed depending on future needs.
There is no way for a technician to interact with the device while in use. Currently, the only way to modify the device is to change the code and reflash the device.
The USB driver already exists, but it is not integrated into the main loop. A new task will need to be created to manage it’s communication.
You get a read and write function that both come from buffers. There is a library that handles this, but all the commands and responses will need to be programmed.