datamodel expects value in double when processing DATAMODEL_REQ_DEVICE_PUSH_SENSOR_SIG.
Problematic code flow:
- prop_process_request_sensor_val() calls send_sensor_value() with ** double encoded value in double
- send_sensor_value() encodes value to 16-bit by calling dsmapiSensorValue()**
- send_sensor_value() raises event UpstreamSubqualifierSensorSensorValues LongUpstreamEvt with 16-bit encoded value in double
- SelectB_top consumes the event and raises 2nd event DATAMODEL_REQ_DEVICE_PUSH_SENSOR_SIG with 16-bit sensorValue in double
- Datamodel_idle consumes the 2nd event and encodes the 16-bit sensor value again by calling dsmapiSensorValue(). This the moment when we can get the wrong value 65535.