What registers are off limits....

The ifi_picdefs.h which was included in the IFI default code in the past is missing from this years code. I posted a question of what registers are off limits on the IFI tech forum. The answer I got back (gulp!) shocked me!

No, there are still things that are off limits. The ifi_picdefs.h is no longer used. The ifi_aliases.h now shows the mapping of what you can use.


If you remove the rxdata aliases and the data pin aliases… this leaves you with nothing. I’m asking again, because if this is the answer then you cannot write interrupt routines, you cannot use timers as none of those registers are listed in the ifi_aliases.h file! Ouch!


You can use it. Timers, interrupts, eeproms, adc, etc are all accessible.

Download this to make your life easier. From Kevin Watson, it has all the interrupts and timers you will ever need with full control.

What they are saying that there are still somethings that all off limits but not everything the way you believe

Timer0 is off limits unless you’re using the ifi_alltimers.lib library. So a little help from IFI on things like this might still be helpful.

I guess I’m just frustrated. I know the answer, you know the answer but the official support group for the robot controller doesn’t seem to know the answer. It was a mistake to drop the ifi_picdefs.h file from the kit without at least documenting which hardware registers/bits are reserved. And then to give an official answer of, no you only can access the registers as defined in the ifi_aliases.h is just ill advise no matter how official it is.

Imagine being a rookie team and you don’t happen to have a copy of last year’s code then how do you know which registers – and there are lots of them – are reserved within the user’s processor on the robot controller.

But everyone makes mistakes, so lets see if they change their minds or we are only allowed to access the registers in ifi_aliases.h for real…

ifi_picdefs.h (35.6 KB)

ifi_picdefs.h (35.6 KB)

The new answer from ifi is you can use any registers that were used/available in the past and any that were off limits in the past are still off limits.

Since these are not currently defined in the 2007 default code, rookie teams can see the information by pulling a copy of last year’s default code from the ifi site’s legacy docs area.