** USE AT YOUR OWN RISK **
There seems to be a difference between OnStep and OnStepX in the way slews work, if you flash this firmware, please make sure to test that both RA and DEC slew in the right direction!!
Called it version 2 because the first version was simply improving the wear leveling algorithm to the electronic homing, in this version I just use FRAM.
What is I2C?
"Inter-Integrated Circuit (I2C) Protocol" - is a chip-to-chip protocol for communicating with low-speed peripherals.
To make it short - I2C allows us to daisy chain I2C devices onto one another without having to deal with too many additional wires, each I2C device have a unique address which we can use, 4 pins are used:
VCC(5V)
GND
SCL(serial clock pin)
SDA(serial data pin)
More info can be found on google.
How we use it with UMi 17?
Our RTC module is DS3231:
It is an I2C device, which we can attach our I2C FRAM to through the 4 I2C protocol pins like this:
This makes the FRAM I2C device accessible and we can replace the original EEPROM with our new FRAM.
Changes
- Adjust config to UMi17
- Use I2C FRAM - MB85RC256
- Lower FRAM 32kb page to 4kb to make OnStepX work faster
- Auto tracking + Electronic homing auxiliary / OnStep command protocol
- New LED status changes:
Solid LED - Mount parked
Slow blinking - Tracking
Fast blinking - Slewing
Default settings:
- Auto tracking = OFF
- Electronic homing = OFF
- Preferred pier side = BEST(changes are now saved to EEPROM so need to change only once)
- Sync command can no longer change pier side and now defaults to OFF for more safety
E-home:
The original E-home version had a major flaw, the wear leveling was spread across some of the eeprom ,but the index position was static.
Since the eeprom have 1m writes per index, that means this index can withstand around 280 hours according to specs(could vary). With an average of 8 hours per session, that means around 35 sessions, which is not a lot.
Using I2C FRAM we have basically unlimited amount of writes, that means we don't need any fancy wear leveling algorithms and can just write to the same index with no issues every second.
Link to I2C FRAM from aliexpress:
https://www.aliexpress.com/item/1005006584211412.html
In order to use the FRAM some soldering skills are required obviously, it's very easy and only 4 pins are needed, the 4 pins on the other side of the DS3231 module are also not connected to anything on the PCB itself, so it should be very safe, but I'm obviously not responsible for any damage that might occur during the process.
I repeat:
** USE AT YOUR OWN RISK **
Full Changelog: https://github.com/pardovot/OnStepX/commits/V2.0.0