comparison Discovery/Src/logbook.c @ 283:04cdeff80254 ndl-in-logbook

Bugfix: write NDL in logbook correctly This is a subtle one. Typecasting takes precedence over, for example, division. So, we first typecasted an int to an uint8_t, loosing data in the process, and then do a seconds to minute conversion. This, obviously, does not give the result one expects. And in hindsight a trivial fix for a bug that like has been there forever. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Thu, 02 May 2019 13:08:17 +0200
parents 54d14bc2083c
children 50c26a4442af
comparison
equal deleted inserted replaced
282:c7e665e0b08f 283:04cdeff80254
518 518
519 if(pDecoinfo->output_ndl_seconds > 0) 519 if(pDecoinfo->output_ndl_seconds > 0)
520 { 520 {
521 sample[length] = 0; 521 sample[length] = 0;
522 length += 1; 522 length += 1;
523 sample[length] = (uint8_t)pDecoinfo->output_ndl_seconds / 60; 523 sample[length] = (uint8_t)(pDecoinfo->output_ndl_seconds / 60);
524 524
525 // Limit stored sample within 0 to 240 mins (Since it's 8bit UINT only) 525 // Limit stored sample within 0 to 240 mins (Since it's 8bit UINT only)
526 if ((pDecoinfo->output_ndl_seconds / 60) > 240) sample[length] = 240; 526 if ((pDecoinfo->output_ndl_seconds / 60) > 240) sample[length] = 240;
527 if ((pDecoinfo->output_ndl_seconds / 60) < 0) sample[length] = 0; 527 if ((pDecoinfo->output_ndl_seconds / 60) < 0) sample[length] = 0;
528 528