@roboteer you are very correct with all these points and usually I would be able to cover them but the current CM-550 port of micropython has a lot of the functionality removed that main line micropython has.
First the layer of hiding. Normally the Phone class and Dynamixel class that I made would be saved in a seperate file then imported. For example I would save them in a file called “CM_550.py” then in my new program I would use “from CM_550 import *”. For a good example of this watch my video here https://www.youtube.com/watch?v=jHuljPoPoBc from about 5:30 I show the motor API that I made that I save to the file system then import in to my main code.
AS for the double up
First the python API that I am wrapping isn’t finished and sort of evolved a bit while I was learning the system and will continue to evolve and probably get refracted as I learn.
Second python class inheritance has been removed in this port of micropython. Normally if you have a class that has some functionality and you want to build on top you make a child class that inherits all the methods of the parent class, this way any functionality that already exists you don’t need to rewrite or create a wrapper to call it.
One of the big reasons for using OOP is to organize code, i.e group like code together in it’s own object. In my program some of the smart phone funtionality is in Phone class and some is in smart class. Also in my phone class it actually calls the smart class to do the low level writing and reading from the smart command register. This also defeats the purpose of OOP, if Phone class could inherit the methods from smart class then it would have all the reading and writing methods contained within the Phone class rather than calling the smart class. The dynamixel class is the same.
I am hoping as this port continues to develop it will end up as a full featured micropython with the dynamixel functionality added on top much the same as the Ardunio port for Opencm is a full featured port of Ardunio with just the dynamixel functionality added on top.