diff --git a/app/src/basic/ssd1306/driver_ssd1306_basic.c b/app/src/basic/ssd1306/driver_ssd1306_basic.c index 36bd9d2..be0c699 100644 --- a/app/src/basic/ssd1306/driver_ssd1306_basic.c +++ b/app/src/basic/ssd1306/driver_ssd1306_basic.c @@ -531,7 +531,7 @@ uint8_t ssd1306_basic_draw_one_chr(uint8_t xs, uint8_t ys, char *str, FontLibrar if (is_ascii) { charsize = 1; } else { - charsize = 3; // utf8 编码中文?3个字? + charsize = 3; // utf8 ??3?? } FontLibrary_findchar(frontlib, str, &frontbuf); @@ -618,7 +618,7 @@ uint8_t ssd1306_basic_draw_battery_level(uint8_t xs, uint8_t ys, uint8_t *xchang int batteryInterBodyWidth = batteryBodyWidth - blank_width * 2 - border_width * 2; int batteryInterBodyHigh = batteryBodyHigh - border_width * 2 - blank_width * 2; /** - * @brief 画头? + * @brief ͷ?? */ for (int yoff = 0; yoff < batteryHeaderHigh; yoff++) { for (int xoff = 0; xoff < batteryBodyWidth; xoff++) { @@ -634,7 +634,7 @@ uint8_t ssd1306_basic_draw_battery_level(uint8_t xs, uint8_t ys, uint8_t *xchang ys += batteryHeaderHigh; /** - * @brief 画上边沿 + * @brief ϱ */ for (int yoff = 0; yoff < border_width; yoff++) { for (int xoff = 0; xoff < batteryBodyWidth; xoff++) { @@ -643,7 +643,7 @@ uint8_t ssd1306_basic_draw_battery_level(uint8_t xs, uint8_t ys, uint8_t *xchang } ys += border_width; /** - * @brief 画上留白 + * @brief */ for (int yoff = 0; yoff < blank_width; yoff++) { for (int xoff = 0; xoff < batteryBodyWidth; xoff++) { @@ -660,7 +660,7 @@ uint8_t ssd1306_basic_draw_battery_level(uint8_t xs, uint8_t ys, uint8_t *xchang ys += blank_width; /** - * @brief 画身? + * @brief ?? */ for (int yoff = 0; yoff < batteryInterBodyHigh; yoff++) { for (int xoff = 0; xoff < batteryBodyWidth; xoff++) { @@ -688,7 +688,7 @@ uint8_t ssd1306_basic_draw_battery_level(uint8_t xs, uint8_t ys, uint8_t *xchang ys += batteryInterBodyHigh; /** - * @brief 画上留白 + * @brief */ for (int yoff = 0; yoff < blank_width; yoff++) { for (int xoff = 0; xoff < batteryBodyWidth; xoff++) { @@ -704,7 +704,7 @@ uint8_t ssd1306_basic_draw_battery_level(uint8_t xs, uint8_t ys, uint8_t *xchang } ys += blank_width; /** - * @brief 画上边沿 + * @brief ϱ */ for (int yoff = 0; yoff < border_width; yoff++) { for (int xoff = 0; xoff < batteryBodyWidth; xoff++) { @@ -725,7 +725,7 @@ uint8_t ssd1306_basic_draw_progress(uint8_t xs, uint8_t ys, uint16_t width, uint */ /** - * @brief һ + * @brief */ for (uint16_t i = 0; i < width; i++) { ssd1306_gram_write_point(&gs_handle, xs + i, ys, 1); @@ -733,7 +733,7 @@ uint8_t ssd1306_basic_draw_progress(uint8_t xs, uint8_t ys, uint16_t width, uint ys += 1; /** - * @brief + * @brief */ uint16_t progress_width = width * progress / 100.0; uint16_t markpos_off = width * markpos / 100.0; @@ -753,7 +753,7 @@ uint8_t ssd1306_basic_draw_progress(uint8_t xs, uint8_t ys, uint16_t width, uint ys += high - 2; /** - * @brief β + * @brief */ for (uint16_t i = 0; i < width; i++) { ssd1306_gram_write_point(&gs_handle, xs + i, ys, 1); diff --git a/app/src/basic/ssd1306/wave_drawer.c b/app/src/basic/ssd1306/wave_drawer.c index abd37c6..6242a60 100644 --- a/app/src/basic/ssd1306/wave_drawer.c +++ b/app/src/basic/ssd1306/wave_drawer.c @@ -15,11 +15,11 @@ void wave_drawer_init(wave_drawer_t *dw, uint8_t xs, uint8_t ys, uint16_t width, dw->ybottom_border = ys + high; dw->ytop = ys + 1; - dw->ybottom = ys + high - 1; + dw->ybottom = ys + high - 2; dw->xleft = xs + 1; dw->xright = xs + width - 1; - dw->high = high - 1; + dw->high = high - 2; dw->width = width - 1; dw->is_first_point = true; } @@ -28,7 +28,7 @@ void wave_drawer_draw_border(wave_drawer_t *dw) { for (uint16_t x = dw->xleft_border; x <= dw->xright_border; x++) { for (uint16_t y = dw->ytop_border; y <= dw->ybottom_border; y++) { if (x == dw->xleft_border || x == dw->xright_border || y == dw->ytop_border || y == dw->ybottom_border) { - // ssd1306_gram_write_point(ssd1306_handler(), x, y, 1); + ssd1306_gram_write_point(ssd1306_handler(), x, y, 1); } else { ssd1306_gram_write_point(ssd1306_handler(), x, y, 0); } @@ -48,7 +48,7 @@ void wave_drawer_draw_next_point(wave_drawer_t *dw, uint8_t y) { * |--------------- */ - uint16_t yreal = y / 100.0 * (dw->high - 1); + uint16_t yreal = y / 100.0 * (dw->high - 4); uint16_t ypos = dw->ybottom - yreal; uint16_t xpos = dw->xleft + dw->pointoffset; diff --git a/app/src/one_conduction/display_manager.c b/app/src/one_conduction/display_manager.c index 878d2c9..28f5af7 100644 --- a/app/src/one_conduction/display_manager.c +++ b/app/src/one_conduction/display_manager.c @@ -129,10 +129,20 @@ void dsp_mgr_change_to_preparePage() { static wave_drawer_t wave_drawer; void dsp_mgr_change_to_sampling() { // - // ssd1306_basic_draw_progress(5, 5, 100, 8, 50, 30); - wave_drawer_init(&wave_drawer, 1, 1, 100, 40); + + + wave_drawer_init(&wave_drawer, 1, 1, 120, 40); wave_drawer_draw_border(&wave_drawer); + + uint8_t x = 0; + uint8_t y = 0; + uint8_t xchange, ychange; + + ssd1306_basic_draw_progress(1, 47, 80, 8, 50, 30); + + ssd1306_basic_draw_str(82, 43, &xchange, &ychange, "<>123", &font_asicc16x8_lib); ssd1306_basic_gram_update(); + } void dsp_mgr_draw_point(int16_t y) { diff --git a/app/src/one_conduction/font.h b/app/src/one_conduction/font.h index aceffbe..5ca6ccb 100644 --- a/app/src/one_conduction/font.h +++ b/app/src/one_conduction/font.h @@ -210,4 +210,39 @@ static FontLibrary_t font24x24_zh_lib = { .isAscii = false, .widthPixel = 24, .heightPixel = 24, -}; \ No newline at end of file +}; + +#if 0 +// const unsigned char gImage_heart_16x16[] = { +// /* 0X22,0X01,0X10,0X00,0X10,0X00, */ +// 0X00, 0XF8, 0XFC, 0XFE, 0XFE, 0XFE, 0XFE, 0XFC, 0XFC, 0XFE, 0XFE, 0XFE, 0XFE, 0XFC, 0XF8, 0X00, 0X00, 0X00, 0X03, 0X07, 0X0F, 0X1F, 0X3F, 0X7F, 0X7F, 0X3F, 0X1F, 0X0F, 0X07, 0X03, 0X00, 0X00, +// }; +#endif + +const unsigned char font_asicc_code_16x8[] = { + 0x00, 0xF0, 0x18, 0x08, 0x08, 0x18, 0xE0, 0x00, 0x00, 0x0F, 0x10, 0x20, 0x30, 0x18, 0x0F, 0x00, /*"0",0*/ + 0x00, 0x60, 0x20, 0xF0, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, /*"1",1*/ + 0x00, 0x30, 0x18, 0x08, 0x08, 0xD8, 0x70, 0x00, 0x00, 0x30, 0x38, 0x34, 0x33, 0x31, 0x30, 0x00, /*"2",2*/ + 0x00, 0x30, 0x18, 0x08, 0x88, 0xD8, 0x70, 0x00, 0x00, 0x18, 0x10, 0x20, 0x21, 0x13, 0x0E, 0x00, /*"3",3*/ + 0x00, 0x00, 0x80, 0x60, 0x30, 0xF8, 0x00, 0x00, 0x04, 0x07, 0x05, 0x04, 0x04, 0x3F, 0x04, 0x04, /*"4",4*/ + 0x00, 0xF0, 0x98, 0xC8, 0x88, 0x88, 0x08, 0x00, 0x08, 0x19, 0x30, 0x20, 0x30, 0x19, 0x0F, 0x00, /*"5",5*/ + 0x00, 0x80, 0xC0, 0xF0, 0x98, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x31, 0x20, 0x20, 0x30, 0x1F, 0x06, /*"6",6*/ + 0x00, 0x08, 0x08, 0x08, 0x88, 0xE8, 0x38, 0x00, 0x00, 0x00, 0x30, 0x3E, 0x03, 0x00, 0x00, 0x00, /*"7",7*/ + 0x00, 0xF0, 0x88, 0x88, 0x88, 0xD8, 0x70, 0x00, 0x04, 0x1F, 0x31, 0x21, 0x21, 0x31, 0x1E, 0x00, /*"8",8*/ + 0xE0, 0xF0, 0x08, 0x08, 0x08, 0x98, 0xF0, 0x00, 0x00, 0x01, 0x23, 0x3A, 0x0F, 0x03, 0x00, 0x00, /*"9",9*/ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, /*"-",10*/ + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x11, 0x00, 0x00, 0x00, /*":",10*/ + + 0X00, 0XF8, 0XFC, 0XFE, 0XFE, 0XFE, 0XFE, 0XFC, 0X00, 0X00, 0X03, 0X07, 0X0F, 0X1F, 0X3F, 0X7F, /*?Ұ*/ +}; + +static FontLibrary_t font_asicc16x8_lib = { + .font = font_asicc_code_16x8, + .fontIndex = "0123456789-:<>", // <> εҰ + .fontIndexLen = 14, + .fontCode = kgbk, + .isAscii = true, + .widthPixel = 8, + .heightPixel = 16, +}; diff --git a/res/heartPulse.bmp b/res/heartPulse.bmp new file mode 100644 index 0000000..bd56c36 Binary files /dev/null and b/res/heartPulse.bmp differ