Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Incorrect Gather.Type[i] for Motor[x].CapturePos
#1
Using the Scope (and Plot) utility of the IDE we have observed that gathered values of Motor[1].CapturePos always return 0, while the Watch window reports the correct value.
Note: the PowerPMAC software reference manual defines Motor[x].CapturePos as boolean with a formal range of 0-1.

The Gather.Type is 1542 (i.e. an unsigned 8-bit number with start bit 0).
However, by examining the 32bit register using Gather.Udata we found out that the start bit actually should be 24.

If we override Gather.Type with the value 50694 (defining an unsigned 8-bit number with start bit 24) then the Scope utility returns the correct values for Motor[1].CapturePos.

So it seems that for Motor[x].CapturePos the Gather.Type is not set correctly.

This has been observed with:
PPMAC Firmware 2.3.2.5
PowerPMAC IDE v3.0.1.0

Could this be a firmware related bug?
Reply
#2
I made the same experience on gathering Motor[1].CapturePos with following setup:

CK3E
PPMAC V2.4.1.2
PPMAC IDE V4.1.0.24

IDE-Plot sets up when pressing "Gather Data"-button:
Gather.Type[1]=1542
Gather.Addr[1]=3355995152 ($c8086c10)
but would not gather any changes on Motor[1].CapturePos

If I manually change Gather.Type[1]=50694 and gather with Gather.Enable=2
any changes on Motor[1].CapturePos are registered correctly.

By the way: Motor[1].CapturePos.a=$c8086c13 (3355995155) - how come it does not match Gather.Addr[1]?!
Reply
#3
Thanks for tracking this down and reporting this. It is a bug in the automated assignment of the Type variable. It will be fixed in a release for later this year.

The address reported for CapturePos.a is the byte address of the high byte of a 4-byte word. The value of the Addr element is the byte address of the full 32-bit word, so it is 3 less than the high byte address.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)