float m_data = *((float *)data)*2;
float tmp;
- if (updated) {
- float tmp = actual_flow/2.0f;
+/* if (updated) {
+ if (m_data == 0) {
+ tmp = 0;
+ actual_flow /= 2.0f;
+ } else {
+ tmp = actual_flow/2.0f;
+ }
who->recieve_msg(MSG_RESPONSE_MAX_FLOW, this, &tmp);
break;
- }
+ }*/
updated = true;
if (m_data == 0) {
in_on_zero++;
tmp = 0.0f;
who->recieve_msg(MSG_RESPONSE_MAX_FLOW, this, &tmp);
- if (in_on_zero == 1) {
- if (in_ready == 0)
- tmp = max_flow;
- else
- tmp = actual_flow/2.0f;
+ switch (in_on_zero) {
+ case 1:
+ if (in_ready == 0)
+ tmp = max_flow;
+ else
+ tmp = actual_flow/2.0f;
+ break;
+ case 0:
+ if (in_ready == 1) {
+ tmp = actual_flow/2.0f;
+ }
+ break;
+ case 2:
+ tmp = 0.0f;
}
send_msg(OUT, MSG_QUERY_MAX_FLOW_OUT, &tmp);
} else {