<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="http://forum.robosavvy.com/feed.php?f=17&amp;t=6397" />

<title>RoboSavvy Forum</title>
<subtitle>Robosavvy Forum: The largest online community of Humanoid Robot Builders</subtitle>
<link href="http://forum.robosavvy.com/index.php" />
<updated>2010-07-17T22:47:12+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=17&amp;t=6397</id>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-17T22:47:12+01:00</updated>
<published>2010-07-17T22:47:12+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27524#p27524</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27524#p27524"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27524#p27524"><![CDATA[
Hey Mike,<br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /> I do know the .Net 4.0 Framework has a number of &quot;parallel&quot; 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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> I'm cautious in using more advanced objects or framework, as there is usually more overhead with more features.<br /><br />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 &quot;best practices&quot; that I think he thinks about code more than actually writing it, by far. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /> Yah, he's big on exactly those words you used, Microsoft Koolaid... He doesn't like me much... <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> He doesn't code much either. LMBO!<br /><br />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 &quot;preloaded&quot;, 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&quot; on the nose (you can get more, but the darned &quot;kit&quot; 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. <br /><br />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... <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> Comical to see such a hunk of motor hanging off such a tiny little bed. LOL!<br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />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!!! <img src="http://forum.robosavvy.com/images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /><br /><br />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.<br /><br />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... <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />Take Care,<br />Paul<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sat Jul 17, 2010 10:47 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Spiked3]]></name></author>
<updated>2010-07-17T16:22:09+01:00</updated>
<published>2010-07-17T16:22:09+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27522#p27522</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27522#p27522"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27522#p27522"><![CDATA[
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.<br /><br />I just kidded you about C# - I've done a lot of both, but like you said, C# is my home.<br /><br />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&quot; wide chassis on the X3 in one swoop, it had a 5 1/2&quot; 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 <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> I had 400s on X&amp;Y and a 600 on Z (servos) for the X3.<br /><br />Here is my collection; <!-- m --><a class="postlink" href="http://www.pbase.com/spiked3/machining">http://www.pbase.com/spiked3/machining</a><!-- m --><br /> now minus the X3.<br /><br />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.<br /><br />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).<br /><br />Mike<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=1363">Spiked3</a> — Sat Jul 17, 2010 4:22 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-17T13:58:25+01:00</updated>
<published>2010-07-17T13:58:25+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27517#p27517</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27517#p27517"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27517#p27517"><![CDATA[
Hey Mike,<br /><br />I focus on VB.Net mainly because that's what I use at work. I can do C#, but VB is my &quot;home&quot;. There really isn't that much difference w/ .Net, it's all IML anyway.. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /> 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... <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />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.. <img src="http://forum.robosavvy.com/images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /><br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> 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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> Sorry to hear you gave up your X3, I was tempted for a while, thought about buying one due to the larger work envelope.<br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />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.<br /><br />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... <img src="http://forum.robosavvy.com/images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /> Heck, I think I'll call it &quot;.Net-E&quot;, dot net programming for embedded apps. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />Who knows, maybe I'll get good enough at C++ to port it there for speed's sake. Only time will tell... <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />Take Care,<br />Paul<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sat Jul 17, 2010 1:58 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Spiked3]]></name></author>
<updated>2010-07-17T13:03:46+01:00</updated>
<published>2010-07-17T13:03:46+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27516#p27516</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27516#p27516"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27516#p27516"><![CDATA[
Hey Paul,<br />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.<br />I'm a C# guy, but I'm certified in both C# and VB so no problem 'adopting' your code to a real language <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br />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;<br /><!-- m --><a class="postlink" href="http://www.androidcentral.com/android-gives-eyes-ears-and-sense-direction-lego-nxt-robot">http://www.androidcentral.com/android-g ... -nxt-robot</a><!-- m --><br /><br />Thanks,<br />Mike<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=1363">Spiked3</a> — Sat Jul 17, 2010 1:03 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-16T11:46:52+01:00</updated>
<published>2010-07-16T11:46:52+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27501#p27501</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27501#p27501"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27501#p27501"><![CDATA[
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! <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />The code has made it easy for me to build more functionality, so I'm doing that. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />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...<br /><br />So, I'm going to build some more, to the point of some level of usability for an RN-1.<br /><br />If anyone is still interested in some beta code, or downloaded and started working with what I posted, let me know. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />Take Care,<br />Paul<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Fri Jul 16, 2010 11:46 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-11T00:38:11+01:00</updated>
<published>2010-07-11T00:38:11+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27415#p27415</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27415#p27415"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27415#p27415"><![CDATA[
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. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />Take Care,<br />Paul<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sun Jul 11, 2010 12:38 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-10T22:41:25+01:00</updated>
<published>2010-07-10T22:41:25+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27414#p27414</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27414#p27414"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27414#p27414"><![CDATA[
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.<br /><br />I will add an &quot;order&quot; 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.<br /><br />Take Care,<br />Paul<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sat Jul 10, 2010 10:41 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-10T15:52:41+01:00</updated>
<published>2010-07-10T15:52:41+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27404#p27404</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27404#p27404"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27404#p27404"><![CDATA[
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:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>Private Sub Form1_Load&#40;ByVal sender As Object, ByVal e As System.EventArgs&#41; Handles Me.Load<br />        'Initialize Register Manager, load Register Configuration:<br />        Reg = New RoboardRegisters.RegisterManager<br />        Reg.LoadRegistersFromXML&#40;&quot;C:\Test.xml&quot;&#41;<br />        Dim MyGPIORegID as Integer = Reg.GetRegisterIDByName&#40;&quot;GPIO Port 0 Data Register&quot;&#41;<br />        Dim MyGPIOPin0FuncID as Integer = Reg.GetFunctionIDByName&#40;MyGPIORegID, &quot;Pin 0 State&quot;&#41;<br />        Reg.Registers&#40;MyGPIORegID&#41;.Functions&#40;MyGPIOPin0FunctionID&#41;.FunctionValue = 1 'Sets GPIO0 Pin 0 to 1!<br />    End Sub</code></dd></dl><br /><br />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.<br /><br />Further Info: You do not need to do the &quot;RegisterRead&quot; 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.<br /><br />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.<br /><br />Because function changes do not require a separate RegisterWrite to commit changes, your values will always be current when performing a RegisterRead.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sat Jul 10, 2010 3:52 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-10T15:59:34+01:00</updated>
<published>2010-07-10T15:22:04+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27402#p27402</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27402#p27402"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27402#p27402"><![CDATA[
To make things easier, to access devices via code:<br /><br />From your instance of RegisterManager, as Reg per the application as posted:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>Reg.Registers&#40;RegisterID&#41;.Functions&#40;FunctionID&#41;.FunctionValue = Some Valid Value</code></dd></dl><br /><br />That's all it takes to set your function in code, no need to call RegisterWrite.<br /><br />To Read a value:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>Reg.Registers&#40;RegisterID&#41;.RegisterRead<br />Dim a as Integer = Reg.Registers&#40;RegisterID&#41;.Functions&#40;FunctionID&#41;.FunctionValue</code></dd></dl><br /><br />Below is a list of Register ID's, Register Names, Function ID's, and Function Names.<br /><br />Have Fun! <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br />Paul<br /><br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 0 Name: GPIO4 Drive Current<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 1 Name: GPIO3-3 Drive Current<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 2 Name: GPIO3-1 Drive Current<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 3 Name: GPIO2 Drive Current<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 4 Name: GPIO1 Drive Current<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 5 Name: GPIO0 Drive Current<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 6 Name: Reserved<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 7 Name: PCI_DT_SR<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 8 Name: PCI_DT_DRV<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 9 Name: ISACK_CTL<br />Register ID: 0 Name: Buffer Strength / Clock Output Control Register Function ID: 10 Name: 24M_CTL<br />Register ID: 1 Name: CPU ID Register Function ID: 0 Name: CPU ID<br />Register ID: 2 Name: CPU Revision Register Function ID: 0 Name: CPU REV<br />Register ID: 3 Name: External SPI Chip Select Register Function ID: 0 Name: Reserved<br />Register ID: 3 Name: External SPI Chip Select Register Function ID: 1 Name: Chip Select<br />Register ID: 4 Name: External SPI Control Register Function ID: 0 Name: Reserved<br />Register ID: 4 Name: External SPI Control Register Function ID: 1 Name: FIFO Enable<br />Register ID: 4 Name: External SPI Control Register Function ID: 2 Name: SPI Clock Divide<br />Register ID: 5 Name: External SPI Error Status Register Function ID: 0 Name: Reserved<br />Register ID: 5 Name: External SPI Error Status Register Function ID: 1 Name: WCTE - Write to SPI while busy #4<br />Register ID: 5 Name: External SPI Error Status Register Function ID: 2 Name: DOLE - Input data overlap #3<br />Register ID: 5 Name: External SPI Error Status Register Function ID: 3 Name: FIURE - FIFO Under-run #2<br />Register ID: 5 Name: External SPI Error Status Register Function ID: 4 Name: FIORE - FIFO Over-run #1<br />Register ID: 5 Name: External SPI Error Status Register Function ID: 5 Name: Reserved<br />Register ID: 6 Name: External SPI Input Data Register Function ID: 0 Name: Data In From SPI<br />Register ID: 7 Name: External SPI Output Data Register Function ID: 0 Name: Data Out to SPI<br />Register ID: 8 Name: External SPI Status Register Function ID: 0 Name: SPI Controller Busy<br />Register ID: 8 Name: External SPI Status Register Function ID: 1 Name: FIFO Full<br />Register ID: 8 Name: External SPI Status Register Function ID: 2 Name: Input Data Ready<br />Register ID: 8 Name: External SPI Status Register Function ID: 3 Name: Output Complete - FIFO empty.<br />Register ID: 8 Name: External SPI Status Register Function ID: 4 Name: Reserved<br />Register ID: 9 Name: GPIO Port 0 / Port 1 Data Register Base Address Function ID: 0 Name: GPIO Port 1 Data Register Base Address<br />Register ID: 9 Name: GPIO Port 0 / Port 1 Data Register Base Address Function ID: 1 Name: GPIO Port 0 Data Register Base Address<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 0 Name: Pin 7 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 1 Name: Pin 6 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 2 Name: Pin 5 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 3 Name: Pin 4 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 4 Name: Pin 3 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 5 Name: Pin 2 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 6 Name: Pin 1 State<br />Register ID: 10 Name: GPIO Port 0 Data Register Function ID: 7 Name: Pin 0 State<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 0 Name: Pin 7 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 1 Name: Pin 6 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 2 Name: Pin 5 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 3 Name: Pin 4 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 4 Name: Pin 3 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 5 Name: Pin 2 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 6 Name: Pin 1 Direction<br />Register ID: 11 Name: GPIO Port 0 Direction Register Function ID: 7 Name: Pin 0 Direction<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 0 Name: Pin 7 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 1 Name: Pin 6 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 2 Name: Pin 5 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 3 Name: Pin 4 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 4 Name: Pin 3 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 5 Name: Pin 2 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 6 Name: Pin 1 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 7 Name: Pin 0 Interrupt Control<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 8 Name: Interrupt Function<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 9 Name: Interrupt Keep Period<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 10 Name: Interrupt Routing<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 11 Name: Pin 7 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 12 Name: Pin 6 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 13 Name: Pin 5 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 14 Name: Pin 4 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 15 Name: Pin 3 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 16 Name: Pin 2 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 17 Name: Pin 1 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 18 Name: Pin 0 Interrupt Level<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 19 Name: Pin 7 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 20 Name: Pin 6 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 21 Name: Pin 5 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 22 Name: Pin 4 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 23 Name: Pin 3 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 24 Name: Pin 2 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 25 Name: Pin 1 Interrupt Mask<br />Register ID: 12 Name: GPIO Port 0 Interrupt Register Function ID: 26 Name: Pin 0 Interrupt Mask<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 0 Name: Pin 7 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 1 Name: Pin 6 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 2 Name: Pin 5 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 3 Name: Pin 4 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 4 Name: Pin 3 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 5 Name: Pin 2 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 6 Name: Pin 1 Interrupt Status<br />Register ID: 13 Name: GPIO Port 0 Interrupt Status Register Function ID: 7 Name: Pin 0 Interrupt Status<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 0 Name: Pin 7 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 1 Name: Pin 6 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 2 Name: Pin 5 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 3 Name: Pin 4 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 4 Name: Pin 3 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 5 Name: Pin 2 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 6 Name: Pin 1 State<br />Register ID: 14 Name: GPIO Port 1 Data Register Function ID: 7 Name: Pin 0 State<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 0 Name: Pin 7 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 1 Name: Pin 6 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 2 Name: Pin 5 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 3 Name: Pin 4 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 4 Name: Pin 3 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 5 Name: Pin 2 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 6 Name: Pin 1 Direction<br />Register ID: 15 Name: GPIO Port 1 Direction Register Function ID: 7 Name: Pin 0 Direction<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 0 Name: Pin 7 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 1 Name: Pin 6 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 2 Name: Pin 5 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 3 Name: Pin 4 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 4 Name: Pin 3 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 5 Name: Pin 2 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 6 Name: Pin 1 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 7 Name: Pin 0 Interrupt Control<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 8 Name: Interrupt Function Enable<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 9 Name: Interrupt Keep Period<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 10 Name: Interrupt Routing<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 11 Name: Pin 7 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 12 Name: Pin 6 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 13 Name: Pin 5 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 14 Name: Pin 4 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 15 Name: Pin 3 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 16 Name: Pin 2 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 17 Name: Pin 1 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 18 Name: Pin 0 Interrupt Level<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 19 Name: Pin 7 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 20 Name: Pin 6 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 21 Name: Pin 5 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 22 Name: Pin 4 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 23 Name: Pin 3 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 24 Name: Pin 2 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 25 Name: Pin 1 Interrupt Mask<br />Register ID: 16 Name: GPIO Port 1 Interrupt Register Function ID: 26 Name: Pin 0 Interrupt Mask<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 0 Name: Pin 7 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 1 Name: Pin 6 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 2 Name: Pin 5 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 3 Name: Pin 4 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 4 Name: Pin 3 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 5 Name: Pin 2 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 6 Name: Pin 1 Interrupt Status<br />Register ID: 17 Name: GPIO Port 1 Interrupt Status Register Function ID: 7 Name: Pin 0 Interrupt Status<br />Register ID: 18 Name: GPIO Port 2 / Port 3 Data Register Base Address Function ID: 0 Name: GPIO Port 3 Data Register Base Address<br />Register ID: 18 Name: GPIO Port 2 / Port 3 Data Register Base Address Function ID: 1 Name: GPIO Port 2 Data Register Base Address<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 0 Name: Pin 7 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 1 Name: Pin 6 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 2 Name: Pin 5 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 3 Name: Pin 4 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 4 Name: Pin 3 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 5 Name: Pin 2 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 6 Name: Pin 1 State<br />Register ID: 19 Name: GPIO Port 2 Data Register Function ID: 7 Name: Pin 0 State<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 0 Name: Pin 7 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 1 Name: Pin 6 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 2 Name: Pin 5 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 3 Name: Pin 4 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 4 Name: Pin 3 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 5 Name: Pin 2 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 6 Name: Pin 1 Direction<br />Register ID: 20 Name: GPIO Port 2 Direction Register Function ID: 7 Name: Pin 0 Direction<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 0 Name: Pin 7 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 1 Name: Pin 6 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 2 Name: Pin 5 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 3 Name: Pin 4 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 4 Name: Pin 3 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 5 Name: Pin 2 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 6 Name: Pin 1 State<br />Register ID: 21 Name: GPIO Port 3 Data Register Function ID: 7 Name: Pin 0 State<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 0 Name: Pin 7 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 1 Name: Pin 6 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 2 Name: Pin 5 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 3 Name: Pin 4 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 4 Name: Pin 3 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 5 Name: Pin 2 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 6 Name: Pin 1 Direction<br />Register ID: 22 Name: GPIO Port 3 Direction Register Function ID: 7 Name: Pin 0 Direction<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 0 Name: Pin 7 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 1 Name: Pin 6 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 2 Name: Pin 5 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 3 Name: Pin 4 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 4 Name: Pin 3 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 5 Name: Pin 2 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 6 Name: Pin 1 State<br />Register ID: 23 Name: GPIO Port 4 Data Register Function ID: 7 Name: Pin 0 State<br />Register ID: 24 Name: GPIO Port 4 Data Register / GPIO Base Address Function ID: 0 Name: GPIO Base Address<br />Register ID: 24 Name: GPIO Port 4 Data Register / GPIO Base Address Function ID: 1 Name: GPIO Port 4 Data Register Base Address<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 0 Name: Pin 7 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 1 Name: Pin 6 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 2 Name: Pin 5 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 3 Name: Pin 4 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 4 Name: Pin 3 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 5 Name: Pin 2 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 6 Name: Pin 1 Direction<br />Register ID: 25 Name: GPIO Port 4 Direction Register Function ID: 7 Name: Pin 0 Direction<br />Register ID: 26 Name: I2C Base Address Function ID: 0 Name: I2C Base Address<br />Register ID: 27 Name: I2C0 Clock Frequency Control 1 Function ID: 0 Name: Prescaler1<br />Register ID: 28 Name: I2C0 Clock Frequency Control 2 Function ID: 0 Name: Fast Mode Enable<br />Register ID: 28 Name: I2C0 Clock Frequency Control 2 Function ID: 1 Name: Prescaler2<br />Register ID: 29 Name: I2C0 Control Register Function ID: 0 Name: Slave Write Interrupt Enable<br />Register ID: 29 Name: I2C0 Control Register Function ID: 1 Name: RX Interrupt Enable<br />Register ID: 29 Name: I2C0 Control Register Function ID: 2 Name: TX Interrupt Enable<br />Register ID: 29 Name: I2C0 Control Register Function ID: 3 Name: NAK Interupt Enable<br />Register ID: 29 Name: I2C0 Control Register Function ID: 4 Name: Arbitration Loss Interrupt Enable<br />Register ID: 29 Name: I2C0 Control Register Function ID: 5 Name: Slave Mode Stop Interrupt Enable<br />Register ID: 29 Name: I2C0 Control Register Function ID: 6 Name: Stop<br />Register ID: 29 Name: I2C0 Control Register Function ID: 7 Name: NAK / ACK after Send<br />Register ID: 30 Name: I2C0 Extra Control Register Function ID: 0 Name: I2C Reset<br />Register ID: 30 Name: I2C0 Extra Control Register Function ID: 1 Name: TX RX Collision<br />Register ID: 30 Name: I2C0 Extra Control Register Function ID: 2 Name: Reserved<br />Register ID: 31 Name: I2C0 My_Address Register Function ID: 0 Name: Slave Address<br />Register ID: 31 Name: I2C0 My_Address Register Function ID: 1 Name: Reserved<br />Register ID: 32 Name: I2C0 Status Register Function ID: 0 Name: Slave Write Request<br />Register ID: 32 Name: I2C0 Status Register Function ID: 1 Name: RX Ready<br />Register ID: 32 Name: I2C0 Status Register Function ID: 2 Name: TX Done<br />Register ID: 32 Name: I2C0 Status Register Function ID: 3 Name: NAK Error<br />Register ID: 32 Name: I2C0 Status Register Function ID: 4 Name: Arbitration Loss<br />Register ID: 32 Name: I2C0 Status Register Function ID: 5 Name: Slave STOP<br />Register ID: 32 Name: I2C0 Status Register Function ID: 6 Name: Bus Busy<br />Register ID: 32 Name: I2C0 Status Register Function ID: 7 Name: Master / Slave<br />Register ID: 33 Name: I2C0 Transmit / Receive Data Register Function ID: 0 Name: Data<br />Register ID: 34 Name: I2C0 Transmit Address Register Function ID: 0 Name: TX Slave Address<br />Register ID: 34 Name: I2C0 Transmit Address Register Function ID: 1 Name: TX RW Flag<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 0 Name: Reserved<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 1 Name: IO16W<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 2 Name: IO8W<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 3 Name: MEM16W<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 4 Name: MEM8W<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 5 Name: ISACLK<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 6 Name: Int_zw<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 7 Name: Reserved<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 8 Name: IDEIS<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 9 Name: PWM2<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 10 Name: PWM1<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 11 Name: PWM0<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 12 Name: FCDC<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 13 Name: MCLK<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 14 Name: EMIQ<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 15 Name: PINS6<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 16 Name: SFCE<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 17 Name: PINS5<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 18 Name: PINS4<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 19 Name: CPS<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 20 Name: PINS2<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 21 Name: PINS1 - Select COM1 or GPIO4<br />Register ID: 35 Name: Internal Peripheral Feature Control Register I Function ID: 22 Name: PINS0 - Select GPIO3 3-0 or Ext SPI<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 0 Name: GPIO4 Pin 7 or Servo 31<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 1 Name: GPIO4 Pin 6 or Servo 30<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 2 Name: GPIO4 Pin 5 or Servo 29<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 3 Name: GPIO4 Pin 4 or Servo 28<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 4 Name: GPIO4 Pin 3 or Servo 27<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 5 Name: GPIO4 Pin 2 or Servo 26<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 6 Name: GPIO4 Pin 1 or Servo 25<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 7 Name: GPIO4 Pin 0 or Servo 24<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 8 Name: GPIO2 Pin 7 or Servo 23<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 9 Name: GPIO2 Pin 6 or Servo 22<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 10 Name: GPIO2 Pin 5 or Servo 21<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 11 Name: GPIO2 Pin 4 or Servo 20<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 12 Name: GPIO2 Pin 3 or Servo 19<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 13 Name: GPIO2 Pin 2 or Servo 18<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 14 Name: GPIO2 Pin 1 or Servo 17<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 15 Name: GPIO2 Pin 0 or Servo 16<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 16 Name: GPIO1 Pin 7 or Servo 15<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 17 Name: GPIO1 Pin 6 or Servo 14<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 18 Name: GPIO1 Pin 5 or Servo 13<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 19 Name: GPIO1 Pin 4 or Servo 12<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 20 Name: GPIO1 Pin 3 or Servo 11<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 21 Name: GPIO1 Pin 2 or Servo 10<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 22 Name: GPIO1 Pin 1 or Servo 9<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 23 Name: GPIO1 Pin 0 or Servo 8<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 24 Name: GPIO0 Pin 7 or Servo 7<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 25 Name: GPIO0 Pin 6 or Servo 6<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 26 Name: GPIO0 Pin 5 or Servo 5<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 27 Name: GPIO0 Pin 4 or Servo 4<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 28 Name: GPIO0 Pin 3 or Servo 3<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 29 Name: GPIO0 Pin 2 or Servo 2<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 30 Name: GPIO0 Pin 1 or Servo 1<br />Register ID: 36 Name: Internal Peripheral Feature Control Register II Function ID: 31 Name: GPIO0 Pin 0 or Servo 0<br />Register ID: 37 Name: Internal Peripheral Feature Control Register III Function ID: 0 Name: Unknown<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 0 Name: Reserved<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 1 Name: UDP<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 2 Name: GSP<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 3 Name: SVP - Servo Power<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 4 Name: G1IP<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 5 Name: G0IP<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 6 Name: I2C1P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 7 Name: I2C0P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 8 Name: Reserved<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 9 Name: PPP<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 10 Name: Reserved<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 11 Name: COM9P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 12 Name: COM4P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 13 Name: COM3P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 14 Name: COM2P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 15 Name: COM1P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 16 Name: Reserved<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 17 Name: MACP<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 18 Name: USB2P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 19 Name: USB1P<br />Register ID: 38 Name: On-Chip Device Control Register Function ID: 20 Name: IDEP<br />Register ID: 39 Name: Servo 0 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 39 Name: Servo 0 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 39 Name: Servo 0 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 39 Name: Servo 0 Control Register Function ID: 3 Name: Reserved<br />Register ID: 39 Name: Servo 0 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 40 Name: Servo 0 Pulse High Count Register Function ID: 0 Name: Servo 0 Pulse High Count<br />Register ID: 41 Name: Servo 0 Pulse Low Count Register Function ID: 0 Name: Servo 0 Pulse Low Count<br />Register ID: 42 Name: Servo 1 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 42 Name: Servo 1 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 42 Name: Servo 1 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 42 Name: Servo 1 Control Register Function ID: 3 Name: Reserved<br />Register ID: 42 Name: Servo 1 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 43 Name: Servo 1 Pulse High Count Register Function ID: 0 Name: Servo 1 Pulse High Count<br />Register ID: 44 Name: Servo 1 Pulse Low Count Register Function ID: 0 Name: Servo 1 Pulse Low Count<br />Register ID: 45 Name: Servo 10 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 45 Name: Servo 10 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 45 Name: Servo 10 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 45 Name: Servo 10 Control Register Function ID: 3 Name: Reserved<br />Register ID: 45 Name: Servo 10 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 46 Name: Servo 10 Pulse High Count Register Function ID: 0 Name: Servo 10 Pulse High Count<br />Register ID: 47 Name: Servo 10 Pulse Low Count Register Function ID: 0 Name: Servo 10 Pulse Low Count<br />Register ID: 48 Name: Servo 11 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 48 Name: Servo 11 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 48 Name: Servo 11 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 48 Name: Servo 11 Control Register Function ID: 3 Name: Reserved<br />Register ID: 48 Name: Servo 11 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 49 Name: Servo 11 Pulse High Count Register Function ID: 0 Name: Servo 11 Pulse High Count<br />Register ID: 50 Name: Servo 11 Pulse Low Count Register Function ID: 0 Name: Servo 11 Pulse Low Count<br />Register ID: 51 Name: Servo 12 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 51 Name: Servo 12 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 51 Name: Servo 12 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 51 Name: Servo 12 Control Register Function ID: 3 Name: Reserved<br />Register ID: 51 Name: Servo 12 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 52 Name: Servo 12 Pulse High Count Register Function ID: 0 Name: Servo 12 Pulse High Count<br />Register ID: 53 Name: Servo 12 Pulse Low Count Register Function ID: 0 Name: Servo 12 Pulse Low Count<br />Register ID: 54 Name: Servo 13 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 54 Name: Servo 13 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 54 Name: Servo 13 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 54 Name: Servo 13 Control Register Function ID: 3 Name: Reserved<br />Register ID: 54 Name: Servo 13 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 55 Name: Servo 13 Pulse High Count Register Function ID: 0 Name: Servo 13 Pulse High Count<br />Register ID: 56 Name: Servo 13 Pulse Low Count Register Function ID: 0 Name: Servo 13 Pulse Low Count<br />Register ID: 57 Name: Servo 14 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 57 Name: Servo 14 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 57 Name: Servo 14 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 57 Name: Servo 14 Control Register Function ID: 3 Name: Reserved<br />Register ID: 57 Name: Servo 14 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 58 Name: Servo 14 Pulse High Count Register Function ID: 0 Name: Servo 14 Pulse High Count<br />Register ID: 59 Name: Servo 14 Pulse Low Count Register Function ID: 0 Name: Servo 14 Pulse Low Count<br />Register ID: 60 Name: Servo 15 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 60 Name: Servo 15 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 60 Name: Servo 15 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 60 Name: Servo 15 Control Register Function ID: 3 Name: Reserved<br />Register ID: 60 Name: Servo 15 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 61 Name: Servo 15 Pulse High Count Register Function ID: 0 Name: Servo 15 Pulse High Count<br />Register ID: 62 Name: Servo 15 Pulse Low Count Register Function ID: 0 Name: Servo 15 Pulse Low Count<br />Register ID: 63 Name: Servo 16 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 63 Name: Servo 16 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 63 Name: Servo 16 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 63 Name: Servo 16 Control Register Function ID: 3 Name: Reserved<br />Register ID: 63 Name: Servo 16 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 64 Name: Servo 16 Pulse High Count Register Function ID: 0 Name: Servo 16 Pulse High Count<br />Register ID: 65 Name: Servo 16 Pulse Low Count Register Function ID: 0 Name: Servo 16 Pulse Low Count<br />Register ID: 66 Name: Servo 17 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 66 Name: Servo 17 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 66 Name: Servo 17 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 66 Name: Servo 17 Control Register Function ID: 3 Name: Reserved<br />Register ID: 66 Name: Servo 17 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 67 Name: Servo 17 Pulse High Count Register Function ID: 0 Name: Servo 17 Pulse High Count<br />Register ID: 68 Name: Servo 17 Pulse Low Count Register Function ID: 0 Name: Servo 17 Pulse Low Count<br />Register ID: 69 Name: Servo 18 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 69 Name: Servo 18 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 69 Name: Servo 18 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 69 Name: Servo 18 Control Register Function ID: 3 Name: Reserved<br />Register ID: 69 Name: Servo 18 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 70 Name: Servo 18 Pulse High Count Register Function ID: 0 Name: Servo 18 Pulse High Count<br />Register ID: 71 Name: Servo 18 Pulse Low Count Register Function ID: 0 Name: Servo 18 Pulse Low Count<br />Register ID: 72 Name: Servo 19 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 72 Name: Servo 19 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 72 Name: Servo 19 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 72 Name: Servo 19 Control Register Function ID: 3 Name: Reserved<br />Register ID: 72 Name: Servo 19 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 73 Name: Servo 19 Pulse High Count Register Function ID: 0 Name: Servo 19 Pulse High Count<br />Register ID: 74 Name: Servo 19 Pulse Low Count Register Function ID: 0 Name: Servo 19 Pulse Low Count<br />Register ID: 75 Name: Servo 2 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 75 Name: Servo 2 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 75 Name: Servo 2 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 75 Name: Servo 2 Control Register Function ID: 3 Name: Reserved<br />Register ID: 75 Name: Servo 2 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 76 Name: Servo 2 Pulse High Count Register Function ID: 0 Name: Servo 2 Pulse High Count<br />Register ID: 77 Name: Servo 2 Pulse Low Count Register Function ID: 0 Name: Servo 2 Pulse Low Count<br />Register ID: 78 Name: Servo 20 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 78 Name: Servo 20 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 78 Name: Servo 20 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 78 Name: Servo 20 Control Register Function ID: 3 Name: Reserved<br />Register ID: 78 Name: Servo 20 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 79 Name: Servo 20 Pulse High Count Register Function ID: 0 Name: Servo 20 Pulse High Count<br />Register ID: 80 Name: Servo 20 Pulse Low Count Register Function ID: 0 Name: Servo 20 Pulse Low Count<br />Register ID: 81 Name: Servo 21 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 81 Name: Servo 21 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 81 Name: Servo 21 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 81 Name: Servo 21 Control Register Function ID: 3 Name: Reserved<br />Register ID: 81 Name: Servo 21 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 82 Name: Servo 21 Pulse High Count Register Function ID: 0 Name: Servo 21 Pulse High Count<br />Register ID: 83 Name: Servo 21 Pulse Low Count Register Function ID: 0 Name: Servo 21 Pulse Low Count<br />Register ID: 84 Name: Servo 22 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 84 Name: Servo 22 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 84 Name: Servo 22 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 84 Name: Servo 22 Control Register Function ID: 3 Name: Reserved<br />Register ID: 84 Name: Servo 22 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 85 Name: Servo 22 Pulse High Count Register Function ID: 0 Name: Servo 22 Pulse High Count<br />Register ID: 86 Name: Servo 22 Pulse Low Count Register Function ID: 0 Name: Servo 22 Pulse Low Count<br />Register ID: 87 Name: Servo 23 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 87 Name: Servo 23 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 87 Name: Servo 23 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 87 Name: Servo 23 Control Register Function ID: 3 Name: Reserved<br />Register ID: 87 Name: Servo 23 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 88 Name: Servo 23 Pulse High Count Register Function ID: 0 Name: Servo 23 Pulse High Count<br />Register ID: 89 Name: Servo 23 Pulse Low Count Register Function ID: 0 Name: Servo 23 Pulse Low Count<br />Register ID: 90 Name: Servo 24 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 90 Name: Servo 24 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 90 Name: Servo 24 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 90 Name: Servo 24 Control Register Function ID: 3 Name: Reserved<br />Register ID: 90 Name: Servo 24 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 91 Name: Servo 24 Pulse High Count Register Function ID: 0 Name: Servo 24 Pulse High Count<br />Register ID: 92 Name: Servo 24 Pulse Low Count Register Function ID: 0 Name: Servo 24 Pulse Low Count<br />Register ID: 93 Name: Servo 25 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 93 Name: Servo 25 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 93 Name: Servo 25 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 93 Name: Servo 25 Control Register Function ID: 3 Name: Reserved<br />Register ID: 93 Name: Servo 25 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 94 Name: Servo 25 Pulse High Count Register Function ID: 0 Name: Servo 25 Pulse High Count<br />Register ID: 95 Name: Servo 25 Pulse Low Count Register Function ID: 0 Name: Servo 25 Pulse Low Count<br />Register ID: 96 Name: Servo 26 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 96 Name: Servo 26 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 96 Name: Servo 26 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 96 Name: Servo 26 Control Register Function ID: 3 Name: Reserved<br />Register ID: 96 Name: Servo 26 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 97 Name: Servo 26 Pulse High Count Register Function ID: 0 Name: Servo 26 Pulse High Count<br />Register ID: 98 Name: Servo 26 Pulse Low Count Register Function ID: 0 Name: Servo 26 Pulse Low Count<br />Register ID: 99 Name: Servo 27 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 99 Name: Servo 27 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 99 Name: Servo 27 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 99 Name: Servo 27 Control Register Function ID: 3 Name: Reserved<br />Register ID: 99 Name: Servo 27 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 100 Name: Servo 27 Pulse High Count Register Function ID: 0 Name: Servo 27 Pulse High Count<br />Register ID: 101 Name: Servo 27 Pulse Low Count Register Function ID: 0 Name: Servo 27 Pulse Low Count<br />Register ID: 102 Name: Servo 28 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 102 Name: Servo 28 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 102 Name: Servo 28 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 102 Name: Servo 28 Control Register Function ID: 3 Name: Reserved<br />Register ID: 102 Name: Servo 28 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 103 Name: Servo 28 Pulse High Count Register Function ID: 0 Name: Servo 28 Pulse High Count<br />Register ID: 104 Name: Servo 28 Pulse Low Count Register Function ID: 0 Name: Servo 28 Pulse Low Count<br />Register ID: 105 Name: Servo 29 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 105 Name: Servo 29 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 105 Name: Servo 29 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 105 Name: Servo 29 Control Register Function ID: 3 Name: Reserved<br />Register ID: 105 Name: Servo 29 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 106 Name: Servo 29 Pulse High Count Register Function ID: 0 Name: Servo 29 Pulse High Count<br />Register ID: 107 Name: Servo 29 Pulse Low Count Register Function ID: 0 Name: Servo 29 Pulse Low Count<br />Register ID: 108 Name: Servo 3 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 108 Name: Servo 3 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 108 Name: Servo 3 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 108 Name: Servo 3 Control Register Function ID: 3 Name: Reserved<br />Register ID: 108 Name: Servo 3 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 109 Name: Servo 3 Pulse High Count Register Function ID: 0 Name: Servo 3 Pulse High Count<br />Register ID: 110 Name: Servo 3 Pulse Low Count Register Function ID: 0 Name: Servo 3 Pulse Low Count<br />Register ID: 111 Name: Servo 30 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 111 Name: Servo 30 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 111 Name: Servo 30 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 111 Name: Servo 30 Control Register Function ID: 3 Name: Reserved<br />Register ID: 111 Name: Servo 30 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 112 Name: Servo 30 Pulse High Count Register Function ID: 0 Name: Servo 30 Pulse High Count<br />Register ID: 113 Name: Servo 30 Pulse Low Count Register Function ID: 0 Name: Servo 30 Pulse Low Count<br />Register ID: 114 Name: Servo 31 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 114 Name: Servo 31 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 114 Name: Servo 31 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 114 Name: Servo 31 Control Register Function ID: 3 Name: Reserved<br />Register ID: 114 Name: Servo 31 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 115 Name: Servo 31 Pulse High Count Register Function ID: 0 Name: Servo 31 Pulse High Count<br />Register ID: 116 Name: Servo 31 Pulse Low Count Register Function ID: 0 Name: Servo 31 Pulse Low Count<br />Register ID: 117 Name: Servo 4 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 117 Name: Servo 4 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 117 Name: Servo 4 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 117 Name: Servo 4 Control Register Function ID: 3 Name: Reserved<br />Register ID: 117 Name: Servo 4 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 118 Name: Servo 4 Pulse High Count Register Function ID: 0 Name: Servo 4 Pulse High Count<br />Register ID: 119 Name: Servo 4 Pulse Low Count Register Function ID: 0 Name: Servo 4 Pulse Low Count<br />Register ID: 120 Name: Servo 5 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 120 Name: Servo 5 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 120 Name: Servo 5 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 120 Name: Servo 5 Control Register Function ID: 3 Name: Reserved<br />Register ID: 120 Name: Servo 5 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 121 Name: Servo 5 Pulse High Count Register Function ID: 0 Name: Servo 5 Pulse High Count<br />Register ID: 122 Name: Servo 5 Pulse Low Count Register Function ID: 0 Name: Servo 5 Pulse Low Count<br />Register ID: 123 Name: Servo 6 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 123 Name: Servo 6 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 123 Name: Servo 6 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 123 Name: Servo 6 Control Register Function ID: 3 Name: Reserved<br />Register ID: 123 Name: Servo 6 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 124 Name: Servo 6 Pulse High Count Register Function ID: 0 Name: Servo 6 Pulse High Count<br />Register ID: 125 Name: Servo 6 Pulse Low Count Register Function ID: 0 Name: Servo 6 Pulse Low Count<br />Register ID: 126 Name: Servo 7 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 126 Name: Servo 7 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 126 Name: Servo 7 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 126 Name: Servo 7 Control Register Function ID: 3 Name: Reserved<br />Register ID: 126 Name: Servo 7 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 127 Name: Servo 7 Pulse High Count Register Function ID: 0 Name: Servo 7 Pulse High Count<br />Register ID: 128 Name: Servo 7 Pulse Low Count Register Function ID: 0 Name: Servo 7 Pulse Low Count<br />Register ID: 129 Name: Servo 8 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 129 Name: Servo 8 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 129 Name: Servo 8 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 129 Name: Servo 8 Control Register Function ID: 3 Name: Reserved<br />Register ID: 129 Name: Servo 8 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 130 Name: Servo 8 Pulse High Count Register Function ID: 0 Name: Servo 8 Pulse High Count<br />Register ID: 131 Name: Servo 8 Pulse Low Count Register Function ID: 0 Name: Servo 8 Pulse Low Count<br />Register ID: 132 Name: Servo 9 Control Register Function ID: 0 Name: Servo Enable<br />Register ID: 132 Name: Servo 9 Control Register Function ID: 1 Name: Continuous Mode<br />Register ID: 132 Name: Servo 9 Control Register Function ID: 2 Name: Inverse Servo Signal<br />Register ID: 132 Name: Servo 9 Control Register Function ID: 3 Name: Reserved<br />Register ID: 132 Name: Servo 9 Control Register Function ID: 4 Name: Servo Repeat Count<br />Register ID: 133 Name: Servo 9 Pulse High Count Register Function ID: 0 Name: Servo 9 Pulse High Count<br />Register ID: 134 Name: Servo 9 Pulse Low Count Register Function ID: 0 Name: Servo 9 Pulse Low Count<br />Register ID: 135 Name: Servo Control Register Function ID: 0 Name: Reserved<br />Register ID: 135 Name: Servo Control Register Function ID: 1 Name: CLKS<br />Register ID: 135 Name: Servo Control Register Function ID: 2 Name: Internal Servo Address Decode<br />Register ID: 135 Name: Servo Control Register Function ID: 3 Name: Reserved<br />Register ID: 135 Name: Servo Control Register Function ID: 4 Name: Servo IRQ Routing Table<br />Register ID: 135 Name: Servo Control Register Function ID: 5 Name: Servo Base Address<br />Register ID: 135 Name: Servo Control Register Function ID: 6 Name: Reserved<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 0 Name: Servo 31 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 1 Name: Servo 30 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 2 Name: Servo 29 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 3 Name: Servo 28 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 4 Name: Servo 27 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 5 Name: Servo 26 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 6 Name: Servo 25 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 7 Name: Servo 24 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 8 Name: Servo 23 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 9 Name: Servo 22 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 10 Name: Servo 21 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 11 Name: Servo 20 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 12 Name: Servo 19 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 13 Name: Servo 18 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 14 Name: Servo 17 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 15 Name: Servo 16 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 16 Name: Servo 15 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 17 Name: Servo 14 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 18 Name: Servo 13 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 19 Name: Servo 12 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 20 Name: Servo 11 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 21 Name: Servo 10 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 22 Name: Servo 9 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 23 Name: Servo 8 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 24 Name: Servo 7 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 25 Name: Servo 6 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 26 Name: Servo 5 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 27 Name: Servo 4 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 28 Name: Servo 3 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 29 Name: Servo 2 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 30 Name: Servo 1 Interrupt Mask<br />Register ID: 136 Name: Servo Interrupt Mask Register Function ID: 31 Name: Servo 0 Interrupt Mask<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 0 Name: Servo 31 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 1 Name: Servo 30 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 2 Name: Servo 29 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 3 Name: Servo 28 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 4 Name: Servo 27 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 5 Name: Servo 26 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 6 Name: Servo 25 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 7 Name: Servo 24 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 8 Name: Servo 23 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 9 Name: Servo 22 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 10 Name: Servo 21 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 11 Name: Servo 20 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 12 Name: Servo 19 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 13 Name: Servo 18 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 14 Name: Servo 17 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 15 Name: Servo 16 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 16 Name: Servo 15 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 17 Name: Servo 14 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 18 Name: Servo 13 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 19 Name: Servo 12 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 20 Name: Servo 11 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 21 Name: Servo 10 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 22 Name: Servo 9 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 23 Name: Servo 8 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 24 Name: Servo 7 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 25 Name: Servo 6 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 26 Name: Servo 5 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 27 Name: Servo 4 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 28 Name: Servo 3 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 29 Name: Servo 2 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 30 Name: Servo 1 Interrupt Status<br />Register ID: 137 Name: Servo Interrupt Status Register Function ID: 31 Name: Servo 0 Interrupt Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 0 Name: Servo 31 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 1 Name: Servo 30 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 2 Name: Servo 29 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 3 Name: Servo 28 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 4 Name: Servo 27 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 5 Name: Servo 26 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 6 Name: Servo 25 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 7 Name: Servo 24 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 8 Name: Servo 23 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 9 Name: Servo 22 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 10 Name: Servo 21 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 11 Name: Servo 20 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 12 Name: Servo 19 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 13 Name: Servo 18 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 14 Name: Servo 17 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 15 Name: Servo 16 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 16 Name: Servo 15 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 17 Name: Servo 14 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 18 Name: Servo 13 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 19 Name: Servo 12 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 20 Name: Servo 11 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 21 Name: Servo 10 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 22 Name: Servo 9 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 23 Name: Servo 8 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 24 Name: Servo 7 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 25 Name: Servo 6 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 26 Name: Servo 5 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 27 Name: Servo 4 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 28 Name: Servo 3 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 29 Name: Servo 2 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 30 Name: Servo 1 Sync Status<br />Register ID: 138 Name: Servo Sync Register Function ID: 31 Name: Servo 0 Sync Status<br />Register ID: 139 Name: SPI Base Address Register Function ID: 0 Name: SPI Base Address<br />Register ID: 139 Name: SPI Base Address Register Function ID: 1 Name: Reserved<br />Register ID: 139 Name: SPI Base Address Register Function ID: 2 Name: SPI Address Mapping<br />Register ID: 139 Name: SPI Base Address Register Function ID: 3 Name: SPI Base Address Enable[/code]<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sat Jul 10, 2010 3:22 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PaulL]]></name></author>
<updated>2010-07-10T02:54:31+01:00</updated>
<published>2010-07-10T02:54:31+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27398#p27398</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27398#p27398"/>
<title type="html"><![CDATA[.Net Roboard Register Configuration Tool / Source Code...]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=6397&amp;p=27398#p27398"><![CDATA[
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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />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!!!<br /><br />IMPORTANT!!!<br /><br />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. <br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> 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.<br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> I have plenty to do, including writing my OWN code that will use this library! <img src="http://forum.robosavvy.com/images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /><br /><br />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 <!-- m --><a class="postlink" href="http://www.developerfusion.com/tools/convert/vb-to-csharp/">http://www.developerfusion.com/tools/co ... to-csharp/</a><!-- m --> to convert to C# if VB isn't your thing.<br /><br />Using it:<br /><br />1. Do &quot;Load from Db&quot; 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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />2. Do &quot;Read All&quot;, this will read your current Configuration.<br /><br />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 &quot;Save to XML&quot;, this will prevent you having to do &quot;Load from Db&quot; again, from here on out, you can just click &quot;Load from XML&quot; instead. Note, the app saves the XML file as C:\Test.xml, you can change this in the source code or set up a &quot;File / Open&quot; 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”. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />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). <br /><br />General Notes: <br /><br />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.<br /><br />Changing values by selecting items in the tree causes changes INSTANTLY. If an item is &quot;Reserved&quot; or &quot;User Defined&quot;, 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 &quot;Read All&quot; to configure and re-read addresses that use that base address.<br /><br />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.<br /><br />YOU CAN LOCK UP YOUR BOARD with this code, or worse, if you do something wrong. <br /><br />If you are in doubt, ask before you click. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> 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.<br /><br />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.<br /><br />To access GPIO (After running the program ON YOUR ROBOARD ONLY, and doing Load from Db, etc, as above):<br /><br />GPIO is already set up as default use for pins, and default mode is Output. So, to change a pin, expand &quot;GPIO Port 0 Data Register&quot;, 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.<br /><br />To configure servos:<br /><br />Locate &quot;Servo Control Register&quot;, expand, then expand Servo Base Address, and click User Defined to invoke a pop-up box to enter data. Enter &quot;FE00h&quot; without the quotes and click OK. Then, expand &quot;Internal Servo Address Decode&quot;, and select Enabled. Also, expand CLKS and set to 50 Mhz.<br /><br />Click &quot;Read All&quot; 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.<br /><br />Then, open Internal Peripheral Control Register II, and select which pins you want for GPIO or Servo (note, use of GPIO4 gets interesting).<br /><br />This should already be turned on, but check On-Chip Device Control Register / SVP - Servo Power and make sure it is zero (on). <br /><br />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). <br /><br />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).<br /><br />A Duty of 1500 is approximately center position for this servo. So, 1500 * 50 = HREG value, (10000 - 1500) * 50 = LREG value.<br /><br />LREG = 75000<br />HREG = 425000<br /><br />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 &quot;h&quot; after your values, you will be entering Integer values. 75000 and 425000 would be integer values (no &quot;h&quot; when you type them in). <br /><br />Next, set Enabled for your servo. If all went well, your servo should move and stay at approximately center.<br /><br />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.<br /><br />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. <br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> For example, the input box will take negative numbers (I know, but haven't tried), which will likely cause something to go awry.<br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />And a reminder, I2C is not completely implemented at present, the register entries for it do not exist right now.<br /><br />I have attempted to provide a lot of useful information (documentation) in the code itself, I hope it serves you well.<br /><br />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. <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />You can find more information in the thread here in the Roboard forum under “Roboard Experience…”.<br /><br />Comments welcome, particularly positive ones. <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br />Take Care,<br />Paul<br /><br /><a href="http://robosavvy.com/Builders/RN1AsOf091407/RegCfg.zip" class="postlink">http://robosavvy.com/Builders/RN1AsOf091407/RegCfg.zip</a><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=741">PaulL</a> — Sat Jul 10, 2010 2:54 am</p><hr />
]]></content>
</entry>
</feed>