From fcde71a9021d636bcdbc53f24013437b7dc32e01 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Fri, 7 Jun 2019 16:11:34 -0500 Subject: [PATCH] *Strong Bad and The Cheat are eating at an invisible restaurant* --- examples/cluster.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/examples/cluster.c b/examples/cluster.c index b9c8b53..1721ef1 100644 --- a/examples/cluster.c +++ b/examples/cluster.c @@ -74,7 +74,7 @@ static void draw_tachometer_needle(cairo_t *cr, */ cairo_set_source_rgb(cr, 1, 1, 1); cairo_arc(cr, x, y, 0.08 * r, 0, 2*M_PI); - cairo_fill(cr); + cairo_stroke(cr); draw_needle(cr, x, y, 0.77 * r, 232 * (M_PI/180), @@ -162,7 +162,7 @@ static void draw_speedometer_needle(cairo_t *cr, */ cairo_set_source_rgb(cr, 1, 1, 1); cairo_arc(cr, x, y, 0.08 * r, 0, 2*M_PI); - cairo_fill(cr); + cairo_stroke(cr); draw_needle(cr, x, y, 0.77 * r, 232 * (M_PI/180), @@ -217,7 +217,7 @@ static void draw_thermometer_needle(cairo_t *cr, */ cairo_set_source_rgb(cr, 1, 1, 1); cairo_arc(cr, x, y, 0.08 * r, 0, 2*M_PI); - cairo_fill(cr); + cairo_stroke(cr); draw_needle(cr, x, y, 0.77 * r, 300 * (M_PI/180), @@ -231,6 +231,27 @@ static void draw_fuel_gauge(cairo_t *cr, double r) { cairo_arc(cr, x, y, r, 0, 2*M_PI); cairo_stroke(cr); + + draw_face_number(cr, x, y, + 0.75 * r, + 300 * (M_PI/180), + 420 * (M_PI/180), + 0.0, + "0"); + + draw_face_number(cr, x, y, + 0.75 * r, + 300 * (M_PI/180), + 420 * (M_PI/180), + 0.5, + "1/2"); + + draw_face_number(cr, x, y, + 0.75 * r, + 300 * (M_PI/180), + 420 * (M_PI/180), + 1.0, + "1"); } static void draw_fuel_gauge_needle(cairo_t *cr, @@ -247,7 +268,7 @@ static void draw_fuel_gauge_needle(cairo_t *cr, */ cairo_set_source_rgb(cr, 1, 1, 1); cairo_arc(cr, x, y, 0.08 * r, 0, 2*M_PI); - cairo_fill(cr); + cairo_stroke(cr); draw_needle(cr, x, y, 0.77 * r, 300 * (M_PI/180), @@ -335,8 +356,8 @@ static void cluster_update(struct can_frame *frame) { } case 0x5a0: { - state.rps = 0.001 * (double)((frame->data[1] >> 1) - | (frame->data[2] << 8)); + state.rps = 0.001 * (double)(frame->data[1] + | (frame->data[2] << 8)); break; }