TPO configuration OptoMMP

Dear all,

I am trying to configure several GRV-ODCSRC-24 to run as TPO using python and OptoMMP. Unfortunately, I have not found the memory addresses on the OptoMMp guide. Going through the Forum I found the following:

| 0xF08C0000 | bitmask | Start Mask | (moduleNum * 0x4) + MMPaddress
| 0xF08C0040 | bitmask | Start Must On | (moduleNum * 0x4) + MMPaddress
| 0xF08C0080 | bitmask | Start Must Off | (moduleNum * 0x4) + MMPaddress
| 0xF08C00C0 | bitmask | Pulsing | (moduleNum * 0x4) + MMPaddress
| 0xF08C4000 | Float | TPOPercentAddress| ((moduleNum* 32) + channelNum) * 0x30 + MMPaddress

If I follow the structure of PACcontrol I need to do the following:

  1. Enable TPO on the module and channels using a bitmask under the base address 0xF08C0040

  2. Set TPO period on a specific channel using base address (unknown!)

  3. Set TPO percent on a specific channel using base address 0xF08C4000

Is that correct? Where can I find the “Set TPO period” base address?

Also, why is it not possible to configure the TPO under groovManage?

As always, thank you very much for your time and help!

This is going to be complicated… Let me send you a DM.

alberto.bueno brings up some good points. Are there any plans to have the TPO memory map addresses documented? I’ve ran into similar issue in the past and had to get the “secret” addresses.

Honestly, its hard to commit much time to it. We about 1 request every 5 years.
Most people use PAC Control and it just works there with no faffing about.
That said, I am always happy to run it up the flag pole and see what the team thinks.

The largest concern for me would be the addresses/behavior changing that breaks projects that use them- probably unlikely to happen though.

I can imagine that for industrial automation PAC control, Codesys, etc. are the way to go, and in most of the cases, it is enough. My engineer background coupled with my research makes it ideal to be able to program using Python, in this way (ideally) you will not be constrained.

One of the reasons I purchased the groov EPIC platform was the shell access. My mistake was thinking I was going to have a fully documented memory map and a less constrained Linux system. Perhaps, it would be important to mention those limitations upfront!

Anyways, Opto22 and community support have been exceptional and there is always a solution. I only hope that the system keeps evolving and in the future doing Python implementations is a standard feature of the system.