I was expecting the output address for the firmware value to match the address from RapidCodeNetworkNode::AnalogOutAddressGet() so we’ll keep you posted on what we find.
Sorry I misspoke. Now that you mention this, it occurs to me that I have merely assumed that there’s a precisely 1:1 correspondence between host and firmware addresses. Is this assumption correct?
I have noticed that the low order (16-bit) words always match between host and firmware addresses, so I frequently only compare that part.
It’s not completely safe to assume host and firmware address LSBs will match, though on Windows they often do in practice when the firmware memory is page-aligned and directly mapped.
But in order to do this, I have to locate the network output corresponding to the analog output. At the point in the code where this happens, I have a RapidCodeNetworkNode and an analog index number.
Is there a quick/straightforward way to get the associated (global) network output?
Ah, ok, good point. No, at present, there’s no way to get the NetworkOutput index from a node’s Analog Output. We’ll add them for all four types of I/O. In your case, that’d be RapidCodeNetworkNode::AnalogOutNetworkIndexGet(int32_t channel).