Dual BLDC Control and Battery help needed

I am building a drive axle out of two Dewalt CDF787 20V impact drivers. I have a basic level understanding of the electronics so please bear with any stupid questions or thoughts.

Originally I was using the sabertooth 32 and two 24 volt gear motors, but I have found the Dewalt Brushless impact drive train to be superior.

Unfortunately, I have never used a BLDC motor or controller… But, this is a good project to learn with.

My plan is to use the ODRIVE v3.6 connected to one of the 20V batteries which will supply power for the Odrive as well as BLDC motors. Control would be through a wired Joystick,

The system will have a main power on/off switch, the drive will only be armed (ready for movement) when the Button on the Joystick is pressed ( on/off).

Questions:

Does the Odrive handle regeneration, if so, can it charge the battery or does the battery need a special charging system ? I would like to use the Battery pack as is and keep the mounting system.

I would like to have the system detect movement so that when the axle is stationary after a predetermined period of time it would go into low power mode to save battery, would awake once it detected axle movement.

Does the ODrive support addition features as below or do I need to look at using a Pi or similar to get the additional features?

Feature wish list:

Wifi
App to configure user, system parameters, diagnostics Etc.
Bluetooth joystick control, battery powered.
Speaker to support music playback/voice prompts

Thanks