Issues.00527 - lordmundi/wikidoctest GitHub Wiki

00527: DCOMM bug where unchanged nodes are still sent out over network

« 00526 | Issues | 00528 »

Summary: DCOMM bug where unchanged nodes are still sent out over network

Created: 2014–12–02 13:16

Status: Released

Category: Bug

From: frankie

Version: 2.3

Released_In: 2.4

Description:

There are cases where the check DCOMM normally does (when the always_enqueue flag is turned off) to filter out nodes marked as modified but no data is different from the current data doesn't work. In this case, driving a node to the same value over and over is sent out over and over even though it should be filtered out for all instances where the data is the same as what the current value is.

This has shown up particularly in the functions DCF_SetPitchOrderRD and DCF_SetRollOrderRD. It may appear in others. Also, these functions are aliased as macros as:

  • DCM_SetPitchRPYRD
  • DCM_SetPitchRYPRD
  • DCM_SetPitchPRYRD
  • DCM_SetPitchPYRRD
  • DCM_SetPitchYRPRD
  • DCM_SetPitchYPRRD
  • DCM_SetRollRPYRD
  • DCM_SetRollRYPRD
  • DCM_SetRollPRYRD
  • DCM_SetRollPYRRD
  • DCM_SetRollYRPRD
  • DCM_SetRollYPRRD

There may be others, but these are listed in case they aid searches of others.


Comments


« 00526 | Issues | 00528 »

Associated Commits

| commit | 6ca82f2e3d117413e8c3e3bc916c4988a31e7226 link5 | || | Author: | Frank Graffagnino | | Date: | Tue Dec 2 14:14:10 2014 -0600 | | Message: | [@Issue 00504 and 00527: Fixed DCOMM bug and added debug magic string This patch fixes the bug outlines in 00527 where certain calls in DCOMM were not correctly performing the check to see if a node had truly changed and was therefore sending the node out over the network any time it was marked as modified. Also, this updates 00504 and adds the new capability to specify the node name as "__DEBUG_ALL" which will cause the outgoing messages to be shown for all nodes rather than a particular one. @] |

Affected Files:

lib_Darwin/libd_comm_tc.a              | Bin 1030832 -> 1023576 bytes
 lib_Linux_FC3/libd_comm_tc.a           | Bin 480014 -> 480162 bytes
 lib_Linux_FC3/libd_comm_tc_s.so        | Bin 329750 -> 329914 bytes
 lib_Linux_FC3_x86_64/libd_comm_tc.a    | Bin 835006 -> 835230 bytes
 lib_Linux_FC3_x86_64/libd_comm_tc_s.so | Bin 424898 -> 425210 bytes
 lib_Linux_FC3_x86_64/libdsp.a          | Bin 1461386 -> 1461602 bytes
 lib_Linux_FC3_x86_64/libdsp_s.so       | Bin 889759 -> 889871 bytes
 lib_Win32/libd_comm_tc.dll             | Bin 593465 -> 593465 bytes
 plugin_Darwin/dsp_dcomm_tc.so          | Bin 229488 -> 241984 bytes
 plugin_Linux_FC3/dsp_dcomm_tc.so       | Bin 69228 -> 69224 bytes
 plugin_Win32/dsp_dcomm_tc.dll          | Bin 1002522 -> 1011226 bytes
 11 files changed, 0 insertions(+), 0 deletions(-)

| commit | 64c9a3e127564a5f7d289b61e923ed9d1de4f776 link6 | || | Author: | Frank Graffagnino | | Date: | Tue Dec 2 13:31:37 2014 -0600 | | Message: | [@Issue 00527: Fixed DCOMM bug on DCF_SetPitchOrderRD and DCF_SetRollOrderRD Please note - this is not a thorough fix. What really needs to happen is for someone to go through this dcomm code and fix the very numerous places where floats are being used where doubles are being used. This will inevitably require some DCOMM functions to be written that are missing (such as DCF_GetPosD and many others). Since this is trying to fix a very specific problem in TS21, I'm making the smallest changes to fix that issue and trying to draw attention that a testing framework is needed to support the larger changes that need to be made and tested. @] |

Affected Files:

src/dcomm/src/d_comm.c | 27 ++++++++++++++++++++±-----
 1 file changed, 21 insertions(+), 6 deletions(-)