diff --git a/image.h b/image.h index a01fc5d..4d0e65d 100644 --- a/image.h +++ b/image.h @@ -17,7 +17,7 @@ #include "svgrgb565.h" //27*11 = 297 * 2B = 594B -static uint16_t cannon_sprite[297] PROGMEM = { +static const uint16_t cannon_sprite[297] PROGMEM = { BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,GREEN,GREEN,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,GREEN,GREEN,GREEN,GREEN,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,GREEN,GREEN,GREEN,GREEN,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, @@ -32,7 +32,7 @@ static uint16_t cannon_sprite[297] PROGMEM = { }; //27*11 = 297 * 2B = 594B -static uint16_t cannon_sprite_2[297] PROGMEM = { +static const uint16_t cannon_sprite_2[297] PROGMEM = { BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,GREEN,BLACK,GREEN,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK, @@ -47,7 +47,7 @@ static uint16_t cannon_sprite_2[297] PROGMEM = { }; //27*11 = 297 * 2B = 594B -static uint16_t cannon_sprite_3[297] PROGMEM = { +static const uint16_t cannon_sprite_3[297] PROGMEM = { BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK, BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,GREEN,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,GREEN,BLACK, BLACK,BLACK,GREEN,BLACK,GREEN,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,BLACK,GREEN,BLACK,BLACK,GREEN,BLACK,BLACK,BLACK,GREEN, @@ -62,7 +62,7 @@ static uint16_t cannon_sprite_3[297] PROGMEM = { }; //9*8 = 72 * 2B = 144B -static uint16_t heart_sprite[72] PROGMEM = { +static const uint16_t heart_sprite[72] PROGMEM = { BLACK,RED,RED,BLACK,BLACK,BLACK,RED,RED,BLACK, RED,RED,RED,RED,BLACK,RED,RED,RED,RED, RED,RED,RED,RED,RED,RED,RED,WHITE,RED, @@ -74,7 +74,7 @@ static uint16_t heart_sprite[72] PROGMEM = { }; //16x14 -static uint16_t astro_sprite[] PROGMEM = { +static const uint16_t astro_sprite[] PROGMEM = { BLACK,BLACK,BLACK,BLACK,BLACK,RED,RED,RED,RED,RED,RED,DARK_RED,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,BLACK,RED,RED,RED,RED,RED,RED,DARK_RED,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,RED,RED,RED,RED,RED,RED,RED,RED,RED,RED,DARK_RED,BLACK,BLACK, @@ -92,7 +92,7 @@ static uint16_t astro_sprite[] PROGMEM = { }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_1A[] PROGMEM = { +static const uint16_t monster_sprite_1A[] PROGMEM = { BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK, @@ -111,7 +111,7 @@ static uint16_t monster_sprite_1A[] PROGMEM = { BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK, }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_1B[] PROGMEM = { +static const uint16_t monster_sprite_1B[] PROGMEM = { BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK, @@ -130,7 +130,7 @@ static uint16_t monster_sprite_1B[] PROGMEM = { BLACK,BLACK,WHITE,BLACK,WHITE,BLACK,BLACK,WHITE,BLACK,WHITE,BLACK,BLACK,BLACK }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_2A[416] PROGMEM = { +static const uint16_t monster_sprite_2A[416] PROGMEM = { BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK, @@ -149,7 +149,7 @@ static uint16_t monster_sprite_2A[416] PROGMEM = { BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_2B[416] PROGMEM = { +static const uint16_t monster_sprite_2B[416] PROGMEM = { BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK, BLACK,WHITE,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,WHITE,BLACK, @@ -168,7 +168,7 @@ static uint16_t monster_sprite_2B[416] PROGMEM = { BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_3A[] PROGMEM = { +static const uint16_t monster_sprite_3A[] PROGMEM = { BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK, @@ -187,7 +187,7 @@ static uint16_t monster_sprite_3A[] PROGMEM = { BLACK,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK,BLACK,BLACK }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_3B[] PROGMEM = { +static const uint16_t monster_sprite_3B[] PROGMEM = { BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK, BLACK,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,WHITE,BLACK,BLACK, @@ -206,7 +206,7 @@ static uint16_t monster_sprite_3B[] PROGMEM = { WHITE,WHITE,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,BLACK,WHITE,WHITE,BLACK }; //13x8 = 104 * 2B = 208B -static uint16_t monster_sprite_exp[416] PROGMEM = { +static const uint16_t monster_sprite_exp[416] PROGMEM = { BLACK,WHITE,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,WHITE,BLACK, BLACK,WHITE,BLACK,BLACK,WHITE,BLACK,BLACK,BLACK,WHITE,BLACK,BLACK,WHITE,BLACK, BLACK,BLACK,WHITE,BLACK,BLACK,WHITE,BLACK,WHITE,BLACK,BLACK,WHITE,BLACK,BLACK, @@ -226,7 +226,7 @@ static uint16_t monster_sprite_exp[416] PROGMEM = { }; //4x9 -static uint16_t triangle_sprite[28] PROGMEM = { +static const uint16_t triangle_sprite[28] PROGMEM = { BLUE,BLACK,BLACK,BLACK, BLUE,BLUE,BLACK,BLACK, BLUE,BLUE,BLUE,BLACK, diff --git a/lcd/lcd.c b/lcd/lcd.c index c418b45..01d6e90 100644 --- a/lcd/lcd.c +++ b/lcd/lcd.c @@ -117,7 +117,7 @@ void set_frame_rate_hz(uint8_t f) { write_data(rtna); } -void fill_image_pgm(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t *col) { +void fill_image_pgm(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *col) { write_cmd(COLUMN_ADDRESS_SET); write_data16(x); write_data16(x+width); @@ -162,7 +162,7 @@ void fill_image_pgm(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uin } } -void fill_image_pgm_2b(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t *col) { +void fill_image_pgm_2b(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *col) { write_cmd(COLUMN_ADDRESS_SET); write_data16(x); write_data16(x+width-1); @@ -213,7 +213,7 @@ void fill_image_pgm_2b(uint16_t x, uint16_t y, uint16_t width, uint16_t height, } } -void fill_image(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t *col) { +void fill_image(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *col) { write_cmd(COLUMN_ADDRESS_SET); write_data16(x); write_data16(x+width); diff --git a/lcd/lcd.h b/lcd/lcd.h index 4ffb7de..9d719ef 100644 --- a/lcd/lcd.h +++ b/lcd/lcd.h @@ -47,9 +47,9 @@ void display_string(char *str); void display_string_xy(char *str, uint16_t x, uint16_t y); void display_string_xy_col(char *str, uint16_t x, uint16_t y, uint16_t col); void display_register(uint8_t reg); -void fill_image(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t *col); -void fill_image_pgm(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t *col); -void fill_image_pgm_2b(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t *col); +void fill_image(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *col); +void fill_image_pgm(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *col); +void fill_image_pgm_2b(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *col); void display_uint8(uint8_t i); void display_uint16(uint16_t i); void display_uint32(uint32_t i);