Thanks for the response. I am only writing to the registers once per axis on startup. The objects I've created, that initialize each axis, have no knowledge of each others settings. I ended up using a global variable, which is not really what I wanted to do. I think National designers made the assumption that the software calling these functions have knowledge about all of the axes that are on a board. I think there are 2 ways they could make this better:
1. Make the registers read/write, so that you could just read the other bits, and/or the bit for the desired axis, and write the value back. This is the easiest fix.
2. Have a single function that sets multiple parameters for a single axis, like limits, home sensors, etc...
I've worked around it, but
it forced me to compromise my object oriented design.