dodalem wiecej testow i mala poprawka w oled

This commit is contained in:
2021-05-29 20:02:48 +02:00
parent 5050caa6b0
commit 5126a1a782
4 changed files with 91 additions and 48 deletions

View File

@@ -150,7 +150,7 @@ void ssd1306_set_pixel(uint8_t x, uint8_t y, uint8_t bw)
void ssd1306_write_to_buffer(const uint8_t* data, uint8_t width, uint8_t height, int8_t pos_x, int8_t pos_y) void ssd1306_write_to_buffer(const uint8_t* data, uint8_t width, uint8_t height, int8_t pos_x, int8_t pos_y)
{ {
int8_t max_x, max_y; int16_t max_x, max_y;
uint8_t shift_x = 0, temp, row = 0; uint8_t shift_x = 0, temp, row = 0;
uint16_t buf_idx = 0, index = 0; uint16_t buf_idx = 0, index = 0;

View File

@@ -1,3 +1,5 @@
#include "buffer_oled_expect.h"
const uint8_t picture_8pt[] = { const uint8_t picture_8pt[] = {
// res: 128x8 - 128 bytes // res: 128x8 - 128 bytes

View File

@@ -1,24 +1,26 @@
#ifndef INC_BUFFER_OLED_EXPECT_H_ #ifndef INC_BUFFER_OLED_EXPECT_H_
#define INC_BUFFER_OLED_EXPECT_H_ #define INC_BUFFER_OLED_EXPECT_H_
const uint8_t picture_8pt[]; #include "main.h"
const uint8_t posX_0_posY_0_8pt[];
const uint8_t posX_0_posY_1_8pt[];
const uint8_t posX_0_posY_2_8pt[];
const uint8_t posX_0_posY_7_8pt[];
const uint8_t picture_16pt[]; const uint8_t picture_8pt[128];
const uint8_t posX_0_posY_0_16pt[]; const uint8_t posX_0_posY_0_8pt[1024];
const uint8_t posX_0_posY_1_16pt[]; const uint8_t posX_0_posY_1_8pt[1024];
const uint8_t posX_0_posY_4_16pt[]; const uint8_t posX_0_posY_2_8pt[1024];
const uint8_t posX_0_posY_7_16pt[]; const uint8_t posX_0_posY_7_8pt[1024];
const uint8_t picture_12pt[]; const uint8_t picture_16pt[256];
const uint8_t posX_0_posY_0_12pt[]; const uint8_t posX_0_posY_0_16pt[1024];
const uint8_t posX_0_posY_1_12pt[]; const uint8_t posX_0_posY_1_16pt[1024];
const uint8_t posX_0_posY_2_12pt[]; const uint8_t posX_0_posY_4_16pt[1024];
const uint8_t posX_0_posY_4_12pt[]; const uint8_t posX_0_posY_7_16pt[1024];
const uint8_t posX_0_posY_5_12pt[];
const uint8_t posX_0_posY_7_12pt[]; const uint8_t picture_12pt[256];
const uint8_t posX_0_posY_0_12pt[1024];
const uint8_t posX_0_posY_1_12pt[1024];
const uint8_t posX_0_posY_2_12pt[1024];
const uint8_t posX_0_posY_4_12pt[1024];
const uint8_t posX_0_posY_5_12pt[1024];
const uint8_t posX_0_posY_7_12pt[1024];
#endif #endif

View File

@@ -1,14 +1,9 @@
#include "unity.h" #include "unity.h"
// #include "main.h"
// #include "cmsis_gcc.h"
// #include "dma_type.h"
// #include "stm32f3xx_hal_dma.h"
// #include "my_types.h"
#include "mock_stm32f3xx_hal_i2c.h" #include "mock_stm32f3xx_hal_i2c.h"
#include "SSD1306_oled.h" #include "SSD1306_oled.h"
#include "buffer_oled_expect.h"
#include "string.h"
// DMA_InitTypeDef * mydef; // DMA_InitTypeDef * mydef;
void setUp(void) void setUp(void)
@@ -21,40 +16,84 @@ void tearDown(void)
{ {
} }
void test_tempSensor_NeedToImplement(void)
void test_wrtie_to_buffer_at_pos_0_0_height_8pt(void)
{ {
// TEST_IGNORE_MESSAGE("Need to Implement tempSensor"); // uint8_t data[8] = {};
// TEST_ASSERT_TRUE(1); ssd1306_write_to_buffer(picture_8pt, SSD1306_LCDWIDTH, 8, 0, 0);
// buffer_oled[0] = 0xFF;
TEST_ASSERT_EQUAL_HEX(0xFF, buffer_oled[0]); TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_0_8pt, buffer_oled, SSD1306_BUF_SIZE);
// TEST_ASSERT_NOT_NULL(mydef); // TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]);
} }
void test_wrtie_to_buffer_at_pos_0_0(void) void test_wrtie_to_buffer_at_pos_1_0_height_8pt(void)
{ {
uint8_t data[8] = {}; // uint8_t data[8] = {};
ssd1306_write_to_buffer(data, 8, 8, 0, 0); ssd1306_write_to_buffer(picture_8pt, SSD1306_LCDWIDTH, 8, 0, 1);
TEST_ASSERT_EACH_EQUAL_UINT8(0, buffer_oled, 8); TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_1_8pt, buffer_oled, SSD1306_BUF_SIZE);
TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]);
} }
void test_wrtie_to_buffer_at_pos_1_0(void) void test_wrtie_to_buffer_at_pos_7_0_height_8pt(void)
{ {
uint8_t data[8] = {}; ssd1306_write_to_buffer(picture_8pt, SSD1306_LCDWIDTH, 8, 0, 7);
ssd1306_write_to_buffer(data, 8, 8, 0, 1);
TEST_ASSERT_EACH_EQUAL_UINT8(0x01, buffer_oled, 8); TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_7_8pt, buffer_oled, SSD1306_BUF_SIZE);
TEST_ASSERT_EACH_EQUAL_UINT8(0xFE, buffer_oled+SSD1306_LCDWIDTH, 8);
TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]);
} }
void test_wrtie_to_buffer_at_pos_7_0(void) void test_wrtie_to_buffer_at_pos_0_0_height_16pt(void)
{ {
uint8_t data[8] = {}; // uint8_t data[8] = {};
ssd1306_write_to_buffer(data, 8, 8, 0, 7); ssd1306_write_to_buffer(picture_16pt, SSD1306_LCDWIDTH, 16, 0, 0);
TEST_ASSERT_EACH_EQUAL_UINT8(0x7F, buffer_oled, 8); TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_0_16pt, buffer_oled, SSD1306_BUF_SIZE);
TEST_ASSERT_EACH_EQUAL_UINT8(0x80, buffer_oled+SSD1306_LCDWIDTH, 8); // TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]);
TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]); }
void test_wrtie_to_buffer_at_pos_1_0_height_16pt(void)
{
// uint8_t data[8] = {};
ssd1306_write_to_buffer(picture_16pt, SSD1306_LCDWIDTH, 16, 0, 1);
TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_1_16pt, buffer_oled, SSD1306_BUF_SIZE);
}
void test_wrtie_to_buffer_at_pos_7_0_height_16pt(void)
{
ssd1306_write_to_buffer(picture_16pt, SSD1306_LCDWIDTH, 16, 0, 7);
TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_7_16pt, buffer_oled, SSD1306_BUF_SIZE);
}
void test_wrtie_to_buffer_at_pos_0_0_height_12pt(void)
{
// uint8_t data[8] = {};
ssd1306_write_to_buffer(picture_12pt, SSD1306_LCDWIDTH, 12, 0, 0);
TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_0_12pt, buffer_oled, SSD1306_BUF_SIZE);
// TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]);
}
void test_wrtie_to_buffer_at_pos_1_0_height_12pt(void)
{
// uint8_t data[8] = {};
ssd1306_write_to_buffer(picture_12pt, SSD1306_LCDWIDTH, 12, 0, 1);
TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_1_12pt, buffer_oled, SSD1306_BUF_SIZE);
}
void test_wrtie_to_buffer_at_pos_0_4_height_12pt(void)
{
// uint8_t data[8] = {};
ssd1306_write_to_buffer(picture_12pt, SSD1306_LCDWIDTH, 12, 0, 4);
TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_4_12pt, buffer_oled, SSD1306_BUF_SIZE);
// TEST_ASSERT_EQUAL_UINT8(0xFF, buffer_oled[8]);
}
void test_wrtie_to_buffer_at_pos_7_0_height_12pt(void)
{
ssd1306_write_to_buffer(picture_12pt, SSD1306_LCDWIDTH, 12, 0, 7);
TEST_ASSERT_EQUAL_UINT8_ARRAY(posX_0_posY_7_12pt, buffer_oled, SSD1306_BUF_SIZE);
} }