@Paul-Cousins Let's suppose the Arduino Dock 2 and its HW environment on your IoT ONE board are perfect.
So your Arduino SW - almost certainly - has some bug(s).
You should debug it instead of restart the Omega's I2C master from time to time - I think.
Thank you @Zheng-Han - a little out of my depth with that for now :( I think I must rather focus on my original issue with the i2c driver freezing up randomly when fetching data from the arduino. I need to find a way to restart the driver without having to resort to a reboot and losing data.
So I managed to rotate the screen 180 degrees but getting the text to read left to right is giving me a headache. Text displaying backwards now from right to left mirrored but bitmaps etc display correctly. Looking at other arduino/esp libraries i followed the same init sequence but no luck:
This is my travelling demo unit I am working on. I added a Pi driven touch screen to the mix to allow for operator interaction with mysql in the onion via the onion AP, access control granted via a nifty little serial fingerprint scanner (can run on either pi or onion), barcode scanner and a little "closed loop machine demo" which contains 2 servo's and a microswitch that I still need to complete. It's come a long way since the veroboard prototype days! :)
i see there is a call to a python script from rc.local. what you have in rc.local looks fine. perhaps the python script? anyway, you could always switch to a cron job which takes place after boot finishes and not use rc.local to call the script.
Thank you @Ken-Conrad ! I found a really good example of how to use PySerial on instructables that was written for Pi and it worked out well after i changed UART details. Now just to get mysql installed and we good to go! :)