Looking to start using the odrive as the main driver in a robot and before attempting to rewrite the odrivetool in C++, I was wondering if anyone had tried this before.
I did but in the end what I did is running the original odrivetool on the background and sending commands to it
Are you using ROS? If so then there is no point in rewriting it. The below is a good starting point for a node. It is written for a two wheel differential drive robot.
If not using ROS then I have seen a C++ oDrive ROS node, search github for odrive. There will be parts that are useful to you.