Interactions-HSG / uArm-Controller

MIT License
1 stars 0 forks source link

Dev/event handler #12

Closed jo-bru closed 3 years ago

jo-bru commented 3 years ago

This version of the controller firmware is not complete yet, as discussed. This version includes the following changes/implementations:

To be able to handle different sorts of feedback messages, a ResponseCode field with the following options was included:

For handling actions and events on the gateway, the following ProfileStates are used to indicate the state of each profile:

To manage all profile registered on the MCU, the profile_manager.cpp sub-module was added (#7):

The following drivers were added/completed (#9):

To test the firmware, the following tests were added to the simple_gateway.py file:

The event_handler() was added to handle non-blocking requests (#5 ):

The automatic driver initialization script is completed (#8):

jo-bru commented 3 years ago

I've changed all the discussed parts and updated the FSM, which I added to the README file. I've run a simple test (subroutine_test()) with the uArm robot at home (see GIF).

subroutine_test

Since the belt conveyor and the slider are too big to easily take home, I could not implement the step_lowlevel driver yet. For now, I haven't implemented the non-volatile backup mechanism yet as it is labeled as an optional issue (see issue #3).

The firmware should be ready to use with further gateway implementations IMO. We may have to optimize the firmware in the future to reduce the latency.

iomz commented 3 years ago

@jo-bru Wonderful, thank you! I'll review the changes this afternoon. Let's discuss the gRPC gateway tomorrow.