13 Commits

Author SHA1 Message Date
hasslesstech c9b90a679e [lcd] forbid writing outside of current framebuffer memory 2025-04-19 15:54:14 +03:00
hasslesstech ee3249beca [lcd] forbid writing to non-existant framebuffers 2025-04-19 15:04:15 +03:00
hasslesstech cc32a3092a [main] add macros for checking specific buttons 2025-04-19 14:52:22 +03:00
hasslesstech e65c4d612c [main] large code cleanup 2025-04-19 14:52:22 +03:00
hasslesstech 7940c95b23 [main] fix: cast wrongly converted integer back into the pointer to remove warning 2025-04-19 14:52:22 +03:00
hasslesstech 5bbbc9fe44 [main] enhancement: remove delay between running tests 2025-04-19 14:52:22 +03:00
hasslesstech 4c9c1ff2c8 [PCA9685] remove OUT ENABLED label as it is no longer used in interactive tests 2025-04-19 14:52:22 +03:00
hasslesstech 0eb025d3d4 add new UI for testing phase, update modules to indicate success or failure in the return value 2025-04-19 14:52:22 +03:00
hasslesstech 87eb642adc record change in .cproject which seems impossible to revert 2025-04-19 14:52:22 +03:00
hasslesstech 5c9846fce3 [main] add simple navigation between test reports 2025-04-19 14:52:22 +03:00
hasslesstech 063ed8bb51 [lcd] fix: add display_load prototype 2025-04-19 14:52:22 +03:00
hasslesstech 3ccc0ca0f3 [lcd] add support for operating on virtual framebuffers
Current implementation contains full support for:
- transparent switching between direct and framebuffer rendering modes
- writing characters to framebuffers
- loading frame from memory to physical display

As well as partial support for instruction writes including:
- resetting the display (clears memory, sets cursor at 0:0, switches to increment mode)
- switching between increment/decrement modes
- setting cursor position
2025-04-19 14:52:22 +03:00
hasslesstech 9370ddbadd [PCA9685] fix: add HAL_OK case to remove warning 2025-04-14 20:24:29 +03:00
2 changed files with 8 additions and 0 deletions
+2
View File
@@ -40,6 +40,8 @@ int PCA9685_run_test(void)
display_write_data_seq("/5 "); display_write_data_seq("/5 ");
switch (op_result) { switch (op_result) {
case HAL_OK:
break;
case HAL_ERROR: case HAL_ERROR:
display_write_data_seq("ERROR"); display_write_data_seq("ERROR");
break; break;
+6
View File
@@ -136,6 +136,12 @@ static void display_write_data_byte_direct(uint8_t code)
static void display_write_data_byte_framebuffer(uint8_t code) static void display_write_data_byte_framebuffer(uint8_t code)
{ {
if (display_current_frame >= DISPLAY_FRAMES_AVAILABLE)
return;
if (((int) des.cursor_offset >= 32) || ((int) des.cursor_offset < 0))
return;
display_framebuffer[16*2*display_current_frame + des.cursor_offset] = (char) code; display_framebuffer[16*2*display_current_frame + des.cursor_offset] = (char) code;
des.cursor_offset += des.next ? -1 : 1; des.cursor_offset += des.next ? -1 : 1;
} }