]> git.karo-electronics.de Git - oswald.git/blobdiff - ui/oswald_screens.c
Maybe a little sniff mode, add ambient light adc (not working),
[oswald.git] / ui / oswald_screens.c
index 9952365145772194891e3f1d4145d5b8f88e8924..5a29d39f3eeb0b96e7c0a26f38fcdc151a6839c5 100644 (file)
@@ -143,6 +143,8 @@ static accelscreen_data_t accel_screen = {
 
 void draw_accel_screen(accel_data_t *accel_data)
 {
+       uint8_t x,y;
+
        hal_lcd_clear_display();
 
        oswald_draw_bitmap(36, 0, acc_icon_width, acc_icon_height, acc_icon_bits);
@@ -162,7 +164,13 @@ void draw_accel_screen(accel_data_t *accel_data)
        oswald_draw_line(40, 82, 92, 82);
        oswald_draw_line(40, 82, 40, 30);
 
-       oswald_draw_pixel(41+25+((accel_data->x * 50) / (254)), 31+25+((accel_data->y * 50) / (254)));
+       x = 41+25+((accel_data->x * 50) / (254));
+       y = 31+25-((accel_data->y * 50) / (254));
+       oswald_draw_pixel(x, y);
+       oswald_draw_pixel(x+1, y);
+       oswald_draw_pixel(x-1, y);
+       oswald_draw_pixel(x, y+1);
+       oswald_draw_pixel(x, y-1);
 
        hal_lcd_update_display();
 }
@@ -172,6 +180,11 @@ event_ret_t accel_handle_events(uint16_t event, void *data)
        switch (event) {
                case EVENT_SCREEN_VISIBLE:
                        draw_accel_screen(&accel_screen.accdata);
+                       hal_accelerometer_enable();
+                       return EVENT_RET_HANDLED;
+                       break;
+               case EVENT_SCREEN_DESTROY:
+                       hal_accelerometer_disable();
                        return EVENT_RET_HANDLED;
                        break;
                case EVENT_ACCEL_UPDATE: {
@@ -840,8 +853,7 @@ event_ret_t alarm_handle_events(uint16_t event, void *data)
                        break;
                case EVENT_USER_BUTTONS:
                        dbg_out("button event %d\n", *(int *)data);
-                       // hal_lcd_set_backlight(FALSE);
-                       return EVENT_RET_HANDLED;
+                       return EVENT_RET_UNHANDLED;
                        break;
                case EVENT_HALF_SEC_TIMER:
                        hal_lcd_set_backlight(!hal_lcd_get_backlight());