AeroSenseSw / AeroSenseAssure

MIT License
0 stars 3 forks source link

Heatmap processing code assumes unsigned bytes #4

Open msdrigg opened 10 months ago

msdrigg commented 10 months ago

Currently the radar heatmap processing code is assuming that bytes are unsigned with a range or (0, 255), but java treats bytes as signed with the range (-128, 127).

This leads to problems like for example here, where this function will always return x because x is already always between -127 and 128

https://github.com/AeroSenseSw/AeroSenseAssure/blob/3c62710b2215245e70540dfdd168e0918559bb7f/src/main/java/com/aerosense/radar/tcp/service/fromRadar/ReportHeatMapHandler.java#L64C23-L64C23

See here for how to convert to unsigned integer: https://mkyong.com/java/java-convert-bytes-to-unsigned-bytes/#:~:text=Java%20doesn't%20have%20unsigned,unsigned%20byte%20in%20an%20integer.