rp2040_app: Fix rounding to step in crement

This commit is contained in:
2023-06-10 00:38:31 +02:00
parent 81b5ccfbe8
commit b512372b19

View File

@@ -65,7 +65,7 @@ static int min_as = 0, max_as = 999, max_mach = 990;
static void render_uint(int start, int len, unsigned val, bool leading_zeros)
{
const int end = start + len - 1;
for(int i = 0;i < len;++i) {
for (int i = 0; i < len; ++i) {
if (val || i == 0 || leading_zeros)
sevenseg_set_digit(end - i, val % 10);
else
@@ -76,8 +76,8 @@ static void render_uint(int start, int len, unsigned val, bool leading_zeros)
static void render_blank(int start, int len)
{
for(int i = 0;i < len;++i) {
sevenseg_set_digit(start+i, LED_BLANK);
for (int i = 0; i < len; ++i) {
sevenseg_set_digit(start + i, LED_BLANK);
}
}
@@ -144,8 +144,14 @@ static int crement_val(bool inc, int val, int min, int max, int step, bool wrap)
{
// round to step in correct direction
if (inc) {
if (val < 0)
val = ((val - step + 1) / step) * step;
else
val = (val / step) * step;
} else {
if (val < 0)
val = (val / step) * step;
else
val = ((val + step - 1) / step) * step;
}
if (inc) {