Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rc9444670e4c9a0d18375ea2687538c421200fac3 -rd45c21793bdd738fb325eb7ff4446f50c2c8526d --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision c9444670e4c9a0d18375ea2687538c421200fac3) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d45c21793bdd738fb325eb7ff4446f50c2c8526d) @@ -1662,17 +1662,18 @@ { BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof( U32 ) ) + if ( message->hdr.payloadLen == sizeof( BOOL ) ) { BOOL startingTreatment; + DG_OP_MODE_T dgMode = getCurrentOperationMode(); - memcpy( &startingTreatment, message->payload, sizeof( U32 ) ); + memcpy( &startingTreatment, message->payload, sizeof( BOOL ) ); - if ( ( DG_MODE_STAN == getCurrentOperationMode() ) && ( TRUE == startingTreatment ) ) + if ( ( DG_MODE_STAN == dgMode ) && ( TRUE == startingTreatment ) ) { result = requestDGStart(); } - else if ( ( DG_MODE_GENE == getCurrentOperationMode() ) && ( FALSE == startingTreatment ) ) + else if ( ( dgMode >= DG_MODE_GENE ) && ( dgMode <= DG_MODE_DRAI ) && ( FALSE == startingTreatment ) ) { result = requestDGStop(); }