Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

.Net Roboard Register Configuration Tool / Source Code...

Based on DMP's Vortex processor / SoC this board is a full computer capable of running a standard Windows and Linux installation on the backpack of your robot.
10 postsPage 1 of 1
10 postsPage 1 of 1

.Net Roboard Register Configuration Tool / Source Code...

Post by PaulL » Sat Jul 10, 2010 2:54 am

Post by PaulL
Sat Jul 10, 2010 2:54 am

Ok, I personally would have loved to have seen this happen before I ended up spending so much time on software, but in the spirit of saving OTHERS time and promoting what is truly a great piece of hardware (Roboard), I am posting my source code right here, right now. :)

This was written in VB.Net using Visual Studio 2008, and uses .Net Framework version 2.0. Target Operating System is Windows XP. Target HARDWARE is ROBOARD, and ROBOARD ONLY!!! RB-100, to be exact (I don't have a 110, but this could be adapted to work with the 110). DO NOT RUN THIS SOFTWARE ON ANY HARDWARE OTHER THAN ROBOARD!!!

IMPORTANT!!!

This is Beta code, and if used incorrectly or at all, may cause problems. IF YOU USE THIS CODE, SUCH IS AT YOUR OWN RISK! I am not liable for any use, misuse, or damages caused directly or indirectly by this code. DO NOT RUN THIS ON ANYTHING BUT ROBOARD, and CERTAINLY not on your Desktop or Laptop or Other, who knows what could happen. Maybe nothing, maybe trash your system, I don't know.

Copying / Distribution: If you want to use this code in your app, fine. If you want to sell software that uses this code, contact me. If you want to post free code that uses this code, give me credit somewhere in there. :) Don't publish this code on some other website. Link to this post here if you want, but not directly to the file's download link.

Support: Ask whoever you want, you can even ask me, but I can't walk you through whatever you might want to do beyond getting the included app to work. :) I have plenty to do, including writing my OWN code that will use this library! :D

Note, the app is split so that you can just include the RegisterConfig.DLL if you want to use C# or whatever, but refer to the VB app for how to use the DLL. You might want to try http://www.developerfusion.com/tools/co ... to-csharp/ to convert to C# if VB isn't your thing.

Using it:

1. Do "Load from Db" first. This will take a LONG TIME to run, don't be alarmed or discouraged, accessing the configuration database via ODBC is just terribly slow. I've had to wait for the long load more times in developing this code than I care to recall. :)

2. Do "Read All", this will read your current Configuration.

3. I recommend you set your Servo Base Address (see below) and set Address Decode Enabled (see below) followed by clicking Read All before this next step: Do "Save to XML", this will prevent you having to do "Load from Db" again, from here on out, you can just click "Load from XML" instead. Note, the app saves the XML file as C:\Test.xml, you can change this in the source code or set up a "File / Open" Dialog Box or whatever you want. Actually, if you make register changes at any time and want to preserve changes after setting base registers, click “Save”. ;)

4. Don't click Write All until you have set your base addresses (I2C is also one that does not get set until later, but I have not set up the mappings for Internal Peripheral Feature Control Register III for I2C - For now, DO NOT USE I2C Entries unless you manually set the whole register to whatever the current value is with the flag or flags you need to set for I2C).

General Notes:

It is frowned upon by a number of folks in the Windows Driver community to access PCI Configuration registers as done in this application and in RoboIO.dll. In short, the operating system can intertwine with the access to these registers, and can cause failures when such occurs simultaneously (by the operating system switching time slices with this app). This is less likely to occur in an embedded application such as this, but the possibility exists, I am simply sharing this knowledge. This is the aspect that can cause fatal issues, that is why I mention it here now.

Changing values by selecting items in the tree causes changes INSTANTLY. If an item is "Reserved" or "User Defined", you can change it by clicking on the bottom-most node for that item, and you will get a dialog box to change whatever. If you change a base address, click "Read All" to configure and re-read addresses that use that base address.

CLICK CANCEL if you get an input box and you don't know what to put in it. Servo Base Address is FE00h, so there's that. For Servo, set the Base Address, then set Enable for the address decoding, then click Read All to set the registers for Servos. Data for servos is INCORRECT until you set a base address and enable address decoding, DO NOT attempt to change servo registers until you set the base address first.

YOU CAN LOCK UP YOUR BOARD with this code, or worse, if you do something wrong.

If you are in doubt, ask before you click. :) As a general note, the Tree Structure is: Registers / Register / Function / Value. If you click a value, you're asking the program to set something, so if you just want to look, open, but do not CLICK on a value.

To help you further, download the C++ source code from the Roboard website, and look through that to help understand what registers do what and when they are used. Note, some register / function names may be slightly different.

To access GPIO (After running the program ON YOUR ROBOARD ONLY, and doing Load from Db, etc, as above):

GPIO is already set up as default use for pins, and default mode is Output. So, to change a pin, expand "GPIO Port 0 Data Register", then expand Pin 0 State, then click Low or High to change GPIO Pin 0 (PWM0 is the same pin). NOTE regarding GPIO: On Roboard, use for pins other than 0 through 23 gets interesting (GPIO 0, 1, 2). GPIO3 is shared with other functions, as is GPIO4. Generally, I suggested that you don't use those registers at all.

To configure servos:

Locate "Servo Control Register", expand, then expand Servo Base Address, and click User Defined to invoke a pop-up box to enter data. Enter "FE00h" without the quotes and click OK. Then, expand "Internal Servo Address Decode", and select Enabled. Also, expand CLKS and set to 50 Mhz.

Click "Read All" to Set the Servo Base Address (THIS IS VERY VERY VERY IMPORTANT!!!). You may want to re-verify that your values set for the Servo Control Register took properly.

Then, open Internal Peripheral Control Register II, and select which pins you want for GPIO or Servo (note, use of GPIO4 gets interesting).

This should already be turned on, but check On-Chip Device Control Register / SVP - Servo Power and make sure it is zero (on).

From here, set your individual servo control registers as desired (Servo X Control Register). Example: Servo Enable: Disabled, Continuous Mode: 1, Inverse Servo Signal: 0, Servo Repeat Count 0. Next, and this is where you will need to do some math, figure out what your LREG and HREG register values need to be for your servo. Much of this work was done for Kondo and Hitec servos in the RoboIO.dll source code (Check out RCSERVO.CPP, function rcservo_SetServo).

For example, for a HSR-8498HB servo, Period is 10000, Min Duty is 550, Max Duty is 2450. You will need to look at PWM.CPP / pwm_SetPulse to see the calculations, but it goes like this: HREG = Duty (your position, between min and max for your servo) * uS (50 if you selected 50 mhz as above). LREG = Period - Duty* 50 (if 50 mhz).

A Duty of 1500 is approximately center position for this servo. So, 1500 * 50 = HREG value, (10000 - 1500) * 50 = LREG value.

LREG = 75000
HREG = 425000

With these values, set Servo x Pulse Low Count (put in the LREG value), and set Servo x Pulse High Count (put in HREG value). You will need to click the User Defined item to get the input box. A quick note: If you do NOT put in "h" after your values, you will be entering Integer values. 75000 and 425000 would be integer values (no "h" when you type them in).

Next, set Enabled for your servo. If all went well, your servo should move and stay at approximately center.

About the commands and such: You can loop through the Registers and Functions arrays to output a list of Register Names and Function Names to get a full listing. I recommend that you store the retrieved ID of both to access some specific function directly if you use this code for all register access.

Further, you do NOT have to use this code for all register access. I will, as it is what I’ve designed it to do and be. You could simply use this code to load configuration settings, and then kill the object and run whatever code you like to drive registers.

WELL, this should get you started. If you take on the risk of trying this out, feel free to give some feedback. Note, I didn't polish the front end, it's not built to be bullet-proof, so enhancements to the User Interface may be needed or desired, but this works as it is. :) For example, the input box will take negative numbers (I know, but haven't tried), which will likely cause something to go awry.

If someone wants to spruce up the UI or whatever, by all means, please do, and post back. But, as for changing the register code to add more checks, I suggest against it for performance reasons. ;)

And a reminder, I2C is not completely implemented at present, the register entries for it do not exist right now.

I have attempted to provide a lot of useful information (documentation) in the code itself, I hope it serves you well.

In the future, I will likely enhance and define thread-related blocking and such, and will likely post the source as I have done here, now. :)

You can find more information in the thread here in the Roboard forum under “Roboard Experience…”.

Comments welcome, particularly positive ones. ;)

Take Care,
Paul

http://robosavvy.com/Builders/RN1AsOf091407/RegCfg.zip
Ok, I personally would have loved to have seen this happen before I ended up spending so much time on software, but in the spirit of saving OTHERS time and promoting what is truly a great piece of hardware (Roboard), I am posting my source code right here, right now. :)

This was written in VB.Net using Visual Studio 2008, and uses .Net Framework version 2.0. Target Operating System is Windows XP. Target HARDWARE is ROBOARD, and ROBOARD ONLY!!! RB-100, to be exact (I don't have a 110, but this could be adapted to work with the 110). DO NOT RUN THIS SOFTWARE ON ANY HARDWARE OTHER THAN ROBOARD!!!

IMPORTANT!!!

This is Beta code, and if used incorrectly or at all, may cause problems. IF YOU USE THIS CODE, SUCH IS AT YOUR OWN RISK! I am not liable for any use, misuse, or damages caused directly or indirectly by this code. DO NOT RUN THIS ON ANYTHING BUT ROBOARD, and CERTAINLY not on your Desktop or Laptop or Other, who knows what could happen. Maybe nothing, maybe trash your system, I don't know.

Copying / Distribution: If you want to use this code in your app, fine. If you want to sell software that uses this code, contact me. If you want to post free code that uses this code, give me credit somewhere in there. :) Don't publish this code on some other website. Link to this post here if you want, but not directly to the file's download link.

Support: Ask whoever you want, you can even ask me, but I can't walk you through whatever you might want to do beyond getting the included app to work. :) I have plenty to do, including writing my OWN code that will use this library! :D

Note, the app is split so that you can just include the RegisterConfig.DLL if you want to use C# or whatever, but refer to the VB app for how to use the DLL. You might want to try http://www.developerfusion.com/tools/co ... to-csharp/ to convert to C# if VB isn't your thing.

Using it:

1. Do "Load from Db" first. This will take a LONG TIME to run, don't be alarmed or discouraged, accessing the configuration database via ODBC is just terribly slow. I've had to wait for the long load more times in developing this code than I care to recall. :)

2. Do "Read All", this will read your current Configuration.

3. I recommend you set your Servo Base Address (see below) and set Address Decode Enabled (see below) followed by clicking Read All before this next step: Do "Save to XML", this will prevent you having to do "Load from Db" again, from here on out, you can just click "Load from XML" instead. Note, the app saves the XML file as C:\Test.xml, you can change this in the source code or set up a "File / Open" Dialog Box or whatever you want. Actually, if you make register changes at any time and want to preserve changes after setting base registers, click “Save”. ;)

4. Don't click Write All until you have set your base addresses (I2C is also one that does not get set until later, but I have not set up the mappings for Internal Peripheral Feature Control Register III for I2C - For now, DO NOT USE I2C Entries unless you manually set the whole register to whatever the current value is with the flag or flags you need to set for I2C).

General Notes:

It is frowned upon by a number of folks in the Windows Driver community to access PCI Configuration registers as done in this application and in RoboIO.dll. In short, the operating system can intertwine with the access to these registers, and can cause failures when such occurs simultaneously (by the operating system switching time slices with this app). This is less likely to occur in an embedded application such as this, but the possibility exists, I am simply sharing this knowledge. This is the aspect that can cause fatal issues, that is why I mention it here now.

Changing values by selecting items in the tree causes changes INSTANTLY. If an item is "Reserved" or "User Defined", you can change it by clicking on the bottom-most node for that item, and you will get a dialog box to change whatever. If you change a base address, click "Read All" to configure and re-read addresses that use that base address.

CLICK CANCEL if you get an input box and you don't know what to put in it. Servo Base Address is FE00h, so there's that. For Servo, set the Base Address, then set Enable for the address decoding, then click Read All to set the registers for Servos. Data for servos is INCORRECT until you set a base address and enable address decoding, DO NOT attempt to change servo registers until you set the base address first.

YOU CAN LOCK UP YOUR BOARD with this code, or worse, if you do something wrong.

If you are in doubt, ask before you click. :) As a general note, the Tree Structure is: Registers / Register / Function / Value. If you click a value, you're asking the program to set something, so if you just want to look, open, but do not CLICK on a value.

To help you further, download the C++ source code from the Roboard website, and look through that to help understand what registers do what and when they are used. Note, some register / function names may be slightly different.

To access GPIO (After running the program ON YOUR ROBOARD ONLY, and doing Load from Db, etc, as above):

GPIO is already set up as default use for pins, and default mode is Output. So, to change a pin, expand "GPIO Port 0 Data Register", then expand Pin 0 State, then click Low or High to change GPIO Pin 0 (PWM0 is the same pin). NOTE regarding GPIO: On Roboard, use for pins other than 0 through 23 gets interesting (GPIO 0, 1, 2). GPIO3 is shared with other functions, as is GPIO4. Generally, I suggested that you don't use those registers at all.

To configure servos:

Locate "Servo Control Register", expand, then expand Servo Base Address, and click User Defined to invoke a pop-up box to enter data. Enter "FE00h" without the quotes and click OK. Then, expand "Internal Servo Address Decode", and select Enabled. Also, expand CLKS and set to 50 Mhz.

Click "Read All" to Set the Servo Base Address (THIS IS VERY VERY VERY IMPORTANT!!!). You may want to re-verify that your values set for the Servo Control Register took properly.

Then, open Internal Peripheral Control Register II, and select which pins you want for GPIO or Servo (note, use of GPIO4 gets interesting).

This should already be turned on, but check On-Chip Device Control Register / SVP - Servo Power and make sure it is zero (on).

From here, set your individual servo control registers as desired (Servo X Control Register). Example: Servo Enable: Disabled, Continuous Mode: 1, Inverse Servo Signal: 0, Servo Repeat Count 0. Next, and this is where you will need to do some math, figure out what your LREG and HREG register values need to be for your servo. Much of this work was done for Kondo and Hitec servos in the RoboIO.dll source code (Check out RCSERVO.CPP, function rcservo_SetServo).

For example, for a HSR-8498HB servo, Period is 10000, Min Duty is 550, Max Duty is 2450. You will need to look at PWM.CPP / pwm_SetPulse to see the calculations, but it goes like this: HREG = Duty (your position, between min and max for your servo) * uS (50 if you selected 50 mhz as above). LREG = Period - Duty* 50 (if 50 mhz).

A Duty of 1500 is approximately center position for this servo. So, 1500 * 50 = HREG value, (10000 - 1500) * 50 = LREG value.

LREG = 75000
HREG = 425000

With these values, set Servo x Pulse Low Count (put in the LREG value), and set Servo x Pulse High Count (put in HREG value). You will need to click the User Defined item to get the input box. A quick note: If you do NOT put in "h" after your values, you will be entering Integer values. 75000 and 425000 would be integer values (no "h" when you type them in).

Next, set Enabled for your servo. If all went well, your servo should move and stay at approximately center.

About the commands and such: You can loop through the Registers and Functions arrays to output a list of Register Names and Function Names to get a full listing. I recommend that you store the retrieved ID of both to access some specific function directly if you use this code for all register access.

Further, you do NOT have to use this code for all register access. I will, as it is what I’ve designed it to do and be. You could simply use this code to load configuration settings, and then kill the object and run whatever code you like to drive registers.

WELL, this should get you started. If you take on the risk of trying this out, feel free to give some feedback. Note, I didn't polish the front end, it's not built to be bullet-proof, so enhancements to the User Interface may be needed or desired, but this works as it is. :) For example, the input box will take negative numbers (I know, but haven't tried), which will likely cause something to go awry.

If someone wants to spruce up the UI or whatever, by all means, please do, and post back. But, as for changing the register code to add more checks, I suggest against it for performance reasons. ;)

And a reminder, I2C is not completely implemented at present, the register entries for it do not exist right now.

I have attempted to provide a lot of useful information (documentation) in the code itself, I hope it serves you well.

In the future, I will likely enhance and define thread-related blocking and such, and will likely post the source as I have done here, now. :)

You can find more information in the thread here in the Roboard forum under “Roboard Experience…”.

Comments welcome, particularly positive ones. ;)

Take Care,
Paul

http://robosavvy.com/Builders/RN1AsOf091407/RegCfg.zip
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Sat Jul 10, 2010 3:22 pm

Post by PaulL
Sat Jul 10, 2010 3:22 pm

To make things easier, to access devices via code:

From your instance of RegisterManager, as Reg per the application as posted:

Code: Select all
Reg.Registers(RegisterID).Functions(FunctionID).FunctionValue = Some Valid Value


That's all it takes to set your function in code, no need to call RegisterWrite.

To Read a value:

Code: Select all
Reg.Registers(RegisterID).RegisterRead
Dim a as Integer = Reg.Registers(RegisterID).Functions(FunctionID).FunctionValue


Below is a list of Register ID's, Register Names, Function ID's, and Function Names.

Have Fun! :)
Paul

Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 0 Name: GPIO4 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 1 Name: GPIO3-3 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 2 Name: GPIO3-1 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 3 Name: GPIO2 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 4 Name: GPIO1 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 5 Name: GPIO0 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 6 Name: Reserved
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 7 Name: PCI_DT_SR
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 8 Name: PCI_DT_DRV
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 9 Name: ISACK_CTL
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 10 Name: 24M_CTL
Register ID: 1 Name: CPU ID Register Function ID: 0 Name: CPU ID
Register ID: 2 Name: CPU Revision Register Function ID: 0 Name: CPU REV
Register ID: 3 Name: External SPI Chip Select Register Function ID: 0 Name: Reserved
Register ID: 3 Name: External SPI Chip Select Register Function ID: 1 Name: Chip Select
Register ID: 4 Name: External SPI Control Register Function ID: 0 Name: Reserved
Register ID: 4 Name: External SPI Control Register Function ID: 1 Name: FIFO Enable
Register ID: 4 Name: External SPI Control Register Function ID: 2 Name: SPI Clock Divide
Register ID: 5 Name: External SPI Error Status Register Function ID: 0 Name: Reserved
Register ID: 5 Name: External SPI Error Status Register Function ID: 1 Name: WCTE - Write to SPI while busy #4
Register ID: 5 Name: External SPI Error Status Register Function ID: 2 Name: DOLE - Input data overlap #3
Register ID: 5 Name: External SPI Error Status Register Function ID: 3 Name: FIURE - FIFO Under-run #2
Register ID: 5 Name: External SPI Error Status Register Function ID: 4 Name: FIORE - FIFO Over-run #1
Register ID: 5 Name: External SPI Error Status Register Function ID: 5 Name: Reserved
Register ID: 6 Name: External SPI Input Data Register Function ID: 0 Name: Data In From SPI
Register ID: 7 Name: External SPI Output Data Register Function ID: 0 Name: Data Out to SPI
Register ID: 8 Name: External SPI Status Register Function ID: 0 Name: SPI Controller Busy
Register ID: 8 Name: External SPI Status Register Function ID: 1 Name: FIFO Full
Register ID: 8 Name: External SPI Status Register Function ID: 2 Name: Input Data Ready
Register ID: 8 Name: External SPI Status Register Function ID: 3 Name: Output Complete - FIFO empty.
Register ID: 8 Name: External SPI Status Register Function ID: 4 Name: Reserved
Register ID: 9 Name: GPIO Port 0 / Port 1 Data Register Base Address Function ID: 0 Name: GPIO Port 1 Data Register Base Address
Register ID: 9 Name: GPIO Port 0 / Port 1 Data Register Base Address Function ID: 1 Name: GPIO Port 0 Data Register Base Address
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 0 Name: Pin 7 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 1 Name: Pin 6 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 2 Name: Pin 5 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 3 Name: Pin 4 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 4 Name: Pin 3 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 5 Name: Pin 2 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 6 Name: Pin 1 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 7 Name: Pin 0 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 8 Name: Interrupt Function
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 9 Name: Interrupt Keep Period
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 10 Name: Interrupt Routing
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 11 Name: Pin 7 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 12 Name: Pin 6 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 13 Name: Pin 5 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 14 Name: Pin 4 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 15 Name: Pin 3 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 16 Name: Pin 2 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 17 Name: Pin 1 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 18 Name: Pin 0 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 19 Name: Pin 7 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 20 Name: Pin 6 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 21 Name: Pin 5 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 22 Name: Pin 4 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 23 Name: Pin 3 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 24 Name: Pin 2 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 25 Name: Pin 1 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 26 Name: Pin 0 Interrupt Mask
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 0 Name: Pin 7 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 1 Name: Pin 6 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 2 Name: Pin 5 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 3 Name: Pin 4 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 4 Name: Pin 3 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 5 Name: Pin 2 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 6 Name: Pin 1 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 7 Name: Pin 0 Interrupt Status
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 0 Name: Pin 7 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 1 Name: Pin 6 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 2 Name: Pin 5 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 3 Name: Pin 4 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 4 Name: Pin 3 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 5 Name: Pin 2 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 6 Name: Pin 1 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 7 Name: Pin 0 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 8 Name: Interrupt Function Enable
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 9 Name: Interrupt Keep Period
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 10 Name: Interrupt Routing
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 11 Name: Pin 7 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 12 Name: Pin 6 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 13 Name: Pin 5 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 14 Name: Pin 4 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 15 Name: Pin 3 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 16 Name: Pin 2 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 17 Name: Pin 1 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 18 Name: Pin 0 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 19 Name: Pin 7 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 20 Name: Pin 6 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 21 Name: Pin 5 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 22 Name: Pin 4 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 23 Name: Pin 3 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 24 Name: Pin 2 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 25 Name: Pin 1 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 26 Name: Pin 0 Interrupt Mask
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 0 Name: Pin 7 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 1 Name: Pin 6 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 2 Name: Pin 5 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 3 Name: Pin 4 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 4 Name: Pin 3 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 5 Name: Pin 2 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 6 Name: Pin 1 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 7 Name: Pin 0 Interrupt Status
Register ID: 18 Name: GPIO Port 2 / Port 3 Data Register Base Address Function ID: 0 Name: GPIO Port 3 Data Register Base Address
Register ID: 18 Name: GPIO Port 2 / Port 3 Data Register Base Address Function ID: 1 Name: GPIO Port 2 Data Register Base Address
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 24 Name: GPIO Port 4 Data Register / GPIO Base Address Function ID: 0 Name: GPIO Base Address
Register ID: 24 Name: GPIO Port 4 Data Register / GPIO Base Address Function ID: 1 Name: GPIO Port 4 Data Register Base Address
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 26 Name: I2C Base Address Function ID: 0 Name: I2C Base Address
Register ID: 27 Name: I2C0 Clock Frequency Control 1 Function ID: 0 Name: Prescaler1
Register ID: 28 Name: I2C0 Clock Frequency Control 2 Function ID: 0 Name: Fast Mode Enable
Register ID: 28 Name: I2C0 Clock Frequency Control 2 Function ID: 1 Name: Prescaler2
Register ID: 29 Name: I2C0 Control Register Function ID: 0 Name: Slave Write Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 1 Name: RX Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 2 Name: TX Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 3 Name: NAK Interupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 4 Name: Arbitration Loss Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 5 Name: Slave Mode Stop Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 6 Name: Stop
Register ID: 29 Name: I2C0 Control Register Function ID: 7 Name: NAK / ACK after Send
Register ID: 30 Name: I2C0 Extra Control Register Function ID: 0 Name: I2C Reset
Register ID: 30 Name: I2C0 Extra Control Register Function ID: 1 Name: TX RX Collision
Register ID: 30 Name: I2C0 Extra Control Register Function ID: 2 Name: Reserved
Register ID: 31 Name: I2C0 My_Address Register Function ID: 0 Name: Slave Address
Register ID: 31 Name: I2C0 My_Address Register Function ID: 1 Name: Reserved
Register ID: 32 Name: I2C0 Status Register Function ID: 0 Name: Slave Write Request
Register ID: 32 Name: I2C0 Status Register Function ID: 1 Name: RX Ready
Register ID: 32 Name: I2C0 Status Register Function ID: 2 Name: TX Done
Register ID: 32 Name: I2C0 Status Register Function ID: 3 Name: NAK Error
Register ID: 32 Name: I2C0 Status Register Function ID: 4 Name: Arbitration Loss
Register ID: 32 Name: I2C0 Status Register Function ID: 5 Name: Slave STOP
Register ID: 32 Name: I2C0 Status Register Function ID: 6 Name: Bus Busy
Register ID: 32 Name: I2C0 Status Register Function ID: 7 Name: Master / Slave
Register ID: 33 Name: I2C0 Transmit / Receive Data Register Function ID: 0 Name: Data
Register ID: 34 Name: I2C0 Transmit Address Register Function ID: 0 Name: TX Slave Address
Register ID: 34 Name: I2C0 Transmit Address Register Function ID: 1 Name: TX RW Flag
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 0 Name: Reserved
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 1 Name: IO16W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 2 Name: IO8W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 3 Name: MEM16W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 4 Name: MEM8W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 5 Name: ISACLK
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 6 Name: Int_zw
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 7 Name: Reserved
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 8 Name: IDEIS
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 9 Name: PWM2
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 10 Name: PWM1
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 11 Name: PWM0
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 12 Name: FCDC
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 13 Name: MCLK
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 14 Name: EMIQ
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 15 Name: PINS6
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 16 Name: SFCE
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 17 Name: PINS5
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 18 Name: PINS4
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 19 Name: CPS
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 20 Name: PINS2
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 21 Name: PINS1 - Select COM1 or GPIO4
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 22 Name: PINS0 - Select GPIO3 3-0 or Ext SPI
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 0 Name: GPIO4 Pin 7 or Servo 31
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 1 Name: GPIO4 Pin 6 or Servo 30
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 2 Name: GPIO4 Pin 5 or Servo 29
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 3 Name: GPIO4 Pin 4 or Servo 28
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 4 Name: GPIO4 Pin 3 or Servo 27
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 5 Name: GPIO4 Pin 2 or Servo 26
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 6 Name: GPIO4 Pin 1 or Servo 25
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 7 Name: GPIO4 Pin 0 or Servo 24
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 8 Name: GPIO2 Pin 7 or Servo 23
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 9 Name: GPIO2 Pin 6 or Servo 22
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 10 Name: GPIO2 Pin 5 or Servo 21
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 11 Name: GPIO2 Pin 4 or Servo 20
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 12 Name: GPIO2 Pin 3 or Servo 19
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 13 Name: GPIO2 Pin 2 or Servo 18
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 14 Name: GPIO2 Pin 1 or Servo 17
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 15 Name: GPIO2 Pin 0 or Servo 16
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 16 Name: GPIO1 Pin 7 or Servo 15
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 17 Name: GPIO1 Pin 6 or Servo 14
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 18 Name: GPIO1 Pin 5 or Servo 13
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 19 Name: GPIO1 Pin 4 or Servo 12
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 20 Name: GPIO1 Pin 3 or Servo 11
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 21 Name: GPIO1 Pin 2 or Servo 10
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 22 Name: GPIO1 Pin 1 or Servo 9
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 23 Name: GPIO1 Pin 0 or Servo 8
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 24 Name: GPIO0 Pin 7 or Servo 7
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 25 Name: GPIO0 Pin 6 or Servo 6
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 26 Name: GPIO0 Pin 5 or Servo 5
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 27 Name: GPIO0 Pin 4 or Servo 4
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 28 Name: GPIO0 Pin 3 or Servo 3
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 29 Name: GPIO0 Pin 2 or Servo 2
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 30 Name: GPIO0 Pin 1 or Servo 1
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 31 Name: GPIO0 Pin 0 or Servo 0
Register ID: 37 Name: Internal Peripheral Feature Control Register III Function ID: 0 Name: Unknown
Register ID: 38 Name: On-Chip Device Control Register Function ID: 0 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 1 Name: UDP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 2 Name: GSP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 3 Name: SVP - Servo Power
Register ID: 38 Name: On-Chip Device Control Register Function ID: 4 Name: G1IP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 5 Name: G0IP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 6 Name: I2C1P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 7 Name: I2C0P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 8 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 9 Name: PPP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 10 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 11 Name: COM9P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 12 Name: COM4P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 13 Name: COM3P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 14 Name: COM2P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 15 Name: COM1P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 16 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 17 Name: MACP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 18 Name: USB2P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 19 Name: USB1P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 20 Name: IDEP
Register ID: 39 Name: Servo 0 Control Register Function ID: 0 Name: Servo Enable
Register ID: 39 Name: Servo 0 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 39 Name: Servo 0 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 39 Name: Servo 0 Control Register Function ID: 3 Name: Reserved
Register ID: 39 Name: Servo 0 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 40 Name: Servo 0 Pulse High Count Register Function ID: 0 Name: Servo 0 Pulse High Count
Register ID: 41 Name: Servo 0 Pulse Low Count Register Function ID: 0 Name: Servo 0 Pulse Low Count
Register ID: 42 Name: Servo 1 Control Register Function ID: 0 Name: Servo Enable
Register ID: 42 Name: Servo 1 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 42 Name: Servo 1 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 42 Name: Servo 1 Control Register Function ID: 3 Name: Reserved
Register ID: 42 Name: Servo 1 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 43 Name: Servo 1 Pulse High Count Register Function ID: 0 Name: Servo 1 Pulse High Count
Register ID: 44 Name: Servo 1 Pulse Low Count Register Function ID: 0 Name: Servo 1 Pulse Low Count
Register ID: 45 Name: Servo 10 Control Register Function ID: 0 Name: Servo Enable
Register ID: 45 Name: Servo 10 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 45 Name: Servo 10 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 45 Name: Servo 10 Control Register Function ID: 3 Name: Reserved
Register ID: 45 Name: Servo 10 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 46 Name: Servo 10 Pulse High Count Register Function ID: 0 Name: Servo 10 Pulse High Count
Register ID: 47 Name: Servo 10 Pulse Low Count Register Function ID: 0 Name: Servo 10 Pulse Low Count
Register ID: 48 Name: Servo 11 Control Register Function ID: 0 Name: Servo Enable
Register ID: 48 Name: Servo 11 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 48 Name: Servo 11 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 48 Name: Servo 11 Control Register Function ID: 3 Name: Reserved
Register ID: 48 Name: Servo 11 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 49 Name: Servo 11 Pulse High Count Register Function ID: 0 Name: Servo 11 Pulse High Count
Register ID: 50 Name: Servo 11 Pulse Low Count Register Function ID: 0 Name: Servo 11 Pulse Low Count
Register ID: 51 Name: Servo 12 Control Register Function ID: 0 Name: Servo Enable
Register ID: 51 Name: Servo 12 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 51 Name: Servo 12 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 51 Name: Servo 12 Control Register Function ID: 3 Name: Reserved
Register ID: 51 Name: Servo 12 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 52 Name: Servo 12 Pulse High Count Register Function ID: 0 Name: Servo 12 Pulse High Count
Register ID: 53 Name: Servo 12 Pulse Low Count Register Function ID: 0 Name: Servo 12 Pulse Low Count
Register ID: 54 Name: Servo 13 Control Register Function ID: 0 Name: Servo Enable
Register ID: 54 Name: Servo 13 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 54 Name: Servo 13 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 54 Name: Servo 13 Control Register Function ID: 3 Name: Reserved
Register ID: 54 Name: Servo 13 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 55 Name: Servo 13 Pulse High Count Register Function ID: 0 Name: Servo 13 Pulse High Count
Register ID: 56 Name: Servo 13 Pulse Low Count Register Function ID: 0 Name: Servo 13 Pulse Low Count
Register ID: 57 Name: Servo 14 Control Register Function ID: 0 Name: Servo Enable
Register ID: 57 Name: Servo 14 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 57 Name: Servo 14 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 57 Name: Servo 14 Control Register Function ID: 3 Name: Reserved
Register ID: 57 Name: Servo 14 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 58 Name: Servo 14 Pulse High Count Register Function ID: 0 Name: Servo 14 Pulse High Count
Register ID: 59 Name: Servo 14 Pulse Low Count Register Function ID: 0 Name: Servo 14 Pulse Low Count
Register ID: 60 Name: Servo 15 Control Register Function ID: 0 Name: Servo Enable
Register ID: 60 Name: Servo 15 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 60 Name: Servo 15 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 60 Name: Servo 15 Control Register Function ID: 3 Name: Reserved
Register ID: 60 Name: Servo 15 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 61 Name: Servo 15 Pulse High Count Register Function ID: 0 Name: Servo 15 Pulse High Count
Register ID: 62 Name: Servo 15 Pulse Low Count Register Function ID: 0 Name: Servo 15 Pulse Low Count
Register ID: 63 Name: Servo 16 Control Register Function ID: 0 Name: Servo Enable
Register ID: 63 Name: Servo 16 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 63 Name: Servo 16 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 63 Name: Servo 16 Control Register Function ID: 3 Name: Reserved
Register ID: 63 Name: Servo 16 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 64 Name: Servo 16 Pulse High Count Register Function ID: 0 Name: Servo 16 Pulse High Count
Register ID: 65 Name: Servo 16 Pulse Low Count Register Function ID: 0 Name: Servo 16 Pulse Low Count
Register ID: 66 Name: Servo 17 Control Register Function ID: 0 Name: Servo Enable
Register ID: 66 Name: Servo 17 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 66 Name: Servo 17 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 66 Name: Servo 17 Control Register Function ID: 3 Name: Reserved
Register ID: 66 Name: Servo 17 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 67 Name: Servo 17 Pulse High Count Register Function ID: 0 Name: Servo 17 Pulse High Count
Register ID: 68 Name: Servo 17 Pulse Low Count Register Function ID: 0 Name: Servo 17 Pulse Low Count
Register ID: 69 Name: Servo 18 Control Register Function ID: 0 Name: Servo Enable
Register ID: 69 Name: Servo 18 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 69 Name: Servo 18 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 69 Name: Servo 18 Control Register Function ID: 3 Name: Reserved
Register ID: 69 Name: Servo 18 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 70 Name: Servo 18 Pulse High Count Register Function ID: 0 Name: Servo 18 Pulse High Count
Register ID: 71 Name: Servo 18 Pulse Low Count Register Function ID: 0 Name: Servo 18 Pulse Low Count
Register ID: 72 Name: Servo 19 Control Register Function ID: 0 Name: Servo Enable
Register ID: 72 Name: Servo 19 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 72 Name: Servo 19 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 72 Name: Servo 19 Control Register Function ID: 3 Name: Reserved
Register ID: 72 Name: Servo 19 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 73 Name: Servo 19 Pulse High Count Register Function ID: 0 Name: Servo 19 Pulse High Count
Register ID: 74 Name: Servo 19 Pulse Low Count Register Function ID: 0 Name: Servo 19 Pulse Low Count
Register ID: 75 Name: Servo 2 Control Register Function ID: 0 Name: Servo Enable
Register ID: 75 Name: Servo 2 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 75 Name: Servo 2 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 75 Name: Servo 2 Control Register Function ID: 3 Name: Reserved
Register ID: 75 Name: Servo 2 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 76 Name: Servo 2 Pulse High Count Register Function ID: 0 Name: Servo 2 Pulse High Count
Register ID: 77 Name: Servo 2 Pulse Low Count Register Function ID: 0 Name: Servo 2 Pulse Low Count
Register ID: 78 Name: Servo 20 Control Register Function ID: 0 Name: Servo Enable
Register ID: 78 Name: Servo 20 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 78 Name: Servo 20 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 78 Name: Servo 20 Control Register Function ID: 3 Name: Reserved
Register ID: 78 Name: Servo 20 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 79 Name: Servo 20 Pulse High Count Register Function ID: 0 Name: Servo 20 Pulse High Count
Register ID: 80 Name: Servo 20 Pulse Low Count Register Function ID: 0 Name: Servo 20 Pulse Low Count
Register ID: 81 Name: Servo 21 Control Register Function ID: 0 Name: Servo Enable
Register ID: 81 Name: Servo 21 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 81 Name: Servo 21 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 81 Name: Servo 21 Control Register Function ID: 3 Name: Reserved
Register ID: 81 Name: Servo 21 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 82 Name: Servo 21 Pulse High Count Register Function ID: 0 Name: Servo 21 Pulse High Count
Register ID: 83 Name: Servo 21 Pulse Low Count Register Function ID: 0 Name: Servo 21 Pulse Low Count
Register ID: 84 Name: Servo 22 Control Register Function ID: 0 Name: Servo Enable
Register ID: 84 Name: Servo 22 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 84 Name: Servo 22 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 84 Name: Servo 22 Control Register Function ID: 3 Name: Reserved
Register ID: 84 Name: Servo 22 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 85 Name: Servo 22 Pulse High Count Register Function ID: 0 Name: Servo 22 Pulse High Count
Register ID: 86 Name: Servo 22 Pulse Low Count Register Function ID: 0 Name: Servo 22 Pulse Low Count
Register ID: 87 Name: Servo 23 Control Register Function ID: 0 Name: Servo Enable
Register ID: 87 Name: Servo 23 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 87 Name: Servo 23 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 87 Name: Servo 23 Control Register Function ID: 3 Name: Reserved
Register ID: 87 Name: Servo 23 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 88 Name: Servo 23 Pulse High Count Register Function ID: 0 Name: Servo 23 Pulse High Count
Register ID: 89 Name: Servo 23 Pulse Low Count Register Function ID: 0 Name: Servo 23 Pulse Low Count
Register ID: 90 Name: Servo 24 Control Register Function ID: 0 Name: Servo Enable
Register ID: 90 Name: Servo 24 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 90 Name: Servo 24 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 90 Name: Servo 24 Control Register Function ID: 3 Name: Reserved
Register ID: 90 Name: Servo 24 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 91 Name: Servo 24 Pulse High Count Register Function ID: 0 Name: Servo 24 Pulse High Count
Register ID: 92 Name: Servo 24 Pulse Low Count Register Function ID: 0 Name: Servo 24 Pulse Low Count
Register ID: 93 Name: Servo 25 Control Register Function ID: 0 Name: Servo Enable
Register ID: 93 Name: Servo 25 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 93 Name: Servo 25 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 93 Name: Servo 25 Control Register Function ID: 3 Name: Reserved
Register ID: 93 Name: Servo 25 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 94 Name: Servo 25 Pulse High Count Register Function ID: 0 Name: Servo 25 Pulse High Count
Register ID: 95 Name: Servo 25 Pulse Low Count Register Function ID: 0 Name: Servo 25 Pulse Low Count
Register ID: 96 Name: Servo 26 Control Register Function ID: 0 Name: Servo Enable
Register ID: 96 Name: Servo 26 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 96 Name: Servo 26 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 96 Name: Servo 26 Control Register Function ID: 3 Name: Reserved
Register ID: 96 Name: Servo 26 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 97 Name: Servo 26 Pulse High Count Register Function ID: 0 Name: Servo 26 Pulse High Count
Register ID: 98 Name: Servo 26 Pulse Low Count Register Function ID: 0 Name: Servo 26 Pulse Low Count
Register ID: 99 Name: Servo 27 Control Register Function ID: 0 Name: Servo Enable
Register ID: 99 Name: Servo 27 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 99 Name: Servo 27 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 99 Name: Servo 27 Control Register Function ID: 3 Name: Reserved
Register ID: 99 Name: Servo 27 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 100 Name: Servo 27 Pulse High Count Register Function ID: 0 Name: Servo 27 Pulse High Count
Register ID: 101 Name: Servo 27 Pulse Low Count Register Function ID: 0 Name: Servo 27 Pulse Low Count
Register ID: 102 Name: Servo 28 Control Register Function ID: 0 Name: Servo Enable
Register ID: 102 Name: Servo 28 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 102 Name: Servo 28 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 102 Name: Servo 28 Control Register Function ID: 3 Name: Reserved
Register ID: 102 Name: Servo 28 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 103 Name: Servo 28 Pulse High Count Register Function ID: 0 Name: Servo 28 Pulse High Count
Register ID: 104 Name: Servo 28 Pulse Low Count Register Function ID: 0 Name: Servo 28 Pulse Low Count
Register ID: 105 Name: Servo 29 Control Register Function ID: 0 Name: Servo Enable
Register ID: 105 Name: Servo 29 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 105 Name: Servo 29 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 105 Name: Servo 29 Control Register Function ID: 3 Name: Reserved
Register ID: 105 Name: Servo 29 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 106 Name: Servo 29 Pulse High Count Register Function ID: 0 Name: Servo 29 Pulse High Count
Register ID: 107 Name: Servo 29 Pulse Low Count Register Function ID: 0 Name: Servo 29 Pulse Low Count
Register ID: 108 Name: Servo 3 Control Register Function ID: 0 Name: Servo Enable
Register ID: 108 Name: Servo 3 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 108 Name: Servo 3 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 108 Name: Servo 3 Control Register Function ID: 3 Name: Reserved
Register ID: 108 Name: Servo 3 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 109 Name: Servo 3 Pulse High Count Register Function ID: 0 Name: Servo 3 Pulse High Count
Register ID: 110 Name: Servo 3 Pulse Low Count Register Function ID: 0 Name: Servo 3 Pulse Low Count
Register ID: 111 Name: Servo 30 Control Register Function ID: 0 Name: Servo Enable
Register ID: 111 Name: Servo 30 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 111 Name: Servo 30 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 111 Name: Servo 30 Control Register Function ID: 3 Name: Reserved
Register ID: 111 Name: Servo 30 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 112 Name: Servo 30 Pulse High Count Register Function ID: 0 Name: Servo 30 Pulse High Count
Register ID: 113 Name: Servo 30 Pulse Low Count Register Function ID: 0 Name: Servo 30 Pulse Low Count
Register ID: 114 Name: Servo 31 Control Register Function ID: 0 Name: Servo Enable
Register ID: 114 Name: Servo 31 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 114 Name: Servo 31 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 114 Name: Servo 31 Control Register Function ID: 3 Name: Reserved
Register ID: 114 Name: Servo 31 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 115 Name: Servo 31 Pulse High Count Register Function ID: 0 Name: Servo 31 Pulse High Count
Register ID: 116 Name: Servo 31 Pulse Low Count Register Function ID: 0 Name: Servo 31 Pulse Low Count
Register ID: 117 Name: Servo 4 Control Register Function ID: 0 Name: Servo Enable
Register ID: 117 Name: Servo 4 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 117 Name: Servo 4 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 117 Name: Servo 4 Control Register Function ID: 3 Name: Reserved
Register ID: 117 Name: Servo 4 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 118 Name: Servo 4 Pulse High Count Register Function ID: 0 Name: Servo 4 Pulse High Count
Register ID: 119 Name: Servo 4 Pulse Low Count Register Function ID: 0 Name: Servo 4 Pulse Low Count
Register ID: 120 Name: Servo 5 Control Register Function ID: 0 Name: Servo Enable
Register ID: 120 Name: Servo 5 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 120 Name: Servo 5 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 120 Name: Servo 5 Control Register Function ID: 3 Name: Reserved
Register ID: 120 Name: Servo 5 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 121 Name: Servo 5 Pulse High Count Register Function ID: 0 Name: Servo 5 Pulse High Count
Register ID: 122 Name: Servo 5 Pulse Low Count Register Function ID: 0 Name: Servo 5 Pulse Low Count
Register ID: 123 Name: Servo 6 Control Register Function ID: 0 Name: Servo Enable
Register ID: 123 Name: Servo 6 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 123 Name: Servo 6 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 123 Name: Servo 6 Control Register Function ID: 3 Name: Reserved
Register ID: 123 Name: Servo 6 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 124 Name: Servo 6 Pulse High Count Register Function ID: 0 Name: Servo 6 Pulse High Count
Register ID: 125 Name: Servo 6 Pulse Low Count Register Function ID: 0 Name: Servo 6 Pulse Low Count
Register ID: 126 Name: Servo 7 Control Register Function ID: 0 Name: Servo Enable
Register ID: 126 Name: Servo 7 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 126 Name: Servo 7 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 126 Name: Servo 7 Control Register Function ID: 3 Name: Reserved
Register ID: 126 Name: Servo 7 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 127 Name: Servo 7 Pulse High Count Register Function ID: 0 Name: Servo 7 Pulse High Count
Register ID: 128 Name: Servo 7 Pulse Low Count Register Function ID: 0 Name: Servo 7 Pulse Low Count
Register ID: 129 Name: Servo 8 Control Register Function ID: 0 Name: Servo Enable
Register ID: 129 Name: Servo 8 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 129 Name: Servo 8 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 129 Name: Servo 8 Control Register Function ID: 3 Name: Reserved
Register ID: 129 Name: Servo 8 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 130 Name: Servo 8 Pulse High Count Register Function ID: 0 Name: Servo 8 Pulse High Count
Register ID: 131 Name: Servo 8 Pulse Low Count Register Function ID: 0 Name: Servo 8 Pulse Low Count
Register ID: 132 Name: Servo 9 Control Register Function ID: 0 Name: Servo Enable
Register ID: 132 Name: Servo 9 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 132 Name: Servo 9 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 132 Name: Servo 9 Control Register Function ID: 3 Name: Reserved
Register ID: 132 Name: Servo 9 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 133 Name: Servo 9 Pulse High Count Register Function ID: 0 Name: Servo 9 Pulse High Count
Register ID: 134 Name: Servo 9 Pulse Low Count Register Function ID: 0 Name: Servo 9 Pulse Low Count
Register ID: 135 Name: Servo Control Register Function ID: 0 Name: Reserved
Register ID: 135 Name: Servo Control Register Function ID: 1 Name: CLKS
Register ID: 135 Name: Servo Control Register Function ID: 2 Name: Internal Servo Address Decode
Register ID: 135 Name: Servo Control Register Function ID: 3 Name: Reserved
Register ID: 135 Name: Servo Control Register Function ID: 4 Name: Servo IRQ Routing Table
Register ID: 135 Name: Servo Control Register Function ID: 5 Name: Servo Base Address
Register ID: 135 Name: Servo Control Register Function ID: 6 Name: Reserved
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 0 Name: Servo 31 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 1 Name: Servo 30 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 2 Name: Servo 29 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 3 Name: Servo 28 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 4 Name: Servo 27 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 5 Name: Servo 26 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 6 Name: Servo 25 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 7 Name: Servo 24 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 8 Name: Servo 23 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 9 Name: Servo 22 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 10 Name: Servo 21 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 11 Name: Servo 20 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 12 Name: Servo 19 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 13 Name: Servo 18 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 14 Name: Servo 17 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 15 Name: Servo 16 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 16 Name: Servo 15 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 17 Name: Servo 14 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 18 Name: Servo 13 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 19 Name: Servo 12 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 20 Name: Servo 11 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 21 Name: Servo 10 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 22 Name: Servo 9 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 23 Name: Servo 8 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 24 Name: Servo 7 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 25 Name: Servo 6 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 26 Name: Servo 5 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 27 Name: Servo 4 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 28 Name: Servo 3 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 29 Name: Servo 2 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 30 Name: Servo 1 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 31 Name: Servo 0 Interrupt Mask
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 0 Name: Servo 31 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 1 Name: Servo 30 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 2 Name: Servo 29 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 3 Name: Servo 28 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 4 Name: Servo 27 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 5 Name: Servo 26 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 6 Name: Servo 25 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 7 Name: Servo 24 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 8 Name: Servo 23 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 9 Name: Servo 22 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 10 Name: Servo 21 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 11 Name: Servo 20 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 12 Name: Servo 19 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 13 Name: Servo 18 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 14 Name: Servo 17 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 15 Name: Servo 16 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 16 Name: Servo 15 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 17 Name: Servo 14 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 18 Name: Servo 13 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 19 Name: Servo 12 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 20 Name: Servo 11 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 21 Name: Servo 10 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 22 Name: Servo 9 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 23 Name: Servo 8 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 24 Name: Servo 7 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 25 Name: Servo 6 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 26 Name: Servo 5 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 27 Name: Servo 4 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 28 Name: Servo 3 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 29 Name: Servo 2 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 30 Name: Servo 1 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 31 Name: Servo 0 Interrupt Status
Register ID: 138 Name: Servo Sync Register Function ID: 0 Name: Servo 31 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 1 Name: Servo 30 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 2 Name: Servo 29 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 3 Name: Servo 28 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 4 Name: Servo 27 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 5 Name: Servo 26 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 6 Name: Servo 25 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 7 Name: Servo 24 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 8 Name: Servo 23 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 9 Name: Servo 22 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 10 Name: Servo 21 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 11 Name: Servo 20 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 12 Name: Servo 19 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 13 Name: Servo 18 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 14 Name: Servo 17 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 15 Name: Servo 16 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 16 Name: Servo 15 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 17 Name: Servo 14 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 18 Name: Servo 13 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 19 Name: Servo 12 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 20 Name: Servo 11 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 21 Name: Servo 10 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 22 Name: Servo 9 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 23 Name: Servo 8 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 24 Name: Servo 7 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 25 Name: Servo 6 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 26 Name: Servo 5 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 27 Name: Servo 4 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 28 Name: Servo 3 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 29 Name: Servo 2 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 30 Name: Servo 1 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 31 Name: Servo 0 Sync Status
Register ID: 139 Name: SPI Base Address Register Function ID: 0 Name: SPI Base Address
Register ID: 139 Name: SPI Base Address Register Function ID: 1 Name: Reserved
Register ID: 139 Name: SPI Base Address Register Function ID: 2 Name: SPI Address Mapping
Register ID: 139 Name: SPI Base Address Register Function ID: 3 Name: SPI Base Address Enable[/code]
To make things easier, to access devices via code:

From your instance of RegisterManager, as Reg per the application as posted:

Code: Select all
Reg.Registers(RegisterID).Functions(FunctionID).FunctionValue = Some Valid Value


That's all it takes to set your function in code, no need to call RegisterWrite.

To Read a value:

Code: Select all
Reg.Registers(RegisterID).RegisterRead
Dim a as Integer = Reg.Registers(RegisterID).Functions(FunctionID).FunctionValue


Below is a list of Register ID's, Register Names, Function ID's, and Function Names.

Have Fun! :)
Paul

Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 0 Name: GPIO4 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 1 Name: GPIO3-3 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 2 Name: GPIO3-1 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 3 Name: GPIO2 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 4 Name: GPIO1 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 5 Name: GPIO0 Drive Current
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 6 Name: Reserved
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 7 Name: PCI_DT_SR
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 8 Name: PCI_DT_DRV
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 9 Name: ISACK_CTL
Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 10 Name: 24M_CTL
Register ID: 1 Name: CPU ID Register Function ID: 0 Name: CPU ID
Register ID: 2 Name: CPU Revision Register Function ID: 0 Name: CPU REV
Register ID: 3 Name: External SPI Chip Select Register Function ID: 0 Name: Reserved
Register ID: 3 Name: External SPI Chip Select Register Function ID: 1 Name: Chip Select
Register ID: 4 Name: External SPI Control Register Function ID: 0 Name: Reserved
Register ID: 4 Name: External SPI Control Register Function ID: 1 Name: FIFO Enable
Register ID: 4 Name: External SPI Control Register Function ID: 2 Name: SPI Clock Divide
Register ID: 5 Name: External SPI Error Status Register Function ID: 0 Name: Reserved
Register ID: 5 Name: External SPI Error Status Register Function ID: 1 Name: WCTE - Write to SPI while busy #4
Register ID: 5 Name: External SPI Error Status Register Function ID: 2 Name: DOLE - Input data overlap #3
Register ID: 5 Name: External SPI Error Status Register Function ID: 3 Name: FIURE - FIFO Under-run #2
Register ID: 5 Name: External SPI Error Status Register Function ID: 4 Name: FIORE - FIFO Over-run #1
Register ID: 5 Name: External SPI Error Status Register Function ID: 5 Name: Reserved
Register ID: 6 Name: External SPI Input Data Register Function ID: 0 Name: Data In From SPI
Register ID: 7 Name: External SPI Output Data Register Function ID: 0 Name: Data Out to SPI
Register ID: 8 Name: External SPI Status Register Function ID: 0 Name: SPI Controller Busy
Register ID: 8 Name: External SPI Status Register Function ID: 1 Name: FIFO Full
Register ID: 8 Name: External SPI Status Register Function ID: 2 Name: Input Data Ready
Register ID: 8 Name: External SPI Status Register Function ID: 3 Name: Output Complete - FIFO empty.
Register ID: 8 Name: External SPI Status Register Function ID: 4 Name: Reserved
Register ID: 9 Name: GPIO Port 0 / Port 1 Data Register Base Address Function ID: 0 Name: GPIO Port 1 Data Register Base Address
Register ID: 9 Name: GPIO Port 0 / Port 1 Data Register Base Address Function ID: 1 Name: GPIO Port 0 Data Register Base Address
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 0 Name: Pin 7 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 1 Name: Pin 6 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 2 Name: Pin 5 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 3 Name: Pin 4 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 4 Name: Pin 3 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 5 Name: Pin 2 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 6 Name: Pin 1 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 7 Name: Pin 0 Interrupt Control
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 8 Name: Interrupt Function
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 9 Name: Interrupt Keep Period
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 10 Name: Interrupt Routing
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 11 Name: Pin 7 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 12 Name: Pin 6 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 13 Name: Pin 5 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 14 Name: Pin 4 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 15 Name: Pin 3 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 16 Name: Pin 2 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 17 Name: Pin 1 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 18 Name: Pin 0 Interrupt Level
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 19 Name: Pin 7 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 20 Name: Pin 6 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 21 Name: Pin 5 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 22 Name: Pin 4 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 23 Name: Pin 3 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 24 Name: Pin 2 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 25 Name: Pin 1 Interrupt Mask
Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 26 Name: Pin 0 Interrupt Mask
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 0 Name: Pin 7 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 1 Name: Pin 6 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 2 Name: Pin 5 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 3 Name: Pin 4 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 4 Name: Pin 3 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 5 Name: Pin 2 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 6 Name: Pin 1 Interrupt Status
Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 7 Name: Pin 0 Interrupt Status
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 0 Name: Pin 7 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 1 Name: Pin 6 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 2 Name: Pin 5 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 3 Name: Pin 4 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 4 Name: Pin 3 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 5 Name: Pin 2 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 6 Name: Pin 1 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 7 Name: Pin 0 Interrupt Control
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 8 Name: Interrupt Function Enable
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 9 Name: Interrupt Keep Period
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 10 Name: Interrupt Routing
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 11 Name: Pin 7 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 12 Name: Pin 6 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 13 Name: Pin 5 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 14 Name: Pin 4 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 15 Name: Pin 3 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 16 Name: Pin 2 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 17 Name: Pin 1 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 18 Name: Pin 0 Interrupt Level
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 19 Name: Pin 7 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 20 Name: Pin 6 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 21 Name: Pin 5 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 22 Name: Pin 4 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 23 Name: Pin 3 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 24 Name: Pin 2 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 25 Name: Pin 1 Interrupt Mask
Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 26 Name: Pin 0 Interrupt Mask
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 0 Name: Pin 7 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 1 Name: Pin 6 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 2 Name: Pin 5 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 3 Name: Pin 4 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 4 Name: Pin 3 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 5 Name: Pin 2 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 6 Name: Pin 1 Interrupt Status
Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 7 Name: Pin 0 Interrupt Status
Register ID: 18 Name: GPIO Port 2 / Port 3 Data Register Base Address Function ID: 0 Name: GPIO Port 3 Data Register Base Address
Register ID: 18 Name: GPIO Port 2 / Port 3 Data Register Base Address Function ID: 1 Name: GPIO Port 2 Data Register Base Address
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 0 Name: Pin 7 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 1 Name: Pin 6 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 2 Name: Pin 5 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 3 Name: Pin 4 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 4 Name: Pin 3 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 5 Name: Pin 2 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 6 Name: Pin 1 State
Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 7 Name: Pin 0 State
Register ID: 24 Name: GPIO Port 4 Data Register / GPIO Base Address Function ID: 0 Name: GPIO Base Address
Register ID: 24 Name: GPIO Port 4 Data Register / GPIO Base Address Function ID: 1 Name: GPIO Port 4 Data Register Base Address
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 0 Name: Pin 7 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 1 Name: Pin 6 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 2 Name: Pin 5 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 3 Name: Pin 4 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 4 Name: Pin 3 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 5 Name: Pin 2 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 6 Name: Pin 1 Direction
Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 7 Name: Pin 0 Direction
Register ID: 26 Name: I2C Base Address Function ID: 0 Name: I2C Base Address
Register ID: 27 Name: I2C0 Clock Frequency Control 1 Function ID: 0 Name: Prescaler1
Register ID: 28 Name: I2C0 Clock Frequency Control 2 Function ID: 0 Name: Fast Mode Enable
Register ID: 28 Name: I2C0 Clock Frequency Control 2 Function ID: 1 Name: Prescaler2
Register ID: 29 Name: I2C0 Control Register Function ID: 0 Name: Slave Write Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 1 Name: RX Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 2 Name: TX Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 3 Name: NAK Interupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 4 Name: Arbitration Loss Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 5 Name: Slave Mode Stop Interrupt Enable
Register ID: 29 Name: I2C0 Control Register Function ID: 6 Name: Stop
Register ID: 29 Name: I2C0 Control Register Function ID: 7 Name: NAK / ACK after Send
Register ID: 30 Name: I2C0 Extra Control Register Function ID: 0 Name: I2C Reset
Register ID: 30 Name: I2C0 Extra Control Register Function ID: 1 Name: TX RX Collision
Register ID: 30 Name: I2C0 Extra Control Register Function ID: 2 Name: Reserved
Register ID: 31 Name: I2C0 My_Address Register Function ID: 0 Name: Slave Address
Register ID: 31 Name: I2C0 My_Address Register Function ID: 1 Name: Reserved
Register ID: 32 Name: I2C0 Status Register Function ID: 0 Name: Slave Write Request
Register ID: 32 Name: I2C0 Status Register Function ID: 1 Name: RX Ready
Register ID: 32 Name: I2C0 Status Register Function ID: 2 Name: TX Done
Register ID: 32 Name: I2C0 Status Register Function ID: 3 Name: NAK Error
Register ID: 32 Name: I2C0 Status Register Function ID: 4 Name: Arbitration Loss
Register ID: 32 Name: I2C0 Status Register Function ID: 5 Name: Slave STOP
Register ID: 32 Name: I2C0 Status Register Function ID: 6 Name: Bus Busy
Register ID: 32 Name: I2C0 Status Register Function ID: 7 Name: Master / Slave
Register ID: 33 Name: I2C0 Transmit / Receive Data Register Function ID: 0 Name: Data
Register ID: 34 Name: I2C0 Transmit Address Register Function ID: 0 Name: TX Slave Address
Register ID: 34 Name: I2C0 Transmit Address Register Function ID: 1 Name: TX RW Flag
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 0 Name: Reserved
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 1 Name: IO16W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 2 Name: IO8W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 3 Name: MEM16W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 4 Name: MEM8W
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 5 Name: ISACLK
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 6 Name: Int_zw
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 7 Name: Reserved
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 8 Name: IDEIS
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 9 Name: PWM2
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 10 Name: PWM1
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 11 Name: PWM0
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 12 Name: FCDC
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 13 Name: MCLK
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 14 Name: EMIQ
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 15 Name: PINS6
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 16 Name: SFCE
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 17 Name: PINS5
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 18 Name: PINS4
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 19 Name: CPS
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 20 Name: PINS2
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 21 Name: PINS1 - Select COM1 or GPIO4
Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 22 Name: PINS0 - Select GPIO3 3-0 or Ext SPI
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 0 Name: GPIO4 Pin 7 or Servo 31
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 1 Name: GPIO4 Pin 6 or Servo 30
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 2 Name: GPIO4 Pin 5 or Servo 29
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 3 Name: GPIO4 Pin 4 or Servo 28
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 4 Name: GPIO4 Pin 3 or Servo 27
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 5 Name: GPIO4 Pin 2 or Servo 26
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 6 Name: GPIO4 Pin 1 or Servo 25
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 7 Name: GPIO4 Pin 0 or Servo 24
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 8 Name: GPIO2 Pin 7 or Servo 23
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 9 Name: GPIO2 Pin 6 or Servo 22
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 10 Name: GPIO2 Pin 5 or Servo 21
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 11 Name: GPIO2 Pin 4 or Servo 20
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 12 Name: GPIO2 Pin 3 or Servo 19
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 13 Name: GPIO2 Pin 2 or Servo 18
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 14 Name: GPIO2 Pin 1 or Servo 17
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 15 Name: GPIO2 Pin 0 or Servo 16
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 16 Name: GPIO1 Pin 7 or Servo 15
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 17 Name: GPIO1 Pin 6 or Servo 14
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 18 Name: GPIO1 Pin 5 or Servo 13
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 19 Name: GPIO1 Pin 4 or Servo 12
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 20 Name: GPIO1 Pin 3 or Servo 11
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 21 Name: GPIO1 Pin 2 or Servo 10
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 22 Name: GPIO1 Pin 1 or Servo 9
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 23 Name: GPIO1 Pin 0 or Servo 8
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 24 Name: GPIO0 Pin 7 or Servo 7
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 25 Name: GPIO0 Pin 6 or Servo 6
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 26 Name: GPIO0 Pin 5 or Servo 5
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 27 Name: GPIO0 Pin 4 or Servo 4
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 28 Name: GPIO0 Pin 3 or Servo 3
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 29 Name: GPIO0 Pin 2 or Servo 2
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 30 Name: GPIO0 Pin 1 or Servo 1
Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 31 Name: GPIO0 Pin 0 or Servo 0
Register ID: 37 Name: Internal Peripheral Feature Control Register III Function ID: 0 Name: Unknown
Register ID: 38 Name: On-Chip Device Control Register Function ID: 0 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 1 Name: UDP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 2 Name: GSP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 3 Name: SVP - Servo Power
Register ID: 38 Name: On-Chip Device Control Register Function ID: 4 Name: G1IP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 5 Name: G0IP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 6 Name: I2C1P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 7 Name: I2C0P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 8 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 9 Name: PPP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 10 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 11 Name: COM9P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 12 Name: COM4P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 13 Name: COM3P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 14 Name: COM2P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 15 Name: COM1P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 16 Name: Reserved
Register ID: 38 Name: On-Chip Device Control Register Function ID: 17 Name: MACP
Register ID: 38 Name: On-Chip Device Control Register Function ID: 18 Name: USB2P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 19 Name: USB1P
Register ID: 38 Name: On-Chip Device Control Register Function ID: 20 Name: IDEP
Register ID: 39 Name: Servo 0 Control Register Function ID: 0 Name: Servo Enable
Register ID: 39 Name: Servo 0 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 39 Name: Servo 0 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 39 Name: Servo 0 Control Register Function ID: 3 Name: Reserved
Register ID: 39 Name: Servo 0 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 40 Name: Servo 0 Pulse High Count Register Function ID: 0 Name: Servo 0 Pulse High Count
Register ID: 41 Name: Servo 0 Pulse Low Count Register Function ID: 0 Name: Servo 0 Pulse Low Count
Register ID: 42 Name: Servo 1 Control Register Function ID: 0 Name: Servo Enable
Register ID: 42 Name: Servo 1 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 42 Name: Servo 1 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 42 Name: Servo 1 Control Register Function ID: 3 Name: Reserved
Register ID: 42 Name: Servo 1 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 43 Name: Servo 1 Pulse High Count Register Function ID: 0 Name: Servo 1 Pulse High Count
Register ID: 44 Name: Servo 1 Pulse Low Count Register Function ID: 0 Name: Servo 1 Pulse Low Count
Register ID: 45 Name: Servo 10 Control Register Function ID: 0 Name: Servo Enable
Register ID: 45 Name: Servo 10 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 45 Name: Servo 10 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 45 Name: Servo 10 Control Register Function ID: 3 Name: Reserved
Register ID: 45 Name: Servo 10 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 46 Name: Servo 10 Pulse High Count Register Function ID: 0 Name: Servo 10 Pulse High Count
Register ID: 47 Name: Servo 10 Pulse Low Count Register Function ID: 0 Name: Servo 10 Pulse Low Count
Register ID: 48 Name: Servo 11 Control Register Function ID: 0 Name: Servo Enable
Register ID: 48 Name: Servo 11 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 48 Name: Servo 11 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 48 Name: Servo 11 Control Register Function ID: 3 Name: Reserved
Register ID: 48 Name: Servo 11 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 49 Name: Servo 11 Pulse High Count Register Function ID: 0 Name: Servo 11 Pulse High Count
Register ID: 50 Name: Servo 11 Pulse Low Count Register Function ID: 0 Name: Servo 11 Pulse Low Count
Register ID: 51 Name: Servo 12 Control Register Function ID: 0 Name: Servo Enable
Register ID: 51 Name: Servo 12 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 51 Name: Servo 12 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 51 Name: Servo 12 Control Register Function ID: 3 Name: Reserved
Register ID: 51 Name: Servo 12 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 52 Name: Servo 12 Pulse High Count Register Function ID: 0 Name: Servo 12 Pulse High Count
Register ID: 53 Name: Servo 12 Pulse Low Count Register Function ID: 0 Name: Servo 12 Pulse Low Count
Register ID: 54 Name: Servo 13 Control Register Function ID: 0 Name: Servo Enable
Register ID: 54 Name: Servo 13 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 54 Name: Servo 13 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 54 Name: Servo 13 Control Register Function ID: 3 Name: Reserved
Register ID: 54 Name: Servo 13 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 55 Name: Servo 13 Pulse High Count Register Function ID: 0 Name: Servo 13 Pulse High Count
Register ID: 56 Name: Servo 13 Pulse Low Count Register Function ID: 0 Name: Servo 13 Pulse Low Count
Register ID: 57 Name: Servo 14 Control Register Function ID: 0 Name: Servo Enable
Register ID: 57 Name: Servo 14 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 57 Name: Servo 14 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 57 Name: Servo 14 Control Register Function ID: 3 Name: Reserved
Register ID: 57 Name: Servo 14 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 58 Name: Servo 14 Pulse High Count Register Function ID: 0 Name: Servo 14 Pulse High Count
Register ID: 59 Name: Servo 14 Pulse Low Count Register Function ID: 0 Name: Servo 14 Pulse Low Count
Register ID: 60 Name: Servo 15 Control Register Function ID: 0 Name: Servo Enable
Register ID: 60 Name: Servo 15 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 60 Name: Servo 15 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 60 Name: Servo 15 Control Register Function ID: 3 Name: Reserved
Register ID: 60 Name: Servo 15 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 61 Name: Servo 15 Pulse High Count Register Function ID: 0 Name: Servo 15 Pulse High Count
Register ID: 62 Name: Servo 15 Pulse Low Count Register Function ID: 0 Name: Servo 15 Pulse Low Count
Register ID: 63 Name: Servo 16 Control Register Function ID: 0 Name: Servo Enable
Register ID: 63 Name: Servo 16 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 63 Name: Servo 16 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 63 Name: Servo 16 Control Register Function ID: 3 Name: Reserved
Register ID: 63 Name: Servo 16 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 64 Name: Servo 16 Pulse High Count Register Function ID: 0 Name: Servo 16 Pulse High Count
Register ID: 65 Name: Servo 16 Pulse Low Count Register Function ID: 0 Name: Servo 16 Pulse Low Count
Register ID: 66 Name: Servo 17 Control Register Function ID: 0 Name: Servo Enable
Register ID: 66 Name: Servo 17 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 66 Name: Servo 17 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 66 Name: Servo 17 Control Register Function ID: 3 Name: Reserved
Register ID: 66 Name: Servo 17 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 67 Name: Servo 17 Pulse High Count Register Function ID: 0 Name: Servo 17 Pulse High Count
Register ID: 68 Name: Servo 17 Pulse Low Count Register Function ID: 0 Name: Servo 17 Pulse Low Count
Register ID: 69 Name: Servo 18 Control Register Function ID: 0 Name: Servo Enable
Register ID: 69 Name: Servo 18 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 69 Name: Servo 18 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 69 Name: Servo 18 Control Register Function ID: 3 Name: Reserved
Register ID: 69 Name: Servo 18 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 70 Name: Servo 18 Pulse High Count Register Function ID: 0 Name: Servo 18 Pulse High Count
Register ID: 71 Name: Servo 18 Pulse Low Count Register Function ID: 0 Name: Servo 18 Pulse Low Count
Register ID: 72 Name: Servo 19 Control Register Function ID: 0 Name: Servo Enable
Register ID: 72 Name: Servo 19 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 72 Name: Servo 19 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 72 Name: Servo 19 Control Register Function ID: 3 Name: Reserved
Register ID: 72 Name: Servo 19 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 73 Name: Servo 19 Pulse High Count Register Function ID: 0 Name: Servo 19 Pulse High Count
Register ID: 74 Name: Servo 19 Pulse Low Count Register Function ID: 0 Name: Servo 19 Pulse Low Count
Register ID: 75 Name: Servo 2 Control Register Function ID: 0 Name: Servo Enable
Register ID: 75 Name: Servo 2 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 75 Name: Servo 2 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 75 Name: Servo 2 Control Register Function ID: 3 Name: Reserved
Register ID: 75 Name: Servo 2 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 76 Name: Servo 2 Pulse High Count Register Function ID: 0 Name: Servo 2 Pulse High Count
Register ID: 77 Name: Servo 2 Pulse Low Count Register Function ID: 0 Name: Servo 2 Pulse Low Count
Register ID: 78 Name: Servo 20 Control Register Function ID: 0 Name: Servo Enable
Register ID: 78 Name: Servo 20 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 78 Name: Servo 20 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 78 Name: Servo 20 Control Register Function ID: 3 Name: Reserved
Register ID: 78 Name: Servo 20 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 79 Name: Servo 20 Pulse High Count Register Function ID: 0 Name: Servo 20 Pulse High Count
Register ID: 80 Name: Servo 20 Pulse Low Count Register Function ID: 0 Name: Servo 20 Pulse Low Count
Register ID: 81 Name: Servo 21 Control Register Function ID: 0 Name: Servo Enable
Register ID: 81 Name: Servo 21 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 81 Name: Servo 21 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 81 Name: Servo 21 Control Register Function ID: 3 Name: Reserved
Register ID: 81 Name: Servo 21 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 82 Name: Servo 21 Pulse High Count Register Function ID: 0 Name: Servo 21 Pulse High Count
Register ID: 83 Name: Servo 21 Pulse Low Count Register Function ID: 0 Name: Servo 21 Pulse Low Count
Register ID: 84 Name: Servo 22 Control Register Function ID: 0 Name: Servo Enable
Register ID: 84 Name: Servo 22 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 84 Name: Servo 22 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 84 Name: Servo 22 Control Register Function ID: 3 Name: Reserved
Register ID: 84 Name: Servo 22 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 85 Name: Servo 22 Pulse High Count Register Function ID: 0 Name: Servo 22 Pulse High Count
Register ID: 86 Name: Servo 22 Pulse Low Count Register Function ID: 0 Name: Servo 22 Pulse Low Count
Register ID: 87 Name: Servo 23 Control Register Function ID: 0 Name: Servo Enable
Register ID: 87 Name: Servo 23 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 87 Name: Servo 23 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 87 Name: Servo 23 Control Register Function ID: 3 Name: Reserved
Register ID: 87 Name: Servo 23 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 88 Name: Servo 23 Pulse High Count Register Function ID: 0 Name: Servo 23 Pulse High Count
Register ID: 89 Name: Servo 23 Pulse Low Count Register Function ID: 0 Name: Servo 23 Pulse Low Count
Register ID: 90 Name: Servo 24 Control Register Function ID: 0 Name: Servo Enable
Register ID: 90 Name: Servo 24 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 90 Name: Servo 24 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 90 Name: Servo 24 Control Register Function ID: 3 Name: Reserved
Register ID: 90 Name: Servo 24 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 91 Name: Servo 24 Pulse High Count Register Function ID: 0 Name: Servo 24 Pulse High Count
Register ID: 92 Name: Servo 24 Pulse Low Count Register Function ID: 0 Name: Servo 24 Pulse Low Count
Register ID: 93 Name: Servo 25 Control Register Function ID: 0 Name: Servo Enable
Register ID: 93 Name: Servo 25 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 93 Name: Servo 25 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 93 Name: Servo 25 Control Register Function ID: 3 Name: Reserved
Register ID: 93 Name: Servo 25 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 94 Name: Servo 25 Pulse High Count Register Function ID: 0 Name: Servo 25 Pulse High Count
Register ID: 95 Name: Servo 25 Pulse Low Count Register Function ID: 0 Name: Servo 25 Pulse Low Count
Register ID: 96 Name: Servo 26 Control Register Function ID: 0 Name: Servo Enable
Register ID: 96 Name: Servo 26 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 96 Name: Servo 26 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 96 Name: Servo 26 Control Register Function ID: 3 Name: Reserved
Register ID: 96 Name: Servo 26 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 97 Name: Servo 26 Pulse High Count Register Function ID: 0 Name: Servo 26 Pulse High Count
Register ID: 98 Name: Servo 26 Pulse Low Count Register Function ID: 0 Name: Servo 26 Pulse Low Count
Register ID: 99 Name: Servo 27 Control Register Function ID: 0 Name: Servo Enable
Register ID: 99 Name: Servo 27 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 99 Name: Servo 27 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 99 Name: Servo 27 Control Register Function ID: 3 Name: Reserved
Register ID: 99 Name: Servo 27 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 100 Name: Servo 27 Pulse High Count Register Function ID: 0 Name: Servo 27 Pulse High Count
Register ID: 101 Name: Servo 27 Pulse Low Count Register Function ID: 0 Name: Servo 27 Pulse Low Count
Register ID: 102 Name: Servo 28 Control Register Function ID: 0 Name: Servo Enable
Register ID: 102 Name: Servo 28 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 102 Name: Servo 28 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 102 Name: Servo 28 Control Register Function ID: 3 Name: Reserved
Register ID: 102 Name: Servo 28 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 103 Name: Servo 28 Pulse High Count Register Function ID: 0 Name: Servo 28 Pulse High Count
Register ID: 104 Name: Servo 28 Pulse Low Count Register Function ID: 0 Name: Servo 28 Pulse Low Count
Register ID: 105 Name: Servo 29 Control Register Function ID: 0 Name: Servo Enable
Register ID: 105 Name: Servo 29 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 105 Name: Servo 29 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 105 Name: Servo 29 Control Register Function ID: 3 Name: Reserved
Register ID: 105 Name: Servo 29 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 106 Name: Servo 29 Pulse High Count Register Function ID: 0 Name: Servo 29 Pulse High Count
Register ID: 107 Name: Servo 29 Pulse Low Count Register Function ID: 0 Name: Servo 29 Pulse Low Count
Register ID: 108 Name: Servo 3 Control Register Function ID: 0 Name: Servo Enable
Register ID: 108 Name: Servo 3 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 108 Name: Servo 3 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 108 Name: Servo 3 Control Register Function ID: 3 Name: Reserved
Register ID: 108 Name: Servo 3 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 109 Name: Servo 3 Pulse High Count Register Function ID: 0 Name: Servo 3 Pulse High Count
Register ID: 110 Name: Servo 3 Pulse Low Count Register Function ID: 0 Name: Servo 3 Pulse Low Count
Register ID: 111 Name: Servo 30 Control Register Function ID: 0 Name: Servo Enable
Register ID: 111 Name: Servo 30 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 111 Name: Servo 30 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 111 Name: Servo 30 Control Register Function ID: 3 Name: Reserved
Register ID: 111 Name: Servo 30 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 112 Name: Servo 30 Pulse High Count Register Function ID: 0 Name: Servo 30 Pulse High Count
Register ID: 113 Name: Servo 30 Pulse Low Count Register Function ID: 0 Name: Servo 30 Pulse Low Count
Register ID: 114 Name: Servo 31 Control Register Function ID: 0 Name: Servo Enable
Register ID: 114 Name: Servo 31 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 114 Name: Servo 31 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 114 Name: Servo 31 Control Register Function ID: 3 Name: Reserved
Register ID: 114 Name: Servo 31 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 115 Name: Servo 31 Pulse High Count Register Function ID: 0 Name: Servo 31 Pulse High Count
Register ID: 116 Name: Servo 31 Pulse Low Count Register Function ID: 0 Name: Servo 31 Pulse Low Count
Register ID: 117 Name: Servo 4 Control Register Function ID: 0 Name: Servo Enable
Register ID: 117 Name: Servo 4 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 117 Name: Servo 4 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 117 Name: Servo 4 Control Register Function ID: 3 Name: Reserved
Register ID: 117 Name: Servo 4 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 118 Name: Servo 4 Pulse High Count Register Function ID: 0 Name: Servo 4 Pulse High Count
Register ID: 119 Name: Servo 4 Pulse Low Count Register Function ID: 0 Name: Servo 4 Pulse Low Count
Register ID: 120 Name: Servo 5 Control Register Function ID: 0 Name: Servo Enable
Register ID: 120 Name: Servo 5 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 120 Name: Servo 5 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 120 Name: Servo 5 Control Register Function ID: 3 Name: Reserved
Register ID: 120 Name: Servo 5 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 121 Name: Servo 5 Pulse High Count Register Function ID: 0 Name: Servo 5 Pulse High Count
Register ID: 122 Name: Servo 5 Pulse Low Count Register Function ID: 0 Name: Servo 5 Pulse Low Count
Register ID: 123 Name: Servo 6 Control Register Function ID: 0 Name: Servo Enable
Register ID: 123 Name: Servo 6 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 123 Name: Servo 6 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 123 Name: Servo 6 Control Register Function ID: 3 Name: Reserved
Register ID: 123 Name: Servo 6 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 124 Name: Servo 6 Pulse High Count Register Function ID: 0 Name: Servo 6 Pulse High Count
Register ID: 125 Name: Servo 6 Pulse Low Count Register Function ID: 0 Name: Servo 6 Pulse Low Count
Register ID: 126 Name: Servo 7 Control Register Function ID: 0 Name: Servo Enable
Register ID: 126 Name: Servo 7 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 126 Name: Servo 7 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 126 Name: Servo 7 Control Register Function ID: 3 Name: Reserved
Register ID: 126 Name: Servo 7 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 127 Name: Servo 7 Pulse High Count Register Function ID: 0 Name: Servo 7 Pulse High Count
Register ID: 128 Name: Servo 7 Pulse Low Count Register Function ID: 0 Name: Servo 7 Pulse Low Count
Register ID: 129 Name: Servo 8 Control Register Function ID: 0 Name: Servo Enable
Register ID: 129 Name: Servo 8 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 129 Name: Servo 8 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 129 Name: Servo 8 Control Register Function ID: 3 Name: Reserved
Register ID: 129 Name: Servo 8 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 130 Name: Servo 8 Pulse High Count Register Function ID: 0 Name: Servo 8 Pulse High Count
Register ID: 131 Name: Servo 8 Pulse Low Count Register Function ID: 0 Name: Servo 8 Pulse Low Count
Register ID: 132 Name: Servo 9 Control Register Function ID: 0 Name: Servo Enable
Register ID: 132 Name: Servo 9 Control Register Function ID: 1 Name: Continuous Mode
Register ID: 132 Name: Servo 9 Control Register Function ID: 2 Name: Inverse Servo Signal
Register ID: 132 Name: Servo 9 Control Register Function ID: 3 Name: Reserved
Register ID: 132 Name: Servo 9 Control Register Function ID: 4 Name: Servo Repeat Count
Register ID: 133 Name: Servo 9 Pulse High Count Register Function ID: 0 Name: Servo 9 Pulse High Count
Register ID: 134 Name: Servo 9 Pulse Low Count Register Function ID: 0 Name: Servo 9 Pulse Low Count
Register ID: 135 Name: Servo Control Register Function ID: 0 Name: Reserved
Register ID: 135 Name: Servo Control Register Function ID: 1 Name: CLKS
Register ID: 135 Name: Servo Control Register Function ID: 2 Name: Internal Servo Address Decode
Register ID: 135 Name: Servo Control Register Function ID: 3 Name: Reserved
Register ID: 135 Name: Servo Control Register Function ID: 4 Name: Servo IRQ Routing Table
Register ID: 135 Name: Servo Control Register Function ID: 5 Name: Servo Base Address
Register ID: 135 Name: Servo Control Register Function ID: 6 Name: Reserved
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 0 Name: Servo 31 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 1 Name: Servo 30 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 2 Name: Servo 29 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 3 Name: Servo 28 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 4 Name: Servo 27 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 5 Name: Servo 26 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 6 Name: Servo 25 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 7 Name: Servo 24 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 8 Name: Servo 23 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 9 Name: Servo 22 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 10 Name: Servo 21 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 11 Name: Servo 20 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 12 Name: Servo 19 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 13 Name: Servo 18 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 14 Name: Servo 17 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 15 Name: Servo 16 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 16 Name: Servo 15 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 17 Name: Servo 14 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 18 Name: Servo 13 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 19 Name: Servo 12 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 20 Name: Servo 11 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 21 Name: Servo 10 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 22 Name: Servo 9 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 23 Name: Servo 8 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 24 Name: Servo 7 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 25 Name: Servo 6 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 26 Name: Servo 5 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 27 Name: Servo 4 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 28 Name: Servo 3 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 29 Name: Servo 2 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 30 Name: Servo 1 Interrupt Mask
Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 31 Name: Servo 0 Interrupt Mask
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 0 Name: Servo 31 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 1 Name: Servo 30 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 2 Name: Servo 29 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 3 Name: Servo 28 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 4 Name: Servo 27 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 5 Name: Servo 26 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 6 Name: Servo 25 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 7 Name: Servo 24 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 8 Name: Servo 23 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 9 Name: Servo 22 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 10 Name: Servo 21 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 11 Name: Servo 20 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 12 Name: Servo 19 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 13 Name: Servo 18 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 14 Name: Servo 17 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 15 Name: Servo 16 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 16 Name: Servo 15 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 17 Name: Servo 14 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 18 Name: Servo 13 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 19 Name: Servo 12 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 20 Name: Servo 11 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 21 Name: Servo 10 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 22 Name: Servo 9 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 23 Name: Servo 8 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 24 Name: Servo 7 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 25 Name: Servo 6 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 26 Name: Servo 5 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 27 Name: Servo 4 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 28 Name: Servo 3 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 29 Name: Servo 2 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 30 Name: Servo 1 Interrupt Status
Register ID: 137 Name: Servo Interrupt Status Register Function ID: 31 Name: Servo 0 Interrupt Status
Register ID: 138 Name: Servo Sync Register Function ID: 0 Name: Servo 31 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 1 Name: Servo 30 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 2 Name: Servo 29 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 3 Name: Servo 28 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 4 Name: Servo 27 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 5 Name: Servo 26 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 6 Name: Servo 25 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 7 Name: Servo 24 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 8 Name: Servo 23 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 9 Name: Servo 22 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 10 Name: Servo 21 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 11 Name: Servo 20 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 12 Name: Servo 19 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 13 Name: Servo 18 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 14 Name: Servo 17 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 15 Name: Servo 16 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 16 Name: Servo 15 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 17 Name: Servo 14 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 18 Name: Servo 13 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 19 Name: Servo 12 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 20 Name: Servo 11 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 21 Name: Servo 10 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 22 Name: Servo 9 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 23 Name: Servo 8 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 24 Name: Servo 7 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 25 Name: Servo 6 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 26 Name: Servo 5 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 27 Name: Servo 4 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 28 Name: Servo 3 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 29 Name: Servo 2 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 30 Name: Servo 1 Sync Status
Register ID: 138 Name: Servo Sync Register Function ID: 31 Name: Servo 0 Sync Status
Register ID: 139 Name: SPI Base Address Register Function ID: 0 Name: SPI Base Address
Register ID: 139 Name: SPI Base Address Register Function ID: 1 Name: Reserved
Register ID: 139 Name: SPI Base Address Register Function ID: 2 Name: SPI Address Mapping
Register ID: 139 Name: SPI Base Address Register Function ID: 3 Name: SPI Base Address Enable[/code]
Last edited by PaulL on Sat Jul 10, 2010 3:59 pm, edited 1 time in total.
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Sat Jul 10, 2010 3:52 pm

Post by PaulL
Sat Jul 10, 2010 3:52 pm

If you change your registers listing by editing the db1.mdb file (not recommended unless you understand exactly what your changes will do), your ID's may change. You'll need to regenerate your own list of ID's if you use them directly. I suggest a different approach to obtaining Register ID's, and once you save your XML, something like:

Code: Select all
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Initialize Register Manager, load Register Configuration:
        Reg = New RoboardRegisters.RegisterManager
        Reg.LoadRegistersFromXML("C:\Test.xml")
        Dim MyGPIORegID as Integer = Reg.GetRegisterIDByName("GPIO Port 0 Data Register")
        Dim MyGPIOPin0FuncID as Integer = Reg.GetFunctionIDByName(MyGPIORegID, "Pin 0 State")
        Reg.Registers(MyGPIORegID).Functions(MyGPIOPin0FunctionID).FunctionValue = 1 'Sets GPIO0 Pin 0 to 1!
    End Sub


You generally want to load some variable with an ID before getting into code that must run fast. Obtaining an ID by name later will take more CPU time. Setting an ID by name also means you can change your configuration later, and as long as the names stay the same, the ID's can be properly retrieved.

Further Info: You do not need to do the "RegisterRead" for a register each time you access a function of that register. You only need to call RegisterRead once for a register to populate all of the functions it contains. For GPIO, for example, you would read a GPIO Data Register, then you would have all of the values for each pin in the register that you can access individually.

For example, if you have a timer event that polls a GPIO port for pin changes, just call RegisterRead once in the timer, and do whatever you want with your pins from there.

Because function changes do not require a separate RegisterWrite to commit changes, your values will always be current when performing a RegisterRead.
If you change your registers listing by editing the db1.mdb file (not recommended unless you understand exactly what your changes will do), your ID's may change. You'll need to regenerate your own list of ID's if you use them directly. I suggest a different approach to obtaining Register ID's, and once you save your XML, something like:

Code: Select all
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Initialize Register Manager, load Register Configuration:
        Reg = New RoboardRegisters.RegisterManager
        Reg.LoadRegistersFromXML("C:\Test.xml")
        Dim MyGPIORegID as Integer = Reg.GetRegisterIDByName("GPIO Port 0 Data Register")
        Dim MyGPIOPin0FuncID as Integer = Reg.GetFunctionIDByName(MyGPIORegID, "Pin 0 State")
        Reg.Registers(MyGPIORegID).Functions(MyGPIOPin0FunctionID).FunctionValue = 1 'Sets GPIO0 Pin 0 to 1!
    End Sub


You generally want to load some variable with an ID before getting into code that must run fast. Obtaining an ID by name later will take more CPU time. Setting an ID by name also means you can change your configuration later, and as long as the names stay the same, the ID's can be properly retrieved.

Further Info: You do not need to do the "RegisterRead" for a register each time you access a function of that register. You only need to call RegisterRead once for a register to populate all of the functions it contains. For GPIO, for example, you would read a GPIO Data Register, then you would have all of the values for each pin in the register that you can access individually.

For example, if you have a timer event that polls a GPIO port for pin changes, just call RegisterRead once in the timer, and do whatever you want with your pins from there.

Because function changes do not require a separate RegisterWrite to commit changes, your values will always be current when performing a RegisterRead.
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Sat Jul 10, 2010 10:41 pm

Post by PaulL
Sat Jul 10, 2010 10:41 pm

I have identified an issue where register load sequence does matter. Servo Initialization isn't occuring properly when loading XML and writing out the register data on a cold boot. Further, writing the whole set twice does not correct the issue. There is definitely a sequence in when things get set regarding Servo / PWM registers.

I will add an "order" field to the table in the db that loads the configuration, that should take care of it. Once I have that set, I will replace the source code I uploaded before. Changes will be in the LoadFromDB subroutine and in the database.

Take Care,
Paul
I have identified an issue where register load sequence does matter. Servo Initialization isn't occuring properly when loading XML and writing out the register data on a cold boot. Further, writing the whole set twice does not correct the issue. There is definitely a sequence in when things get set regarding Servo / PWM registers.

I will add an "order" field to the table in the db that loads the configuration, that should take care of it. Once I have that set, I will replace the source code I uploaded before. Changes will be in the LoadFromDB subroutine and in the database.

Take Care,
Paul
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Sun Jul 11, 2010 12:38 am

Post by PaulL
Sun Jul 11, 2010 12:38 am

I am temporarily pulling the file down, I will have it back up after I've made some updates and have made it easier to build the app. ;)

Take Care,
Paul
I am temporarily pulling the file down, I will have it back up after I've made some updates and have made it easier to build the app. ;)

Take Care,
Paul
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Fri Jul 16, 2010 11:46 am

Post by PaulL
Fri Jul 16, 2010 11:46 am

Further update, I've decided to finish reworking the servo move code. In short, I won't post the code again until I have servo moves set up and tested. It'll include the basic moves of the RN-1. Might even hold off until I have the SPI / ADC code set up, too. I guess not many folks are .Net savvy? If so, speak up! :)

The code has made it easy for me to build more functionality, so I'm doing that. :)

Not sure if anyone would've made use of what I had posted, or would want to take the time to understand what it's capable of...

So, I'm going to build some more, to the point of some level of usability for an RN-1.

If anyone is still interested in some beta code, or downloaded and started working with what I posted, let me know. ;)

Take Care,
Paul
Further update, I've decided to finish reworking the servo move code. In short, I won't post the code again until I have servo moves set up and tested. It'll include the basic moves of the RN-1. Might even hold off until I have the SPI / ADC code set up, too. I guess not many folks are .Net savvy? If so, speak up! :)

The code has made it easy for me to build more functionality, so I'm doing that. :)

Not sure if anyone would've made use of what I had posted, or would want to take the time to understand what it's capable of...

So, I'm going to build some more, to the point of some level of usability for an RN-1.

If anyone is still interested in some beta code, or downloaded and started working with what I posted, let me know. ;)

Take Care,
Paul
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by Spiked3 » Sat Jul 17, 2010 1:03 pm

Post by Spiked3
Sat Jul 17, 2010 1:03 pm

Hey Paul,
I have not used your code yet, but I do plan to. I am planning on sticking with .Net and MS Robotics studio, but that may change as I learn more about it. I got delayed fighting my X3 CNC mill that I had been working on for 2 years. Finally gave up, pretty much gave it away and went back to a Sherline. Its small, but it works. So, I've got a little more hardware building to do, and then its on to code.
I'm a C# guy, but I'm certified in both C# and VB so no problem 'adopting' your code to a real language ;)
Anyhow - I'd sure like to look at / use anything you make available - I will do the same. I have some (non Roboard) code posted with a writeup at;
http://www.androidcentral.com/android-g ... -nxt-robot

Thanks,
Mike
Hey Paul,
I have not used your code yet, but I do plan to. I am planning on sticking with .Net and MS Robotics studio, but that may change as I learn more about it. I got delayed fighting my X3 CNC mill that I had been working on for 2 years. Finally gave up, pretty much gave it away and went back to a Sherline. Its small, but it works. So, I've got a little more hardware building to do, and then its on to code.
I'm a C# guy, but I'm certified in both C# and VB so no problem 'adopting' your code to a real language ;)
Anyhow - I'd sure like to look at / use anything you make available - I will do the same. I have some (non Roboard) code posted with a writeup at;
http://www.androidcentral.com/android-g ... -nxt-robot

Thanks,
Mike
Spiked3
Savvy Roboteer
Savvy Roboteer
Posts: 41
Joined: Sun Feb 22, 2009 8:31 pm

Post by PaulL » Sat Jul 17, 2010 1:58 pm

Post by PaulL
Sat Jul 17, 2010 1:58 pm

Hey Mike,

I focus on VB.Net mainly because that's what I use at work. I can do C#, but VB is my "home". There really isn't that much difference w/ .Net, it's all IML anyway.. ;) I have found myself learning C++ to understand how RoBoIO works, and I have done enough C# to start declaring variables wrong in VB when I read too many C# examples... :)

Today, I'm working on integrating the servo-move code with the servo and servo manager classes, then setting up the RN-1 moves (I have them in a CSV file). I'm building the .Net code to utilize the event-based asynchronous pattern for thread synchronization. Basically, I just bubble up events to a manager class that serializes calls to IO. That's a bit more C#-esque, but I'm still a VB guy... Just not a typical one.. :D

The libraries I'm building can be used in a C# project directly, so in the future, no need to convert it unless you really really want to. :)

An X3, huh? I bought my X2 before the X3 came out, and I CNC'd it with a ballscrew retrofit kit from KDN Tool and 3 640 oz/in steppers and G201 Geckodrives (one day I hope to find a nice Bridgeport or clone to use them on, it's bigtime overkill for the X2, but I figured I'd just buy big motors and drives only once in my lifetime). I also did the 4k rpm belt drive mod kit. With the R-8 taper spindle, investments in tooling will carry to a bigger mill if / when I ever go that route. I use TurboCNC to run it. Free, and though DOS-based, works pretty darn well. :) I also have a mini-lathe, 8x12 that Homier used to sell (not CNC'd, I enjoy running the lathe manually and even grind my own tooling). I still haven't done everything I want to do with the mill, just haven't gotten around to it. I have e-chain for the cabling, but haven't made any mounting brackets, etc. No chip pan, no chip vac, no flood system, no limit or home switches, just a little mill with big steppers on it, and a shop vac for the mess. :) Sorry to hear you gave up your X3, I was tempted for a while, thought about buying one due to the larger work envelope.

I have an NXT set, but haven't done much with it. It's a kick that Lego and National Instruments got together on the programming environment. I know you can reprogram the NXT w/ C, but, being mainly a VB guy, I've left NXT as it shipped. ;)

Keep an eye out, I'm making good progress on the code. In summary, RoBoIO isn't directly used in any of the code I've built, it's all .Net, with calls to WinIO to write to registers / ports. In tests so far, I can perform 24 servo updates concurrently while utilizing text-to-speech.

I've done some things some .Net purists would scoff at (I work with one such person), but then, I'm not building a user application, either... :D Heck, I think I'll call it ".Net-E", dot net programming for embedded apps. ;)

Who knows, maybe I'll get good enough at C++ to port it there for speed's sake. Only time will tell... :)

Take Care,
Paul
Hey Mike,

I focus on VB.Net mainly because that's what I use at work. I can do C#, but VB is my "home". There really isn't that much difference w/ .Net, it's all IML anyway.. ;) I have found myself learning C++ to understand how RoBoIO works, and I have done enough C# to start declaring variables wrong in VB when I read too many C# examples... :)

Today, I'm working on integrating the servo-move code with the servo and servo manager classes, then setting up the RN-1 moves (I have them in a CSV file). I'm building the .Net code to utilize the event-based asynchronous pattern for thread synchronization. Basically, I just bubble up events to a manager class that serializes calls to IO. That's a bit more C#-esque, but I'm still a VB guy... Just not a typical one.. :D

The libraries I'm building can be used in a C# project directly, so in the future, no need to convert it unless you really really want to. :)

An X3, huh? I bought my X2 before the X3 came out, and I CNC'd it with a ballscrew retrofit kit from KDN Tool and 3 640 oz/in steppers and G201 Geckodrives (one day I hope to find a nice Bridgeport or clone to use them on, it's bigtime overkill for the X2, but I figured I'd just buy big motors and drives only once in my lifetime). I also did the 4k rpm belt drive mod kit. With the R-8 taper spindle, investments in tooling will carry to a bigger mill if / when I ever go that route. I use TurboCNC to run it. Free, and though DOS-based, works pretty darn well. :) I also have a mini-lathe, 8x12 that Homier used to sell (not CNC'd, I enjoy running the lathe manually and even grind my own tooling). I still haven't done everything I want to do with the mill, just haven't gotten around to it. I have e-chain for the cabling, but haven't made any mounting brackets, etc. No chip pan, no chip vac, no flood system, no limit or home switches, just a little mill with big steppers on it, and a shop vac for the mess. :) Sorry to hear you gave up your X3, I was tempted for a while, thought about buying one due to the larger work envelope.

I have an NXT set, but haven't done much with it. It's a kick that Lego and National Instruments got together on the programming environment. I know you can reprogram the NXT w/ C, but, being mainly a VB guy, I've left NXT as it shipped. ;)

Keep an eye out, I'm making good progress on the code. In summary, RoBoIO isn't directly used in any of the code I've built, it's all .Net, with calls to WinIO to write to registers / ports. In tests so far, I can perform 24 servo updates concurrently while utilizing text-to-speech.

I've done some things some .Net purists would scoff at (I work with one such person), but then, I'm not building a user application, either... :D Heck, I think I'll call it ".Net-E", dot net programming for embedded apps. ;)

Who knows, maybe I'll get good enough at C++ to port it there for speed's sake. Only time will tell... :)

Take Care,
Paul
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by Spiked3 » Sat Jul 17, 2010 4:22 pm

Post by Spiked3
Sat Jul 17, 2010 4:22 pm

You might want to take a look (if you havent already) at the CSS runtime for event synchronization. MS has done some pretty useful stuff there. Also there is an incubation project, Rx frameworks, that deals with asynchronous as well (google it). It is a bit more elegant than CSS, but does not work in the MRDS simulation environment, but should be perfect for what you are doing. Whether the 2 will merge is anyone's guess. I saw a decent presentation on Rx not long ago, from a VB guy, so I know it fits well in that environment.

I just kidded you about C# - I've done a lot of both, but like you said, C# is my home.

The X3 was a pain in the butt, I'm not convinced that it was not the CNC conversion kit I bought for it. The X2 was too small of a jump from the sherline, but to be honest it didn't take long for me to realize the X3 was too small as well. I'm doing a mobile (wheel based) robot, and right off the bat I found I could not make a 6" wide chassis on the X3 in one swoop, it had a 5 1/2" Y travel limit. So next is on to something a lot bigger, if I decide to go at it again. As discussed in another topic, I see a lot of overpriced robots in the market, so I am thinking what the heck, I could produce a Corobot Explorer size platform, with a lot more smarts, but about 1/5 the price fairly easily. BTW, yes 640oz is overkill :) I had 400s on X&Y and a 600 on Z (servos) for the X3.

Here is my collection; http://www.pbase.com/spiked3/machining
now minus the X3.

Don't listen to the .Net purists, they drink too much Microsoft Koolaid. I wrote some BSP/CSG code in .Net recently that blew away the CSG implementation done in C in Blender. You can get speed out of it, if you do things in a smart way.

I look forward to your code, and my start on the software side for my Robot. My intent is to get fairly comfortable with behavior based robotics as opposed to the motion/pose style of the Robonova (which I also have).

Mike
You might want to take a look (if you havent already) at the CSS runtime for event synchronization. MS has done some pretty useful stuff there. Also there is an incubation project, Rx frameworks, that deals with asynchronous as well (google it). It is a bit more elegant than CSS, but does not work in the MRDS simulation environment, but should be perfect for what you are doing. Whether the 2 will merge is anyone's guess. I saw a decent presentation on Rx not long ago, from a VB guy, so I know it fits well in that environment.

I just kidded you about C# - I've done a lot of both, but like you said, C# is my home.

The X3 was a pain in the butt, I'm not convinced that it was not the CNC conversion kit I bought for it. The X2 was too small of a jump from the sherline, but to be honest it didn't take long for me to realize the X3 was too small as well. I'm doing a mobile (wheel based) robot, and right off the bat I found I could not make a 6" wide chassis on the X3 in one swoop, it had a 5 1/2" Y travel limit. So next is on to something a lot bigger, if I decide to go at it again. As discussed in another topic, I see a lot of overpriced robots in the market, so I am thinking what the heck, I could produce a Corobot Explorer size platform, with a lot more smarts, but about 1/5 the price fairly easily. BTW, yes 640oz is overkill :) I had 400s on X&Y and a 600 on Z (servos) for the X3.

Here is my collection; http://www.pbase.com/spiked3/machining
now minus the X3.

Don't listen to the .Net purists, they drink too much Microsoft Koolaid. I wrote some BSP/CSG code in .Net recently that blew away the CSG implementation done in C in Blender. You can get speed out of it, if you do things in a smart way.

I look forward to your code, and my start on the software side for my Robot. My intent is to get fairly comfortable with behavior based robotics as opposed to the motion/pose style of the Robonova (which I also have).

Mike
Spiked3
Savvy Roboteer
Savvy Roboteer
Posts: 41
Joined: Sun Feb 22, 2009 8:31 pm

Post by PaulL » Sat Jul 17, 2010 10:47 pm

Post by PaulL
Sat Jul 17, 2010 10:47 pm

Hey Mike,

Thanks for the information, I'll have a look at it with a bit more detail when I'm on more of a coding break. ;) I do know the .Net 4.0 Framework has a number of "parallel" programming enhancements, things built to hide the complication (mess) that is threaded programming. But, I am trying to keep the structures and methods simple. As you say, it can be quite fast with the right approach. :) I'm cautious in using more advanced objects or framework, as there is usually more overhead with more features.

Re C# joking, yah, no problem at all- I joke with the C# folks I've worked with... One in particular is a kick, he's so hung up on "best practices" that I think he thinks about code more than actually writing it, by far. ;) Yah, he's big on exactly those words you used, Microsoft Koolaid... He doesn't like me much... :) He doesn't code much either. LMBO!

Re Mill, I know guys that swear by their Sherlines, and I've seen some nice work from them. Sad to hear about the X3, though. My conversion kit wasn't without hickups, either. I was dropping balls out of my Y axis ballnut because the screw was about .2 inches too short. The ballnut was "preloaded", having every other ball about a thou bigger. I ended up lathing a tool to reload the ballnut, that was a pain sorting and reloading the balls (but at least I have it if I ever need it again). I had a lot of grinding in my Z, and was told it would improve after it broke in. I ended up getting a replacement set of screws that helped, but still short on the Y. I had to block the Y travel, and have around 4" on the nose (you can get more, but the darned "kit" kept the screw short- I had more travel on my Y as stock!!!). I considered doing a frame-up approach for more work envelope, but there's no quick or easy or cheap way to do that.

Shame on the travel of the X3. I remember running across that, maybe that was what turned me off on buying one, can't recall. I too have considered doing some fabrication for sale, but just haven't found the right project for the size of mill I have to make it worth it. Fine for prototypes, not so good for any sort of mass production. I guess if I hit on a hand design that sells, I could outsource the bracketry, but still have to do the bracket design (My CAD skills could use some improvement). Re 640, yah, they look a bit funny. Fortunately, I don't do enough work for those honking counterweights to kill the ways... :) Comical to see such a hunk of motor hanging off such a tiny little bed. LOL!

Nice pics, they bring back memories- those look like the servo drivers Geckodrive put out, and I see servos there... Mine's all open-loop, and the power supply I have is too weak (15A at 48V), I can drop steps if I rapid all 3 axis at their max speed (thinking it's a problem with the switching power supply frequency, a big cap might help!). I even have the current set to 5A at 48v (less than the motor can do), still can drop steps. Using one axis, the whole machine on its stand can push itself (around 200 pounds total) across the floor. Yah, the motors are too big. :)

Right now, I'm doing software, but I do have more hardware and electronics work in store. The code can get the 'bot running, and when I get burned out on coding, I can do hardware. This is a great hobby!!! :D

Some folks like the Bioloid and the KHR's and such, but I just like the look of the RN-1, always have. Even the head proportion (some say it's too small) fits in my book, all brawn and shy on brains.. LOL! I just wish Hitec would get back in the game, I'm wondering how their business is doing. Hitec could bring out a new version of the RN-1 pretty quick (stronger servos, new color, same brackets and such), and I'd love to see them partner up with Roboard, that'd be a winning combination.

I'll keep up with the updates, and post new code when I've got a bit more functionality in there. I guess not many folks want to mess with the board at the register level... :)

Take Care,
Paul
Hey Mike,

Thanks for the information, I'll have a look at it with a bit more detail when I'm on more of a coding break. ;) I do know the .Net 4.0 Framework has a number of "parallel" programming enhancements, things built to hide the complication (mess) that is threaded programming. But, I am trying to keep the structures and methods simple. As you say, it can be quite fast with the right approach. :) I'm cautious in using more advanced objects or framework, as there is usually more overhead with more features.

Re C# joking, yah, no problem at all- I joke with the C# folks I've worked with... One in particular is a kick, he's so hung up on "best practices" that I think he thinks about code more than actually writing it, by far. ;) Yah, he's big on exactly those words you used, Microsoft Koolaid... He doesn't like me much... :) He doesn't code much either. LMBO!

Re Mill, I know guys that swear by their Sherlines, and I've seen some nice work from them. Sad to hear about the X3, though. My conversion kit wasn't without hickups, either. I was dropping balls out of my Y axis ballnut because the screw was about .2 inches too short. The ballnut was "preloaded", having every other ball about a thou bigger. I ended up lathing a tool to reload the ballnut, that was a pain sorting and reloading the balls (but at least I have it if I ever need it again). I had a lot of grinding in my Z, and was told it would improve after it broke in. I ended up getting a replacement set of screws that helped, but still short on the Y. I had to block the Y travel, and have around 4" on the nose (you can get more, but the darned "kit" kept the screw short- I had more travel on my Y as stock!!!). I considered doing a frame-up approach for more work envelope, but there's no quick or easy or cheap way to do that.

Shame on the travel of the X3. I remember running across that, maybe that was what turned me off on buying one, can't recall. I too have considered doing some fabrication for sale, but just haven't found the right project for the size of mill I have to make it worth it. Fine for prototypes, not so good for any sort of mass production. I guess if I hit on a hand design that sells, I could outsource the bracketry, but still have to do the bracket design (My CAD skills could use some improvement). Re 640, yah, they look a bit funny. Fortunately, I don't do enough work for those honking counterweights to kill the ways... :) Comical to see such a hunk of motor hanging off such a tiny little bed. LOL!

Nice pics, they bring back memories- those look like the servo drivers Geckodrive put out, and I see servos there... Mine's all open-loop, and the power supply I have is too weak (15A at 48V), I can drop steps if I rapid all 3 axis at their max speed (thinking it's a problem with the switching power supply frequency, a big cap might help!). I even have the current set to 5A at 48v (less than the motor can do), still can drop steps. Using one axis, the whole machine on its stand can push itself (around 200 pounds total) across the floor. Yah, the motors are too big. :)

Right now, I'm doing software, but I do have more hardware and electronics work in store. The code can get the 'bot running, and when I get burned out on coding, I can do hardware. This is a great hobby!!! :D

Some folks like the Bioloid and the KHR's and such, but I just like the look of the RN-1, always have. Even the head proportion (some say it's too small) fits in my book, all brawn and shy on brains.. LOL! I just wish Hitec would get back in the game, I'm wondering how their business is doing. Hitec could bring out a new version of the RN-1 pretty quick (stronger servos, new color, same brackets and such), and I'd love to see them partner up with Roboard, that'd be a winning combination.

I'll keep up with the updates, and post new code when I've got a bit more functionality in there. I guess not many folks want to mess with the board at the register level... :)

Take Care,
Paul
PaulL
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am


10 postsPage 1 of 1
10 postsPage 1 of 1