From 6cd04b244a2f48d5a29cf83543acd9eec58702c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Ple=C3=9F?= Date: Sat, 15 Jun 2013 07:10:34 +0200 Subject: [PATCH] removed leading zeros from sevensegmen --- display/software/displayboard/src/main.c | 25 ++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/display/software/displayboard/src/main.c b/display/software/displayboard/src/main.c index edd7470..9a6d060 100644 --- a/display/software/displayboard/src/main.c +++ b/display/software/displayboard/src/main.c @@ -90,13 +90,26 @@ static void print_sevenseg(uint8_t display, uint16_t value) { d[0] = (value % 10); if(display == 0) { - for(uint8_t i = 0; i< 3; i++) { - digitbuffer[i] = segment_translate[d[i]]; - } + digitbuffer[0] = segment_translate[d[0]]; + if(d[1] == 0) + digitbuffer[1] = 0x00; + else + digitbuffer[1] = segment_translate[d[1]]; + if(d[2] == 0) + digitbuffer[2] = 0x00; + else + digitbuffer[2] = segment_translate[d[2]]; } else { - for(uint8_t i = 0; i< 3; i++) { - digitbuffer[i+3] = segment_translate[d[i]]; - } + digitbuffer[3] = segment_translate[d[0]]; + if(d[1] == 0) + digitbuffer[4] = 0x00; + else + digitbuffer[4] = segment_translate[d[1]]; + if(d[2] == 0) + digitbuffer[5] = 0x00; + else + digitbuffer[5] = segment_translate[d[2]]; + } }