add test
minor changes
This commit is contained in:
14
.vscode/settings.json
vendored
Normal file
14
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"climits": "c",
|
||||
"cmath": "c",
|
||||
"cstdarg": "c",
|
||||
"cstdint": "c",
|
||||
"cstdio": "c",
|
||||
"cstdlib": "c",
|
||||
"type_traits": "c",
|
||||
"limits": "c",
|
||||
"*.tcc": "c",
|
||||
"typeinfo": "c"
|
||||
}
|
||||
}
|
||||
11
oled/oled.c
11
oled/oled.c
@@ -1,15 +1,18 @@
|
||||
#include <stdlib.h>
|
||||
// #include <assert.h>
|
||||
#include "oled.h"
|
||||
#include "ssd1306.h"
|
||||
#include "sh1106.h"
|
||||
|
||||
HAL_StatusTypeDef oled_Config(OLED_HandleTypeDef *hOled, uint8_t DevAddress, uint8_t Width, uint8_t Height, OLED_DisplayType_t OledType)
|
||||
{
|
||||
// static_assert(hOled != NULL, "brak pointera");
|
||||
if (hOled == NULL || Width == 0 || Height == 0 || OledType == UNKNOWN)
|
||||
{
|
||||
return HAL_ERROR;
|
||||
}
|
||||
|
||||
hOled->hi2c = NULL;
|
||||
hOled->DevAddress = DevAddress;
|
||||
hOled->Width = Width;
|
||||
hOled->Height = Height;
|
||||
@@ -78,7 +81,7 @@ OLED_SendStatus_t oled_display_page(OLED_HandleTypeDef *hOled)
|
||||
{
|
||||
if (hOled == NULL)
|
||||
{
|
||||
return;
|
||||
return ERROR;
|
||||
}
|
||||
OLED_SendStatus_t sendStatus;
|
||||
switch (hOled->OledType)
|
||||
@@ -97,9 +100,3 @@ OLED_SendStatus_t oled_display_page(OLED_HandleTypeDef *hOled)
|
||||
return sendStatus;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
OLED_HandleTypeDef display;
|
||||
oled_Config(&display, 0x3C, 128, 64, SH1106);
|
||||
}
|
||||
@@ -14,6 +14,7 @@ typedef enum
|
||||
} OLED_DisplayType_t;
|
||||
|
||||
typedef enum{
|
||||
ERROR,
|
||||
SENDPAGE,
|
||||
SENDALL
|
||||
} OLED_SendStatus_t;
|
||||
@@ -30,4 +31,7 @@ typedef struct
|
||||
|
||||
} OLED_HandleTypeDef;
|
||||
|
||||
HAL_StatusTypeDef oled_Config(OLED_HandleTypeDef *hOled, uint8_t DevAddress, uint8_t Width, uint8_t Height, OLED_DisplayType_t OledType);
|
||||
void oled_init(OLED_HandleTypeDef *hOled, I2C_HandleTypeDef *hi2c);
|
||||
void oled_display_all(OLED_HandleTypeDef *hOled);
|
||||
OLED_SendStatus_t oled_display_page(OLED_HandleTypeDef *hOled);
|
||||
@@ -10,12 +10,12 @@ set(INCLUDE_DIRS
|
||||
)
|
||||
|
||||
set(SRCS
|
||||
# ../../oled/oled.c
|
||||
# ../../oled/connection.c
|
||||
# ../../oled/ssd1306/ssd1306.c
|
||||
# ../../oled/sh1106/sh1106.c
|
||||
../../oled/oled.c
|
||||
../../oled/connection.c
|
||||
../../oled/ssd1306/ssd1306.c
|
||||
../../oled/sh1106/sh1106.c
|
||||
|
||||
# helpers/src/mock_i2c.c
|
||||
helpers/src/mock_i2c.c
|
||||
oled_test.c
|
||||
)
|
||||
|
||||
|
||||
@@ -1,18 +1,41 @@
|
||||
#include "stdlib.h"
|
||||
#include "unity.h"
|
||||
#include "oled.h"
|
||||
#include "string.h"
|
||||
|
||||
|
||||
OLED_HandleTypeDef* display;
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
// uint32_t size = sizeof(OLED_HandleTypeDef);
|
||||
// printf("size in B: %u\n", size);
|
||||
display = (OLED_HandleTypeDef*)malloc(sizeof(OLED_HandleTypeDef));
|
||||
}
|
||||
|
||||
void tearDown(void)
|
||||
{
|
||||
free(display);
|
||||
}
|
||||
|
||||
void test_one(void)
|
||||
void test_configWithCorecctArgs(void)
|
||||
{
|
||||
TEST_FAIL();
|
||||
HAL_StatusTypeDef status = oled_Config(display, 0x0F, 128, 64, SH1106);
|
||||
|
||||
TEST_ASSERT_EQUAL(status, HAL_OK);
|
||||
TEST_ASSERT_NULL(display->hi2c);
|
||||
TEST_ASSERT_EQUAL(display->OledType, SH1106);
|
||||
TEST_ASSERT_EQUAL_HEX8(display->DevAddress, 0x0F);
|
||||
TEST_ASSERT_EQUAL(display->Width, 128);
|
||||
TEST_ASSERT_EQUAL(display->Height, 64);
|
||||
TEST_ASSERT_EQUAL(display->BufSize, 128*64/8);
|
||||
TEST_ASSERT_NOT_NULL(display->Buffer);
|
||||
}
|
||||
|
||||
void test_configWithoutPointerToDisplay(void)
|
||||
{
|
||||
HAL_StatusTypeDef status = oled_Config(NULL, 0x0F, 128, 64, SH1106);
|
||||
|
||||
TEST_ASSERT_EQUAL(status, HAL_ERROR);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +43,8 @@ void test_one(void)
|
||||
int main(void)
|
||||
{
|
||||
UNITY_BEGIN();
|
||||
RUN_TEST(test_one);
|
||||
RUN_TEST(test_configWithCorecctArgs);
|
||||
RUN_TEST(test_configWithoutPointerToDisplay);
|
||||
|
||||
return UNITY_END();
|
||||
}
|
||||
Reference in New Issue
Block a user