Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/lcd buffering #12

Merged
merged 104 commits into from
Jan 12, 2024
Merged

Feature/lcd buffering #12

merged 104 commits into from
Jan 12, 2024

Conversation

niwciu
Copy link
Owner

@niwciu niwciu commented Jan 12, 2024

Added fallowing feature/functions to library API:

void lcd_buf_cls(void);
void lcd_buf_char(const char c);
void lcd_buf_locate(enum LCD_LINES y, enum LCD_COLUMNS x);
void lcd_buf_str(const char *str);
void lcd_update(void);

void lcd_buf_int(int val, uint8_t width, enum alignment alignment);
void lcd_buf_hex(int val, uint8_t width, enum alignment alignment);
void lcd_buf_bin(int val, uint8_t width);

niwciu added 30 commits January 8, 2024 16:27
GivenLcdBufferingOnWhenLcdInitThenLcdBufferContainSpaces
GivenLcdBufferingOnWhenLcdBufCharThenBufferEqualToExpected
GivenLcdBufferingOnWhenLcdBufCharThenBufferEqualToExpected
GivenLcdBufferingOnWhenLcdBufCharAandLcdBufCharBUsedThenBufferEqualToExpected
GivenLcdBufferingOnWhenLcdBufCharAandLcdBufCharBUsedThenBufferEqualToExpected
GivenLcdBufferingOnWhenLcdBufLocateFirstLineLastLetterAndLcdBufCharAThenBufferEqualToExpected
GivenLcdBufferingOnAndLcdInitWhenLcdBufLocateFirstLineLastLetterAndLcdBufCharAThenBufferEqualToExpected
GivenLcdBufferingOnAndLcdInitWhenLcdBufLocateFirstLineLastLetterAndLcdBufCharAandLcdBufCharBThenBufferEqualToExpected
GivenLcdBufferingOnAndLcdInitWhenLcdBufLocateLastLineLastLetterAndLcdBufCharAandLcdBufCharBThenBufferEqualToExpected
GivenLcdBufferingOnAndLcdInitWhenLcdBufLocateLastLineLastLetterAndLcdBufCharAandLcdBufCharBThenBufferEqualToExpected
GivenLcdBufferingOnAndLcdInitWhenLcdBufStrTestThenThenLcdBufferEqualToExpectedLcdBuffer
GivenLcdBufferingOnAndLcdInitWhenLcdBufStrTestThenLcdBufferEqualToExpectedLcdBuffer
GivenLcdBufferingOnAndLcdInitAndSetLcdLocateLastLineLastCharacterWhenLcdBufStrTestThenLcdBufferEqualToExpectedLcdBuffer
GivenLcdBufferingOnAndLcdInitAndSetLcdLocateLastLineLastCharacterAndLcdBufStrTestWhenUpdateLcdScrThenSignalSequenceForUpdateLcdScrIsCorrect
GivenLcdBufferingOnAndLcdInitAndSetLcdLocateLastLineLastCharacterAndLcdBufStrTestWhenUpdateLcdScrThenSignalSequenceForUpdateLcdScrIsCorrect
GivenLcdBufferingOnAndLcdInitAndSetLcdLocateLastLineLastCharacterAndLcdBufStrTestWhenUpdateLcdScrThenSignalSequenceForUpdateLcdScrIsCorrect

Test codition was changed doue the fact that after desplaing each line from the buffer LCD will not go do beginning of next line. After last character of line lcd_locate() to next line is required
GivenLcdBufferingOnAndLcdInitAndSetLcdLocateLastLineLastCharacterAndLcdBufStrTestWhenUpdateLcdScrThenSignalSequenceForUpdateLcdScrIsCorrect
tested on arduino lcd 2x16
Tested on STM32F030R8
niwciu added 26 commits January 11, 2024 10:12
GivenLcdBufferingOnAndLcdInitWhenUse_LcdInt_24_2_right_ThenLcdBufferContainInt24AsString
GivenLcdBufferingOnAndLcdInitWhenUse_LcdInt_24_2_right_ThenLcdBufferContainInt24AsString
GivenLcdBufferingOnAndLcdInitWhenUse_LcdInt_2444_2_right_ThenLcdBufferContainInt2444AsString
GivenLcdBufferingOnAndLcdInitWhenUse_LcdInt_16_4_right_ThenLcdBufferContainInt__16AsString
GivenLcdBufferingOnAndLcdInitWhenUse_LcdInt_16_4_right_ThenLcdBufferContainInt__16AsString
GivenLcdBufferingOnAndLcdInitWhenUse_LcdInt_61045_8_left_ThenLcdBufferContainInt61045___AsString
tested switching
USE_DEF_CHAR_FUNCTION
USE_LCD_INT
USE_LCD_HEX
USE_LCD_BIN

USE_LCD_CURSOR_HOME
USE_LCD_CURSOR_ON
USE_LCD_CURSOR_OFF
USE_LCD_BLINKING_CURSOR_ON
USE_LCD_BUF_INT
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_hex_10_1_left_ThenLcdBufferContain0xAAsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_hex_10_1_left_ThenLcdBufferContain0xaAsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_hex_255_6_right_ThenLcdBufferContain__0xFFAsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_hex_20_5_right_ThenLcdBufferContainInt_0x14AsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_hex_20_1_right_ThenLcdBufferContainInt0x14AsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_bin_5_6_ThenLcdBufferContainInt0b0101AsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_bin_5_6_ThenLcdBufferContainInt0b0101AsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_bin_5_1_ThenLcdBufferContainInt0b101AsString
GivenLcdBufferingOnAndLcdInitWhenUse_lcd_hex_20_6_left_ThenLcdBufferContainInt_0x14AsString
@niwciu niwciu self-assigned this Jan 12, 2024
@niwciu niwciu merged commit 8278df0 into develop Jan 12, 2024
9 checks passed
@niwciu niwciu deleted the feature/lcd_buffering branch January 12, 2024 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant