Skip to content

Commit f430300

Browse files
authored
Merge pull request #87 from AxxAxx/85-design-a-better-looking-screen-for-landscape-mode
85 design a better looking screen for landscape mode
2 parents c74be5c + 9bcef77 commit f430300

File tree

4 files changed

+105
-77
lines changed

4 files changed

+105
-77
lines changed

.github/FUNDING.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# These are supported funding model platforms
22

3-
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
3+
github: [axxaxx]
44
patreon: # Replace with a single Patreon username
55
open_collective: # Replace with a single Open Collective username
66
ko_fi: axxaxx

AxxSolder_firmware/Core/Src/main.c

+77-57
Original file line numberDiff line numberDiff line change
@@ -801,10 +801,10 @@ void update_display(){
801801
DISPLAY_buffer[2] = 32;
802802
DISPLAY_buffer[3] = 32;
803803
}
804-
LCD_PutStr(14, 35, DISPLAY_buffer, FONT_arial_36X44_NUMBERS, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
804+
LCD_PutStr(64, 35, DISPLAY_buffer, FONT_arial_36X44_NUMBERS, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
805805

806806
if(cartridge_state == DETACHED) {
807-
LCD_PutStr(10, 120, " --- ", FONT_arial_36X44_NUMBERS, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
807+
LCD_PutStr(60, 115, " --- ", FONT_arial_36X44_NUMBERS, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
808808
}
809809
else{
810810
memset(&DISPLAY_buffer, '\0', sizeof(DISPLAY_buffer));
@@ -813,12 +813,12 @@ void update_display(){
813813
DISPLAY_buffer[2] = 32;
814814
DISPLAY_buffer[3] = 32;
815815
}
816-
LCD_PutStr(14, 120, DISPLAY_buffer, FONT_arial_36X44_NUMBERS, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
816+
LCD_PutStr(64, 115, DISPLAY_buffer, FONT_arial_36X44_NUMBERS, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
817817
}
818818

819819
memset(&DISPLAY_buffer, '\0', sizeof(DISPLAY_buffer));
820820
sprintf(DISPLAY_buffer, "%.1f", sensor_values.bus_voltage);
821-
LCD_PutStr(120, 200, DISPLAY_buffer, FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
821+
LCD_PutStr(170, 195, DISPLAY_buffer, FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
822822

823823
memset(&DISPLAY_buffer, '\0', sizeof(DISPLAY_buffer));
824824
if(convert_temperature(sensor_values.mcu_temperature) < 99.5){
@@ -827,44 +827,52 @@ void update_display(){
827827
else{
828828
sprintf(DISPLAY_buffer, "%.0f", convert_temperature(sensor_values.mcu_temperature));
829829
}
830-
LCD_PutStr(52, 220, DISPLAY_buffer, FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
830+
LCD_PutStr(102, 215, DISPLAY_buffer, FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
831831

832832
if(attached_handle == T210){
833-
LCD_PutStr(120, 180, "T210 ", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
833+
LCD_PutStr(170, 175, "T210 ", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
834834
}
835835
else if(attached_handle == T245){
836-
LCD_PutStr(120, 180, "T245 ", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
836+
LCD_PutStr(170, 175, "T245 ", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
837837
}
838838
else if(attached_handle == NT115){
839-
LCD_PutStr(120, 180, "NT115", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
839+
LCD_PutStr(170, 175, "NT115", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
840840
}
841841

842+
if(sensor_values.max_power_watt < 100){
843+
sprintf(DISPLAY_buffer, "%.0f W ", sensor_values.max_power_watt);
844+
}
845+
else{
846+
sprintf(DISPLAY_buffer, "%.0f W", sensor_values.max_power_watt);
847+
}
848+
LCD_PutStr(2, 10, DISPLAY_buffer, FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
849+
842850
if((sensor_values.current_state == SLEEP || sensor_values.current_state == EMERGENCY_SLEEP || sensor_values.current_state == HALTED) && !sleep_state_written_to_LCD){
843-
UG_FillFrame(290,12,310,229, RGB_to_BRG(C_ORANGE));
844-
LCD_PutStr(294, 6, "Z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
845-
LCD_PutStr(296, 41, "z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
846-
LCD_PutStr(294, 76, "Z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
847-
LCD_PutStr(296, 111, "z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
848-
LCD_PutStr(294, 146, "Z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
849-
LCD_PutStr(296, 181, "z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
851+
UG_FillFrame(10,32,30,209, RGB_to_BRG(C_ORANGE));
852+
LCD_PutStr(14, 41, "Z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
853+
LCD_PutStr(16, 68, "z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
854+
LCD_PutStr(14, 95, "Z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
855+
LCD_PutStr(16, 122, "z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
856+
LCD_PutStr(14, 149, "Z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
857+
LCD_PutStr(16, 176, "z", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
850858
sleep_state_written_to_LCD = 1;
851859
standby_state_written_to_LCD = 0;
852860
}
853861
else if((sensor_values.current_state == STANDBY) && !standby_state_written_to_LCD){
854-
UG_FillFrame(290,12,310,229, RGB_to_BRG(C_ORANGE));
855-
LCD_PutStr(294, 6, "S", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
856-
LCD_PutStr(294, 35, "T", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
857-
LCD_PutStr(294, 64, "A", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
858-
LCD_PutStr(294, 93, "N", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
859-
LCD_PutStr(294, 122, "D", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
860-
LCD_PutStr(294, 151, "B", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
861-
LCD_PutStr(294, 180, "Y", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
862+
UG_FillFrame(10,32,30,209, RGB_to_BRG(C_ORANGE));
863+
LCD_PutStr(14, 41, "S", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
864+
LCD_PutStr(14, 63, "T", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
865+
LCD_PutStr(14, 85, "A", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
866+
LCD_PutStr(14, 107, "N", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
867+
LCD_PutStr(14, 129, "D", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
868+
LCD_PutStr(14, 151, "B", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
869+
LCD_PutStr(14, 173, "Y", FONT_arial_20X23, RGB_to_BRG(C_BLACK), RGB_to_BRG(C_ORANGE));
862870
standby_state_written_to_LCD = 1;
863871
sleep_state_written_to_LCD = 0;
864872
}
865873
else if(sensor_values.current_state == RUN){
866-
UG_FillFrame(290, 229-(sensor_values.requested_power_filtered/PID_MAX_OUTPUT)*217, 310, 229, RGB_to_BRG(C_LIGHT_SKY_BLUE));
867-
UG_FillFrame(290, 12, 310, 229-(sensor_values.requested_power_filtered/PID_MAX_OUTPUT)*217, RGB_to_BRG(C_BLACK));
874+
UG_FillFrame(10, 209-(sensor_values.requested_power_filtered/PID_MAX_OUTPUT)*177, 30, 209, RGB_to_BRG(C_LIGHT_SKY_BLUE));
875+
UG_FillFrame(10, 32, 30, 209-(sensor_values.requested_power_filtered/PID_MAX_OUTPUT)*177, RGB_to_BRG(C_BLACK));
868876
standby_state_written_to_LCD = 0;
869877
sleep_state_written_to_LCD = 0;
870878
}
@@ -940,71 +948,83 @@ void LCD_draw_main_screen(){
940948
UG_DrawFrame(208, 64, 232, 270, RGB_to_BRG(C_WHITE));
941949
UG_DrawFrame(209, 65, 231, 269, RGB_to_BRG(C_WHITE));
942950

943-
LCD_PutStr(205, 275, "0 W", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
951+
LCD_PutStr(2, 275, "0 W", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
944952
}
945953
else{
946954
UG_FillScreen(RGB_to_BRG(C_BLACK));
955+
LCD_PutStr(165, 10, "AxxSolder", FONT_arial_20X23, RGB_to_BRG(C_YELLOW), RGB_to_BRG(C_BLACK));
947956

948-
LCD_PutStr(14, 10, "Set temp", FONT_arial_20X23, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
949-
UG_DrawCircle(123, 41, 5, RGB_to_BRG(C_WHITE));
950-
UG_DrawCircle(123, 41, 4, RGB_to_BRG(C_WHITE));
951-
UG_DrawCircle(123, 41, 3, RGB_to_BRG(C_WHITE));
957+
LCD_PutStr(64, 10, "Set temp", FONT_arial_20X23, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
958+
UG_DrawCircle(173, 41, 5, RGB_to_BRG(C_WHITE));
959+
UG_DrawCircle(173, 41, 4, RGB_to_BRG(C_WHITE));
960+
UG_DrawCircle(173, 41, 3, RGB_to_BRG(C_WHITE));
952961
if(flash_values.deg_celsius == 1){
953-
LCD_PutStr(130, 35, "C", FONT_arial_36X44_C, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
962+
LCD_PutStr(180, 35, "C", FONT_arial_36X44_C, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
954963
}
955964
else{
956-
LCD_PutStr(130, 35, "F", FONT_arial_36X44_F, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
965+
LCD_PutStr(180, 35, "F", FONT_arial_36X44_F, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
957966
}
958-
LCD_PutStr(14, 95, "Actual temp", FONT_arial_20X23, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
959-
UG_DrawCircle(123, 126, 5, RGB_to_BRG(C_WHITE));
960-
UG_DrawCircle(123, 126, 4, RGB_to_BRG(C_WHITE));
961-
UG_DrawCircle(123, 126, 3, RGB_to_BRG(C_WHITE));
967+
LCD_PutStr(64, 90, "Actual temp", FONT_arial_20X23, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
968+
UG_DrawCircle(173, 121, 5, RGB_to_BRG(C_WHITE));
969+
UG_DrawCircle(173, 121, 4, RGB_to_BRG(C_WHITE));
970+
UG_DrawCircle(173, 121, 3, RGB_to_BRG(C_WHITE));
962971
if(flash_values.deg_celsius == 1){
963-
LCD_PutStr(130, 120, "C", FONT_arial_36X44_C, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
972+
LCD_PutStr(180, 115, "C", FONT_arial_36X44_C, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
964973
}
965974
else{
966-
LCD_PutStr(130, 120, "F", FONT_arial_36X44_F, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
975+
LCD_PutStr(180, 115, "F", FONT_arial_36X44_F, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
967976
}
968977

969-
UG_DrawFrame(6, 89, 182,175, RGB_to_BRG(C_WHITE));
970-
UG_DrawFrame(5, 88, 183, 176, RGB_to_BRG(C_WHITE));
978+
UG_DrawFrame(56, 84, 232,170, RGB_to_BRG(C_WHITE));
979+
UG_DrawFrame(56, 83, 233, 171, RGB_to_BRG(C_WHITE));
971980

972-
LCD_PutStr(6, 180, "Handle type:", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
973-
LCD_PutStr(6, 200, "Input voltage: V", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
981+
LCD_PutStr(56, 175, "Handle type:", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
982+
LCD_PutStr(56, 195, "Input voltage: V", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
974983
if(flash_values.deg_celsius == 1){
975-
LCD_PutStr(6, 220, "MCU: °C", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
984+
LCD_PutStr(56, 215, "MCU: °C", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
976985
}
977986
else{
978-
LCD_PutStr(6, 220, "MCU: °F", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
987+
LCD_PutStr(56, 215, "MCU: °F", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
979988
}
980-
LCD_PutStr(110, 220, "SRC:", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
989+
LCD_PutStr(160, 215, "SRC:", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
981990
switch(power_source){
982991
case POWER_DC:
983-
LCD_PutStr(160, 220, "DC", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
992+
LCD_PutStr(210, 215, "DC", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
984993
break;
985994
case POWER_USB:
986-
LCD_PutStr(160, 220, "USB", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
995+
LCD_PutStr(210, 215, "USB", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
987996
break;
988997
case POWER_BAT:
989-
LCD_PutStr(160, 220, "BAT", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
998+
LCD_PutStr(210, 215, "BAT", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
990999
break;
9911000
}
9921001

993-
/*
994-
UG_DrawLine(20, 0, 20, 220, RGB_to_BRG(C_DARK_SEA_GREEN));
995-
UG_DrawLine(21, 0, 21, 220, RGB_to_BRG(C_DARK_SEA_GREEN));
9961002

997-
LCD_PutStr(6, 271, "PRESETS", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1003+
UG_DrawLine(265, 0, 265, 240, RGB_to_BRG(C_DARK_SEA_GREEN));
1004+
UG_DrawLine(266, 0, 266, 240, RGB_to_BRG(C_DARK_SEA_GREEN));
1005+
UG_DrawLine(315, 0, 315, 240, RGB_to_BRG(C_DARK_SEA_GREEN));
1006+
UG_DrawLine(316, 0, 316, 240, RGB_to_BRG(C_DARK_SEA_GREEN));
1007+
1008+
LCD_PutStr(285, 75, "P", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1009+
LCD_PutStr(285, 97, "R", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1010+
LCD_PutStr(285, 119, "E", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1011+
LCD_PutStr(285, 141, "S", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1012+
LCD_PutStr(285, 163, "E", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1013+
LCD_PutStr(285, 185, "T", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1014+
LCD_PutStr(285, 207, "S", FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
9981015
memset(&DISPLAY_buffer, '\0', sizeof(DISPLAY_buffer));
9991016
sprintf(DISPLAY_buffer, "%.0f", flash_values.preset_temp_1);
1000-
LCD_PutStr(130, 301, DISPLAY_buffer, FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1017+
LCD_PutStr(272, 40, DISPLAY_buffer, FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
10011018
memset(&DISPLAY_buffer, '\0', sizeof(DISPLAY_buffer));
10021019
sprintf(DISPLAY_buffer, "%.0f", flash_values.preset_temp_2);
1003-
LCD_PutStr(190, 271, DISPLAY_buffer, FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1004-
*/
1020+
LCD_PutStr(272, 10, DISPLAY_buffer, FONT_arial_20X23, RGB_to_BRG(C_DARK_SEA_GREEN), RGB_to_BRG(C_BLACK));
1021+
1022+
1023+
UG_DrawFrame(8, 30, 32, 212, RGB_to_BRG(C_WHITE));
1024+
UG_DrawFrame(9, 31, 31, 211, RGB_to_BRG(C_WHITE));
1025+
1026+
LCD_PutStr(5, 215, "0 W", FONT_arial_17X18, RGB_to_BRG(C_WHITE), RGB_to_BRG(C_BLACK));
10051027

1006-
UG_DrawFrame(288, 10, 312, 232, RGB_to_BRG(C_WHITE));
1007-
UG_DrawFrame(289, 11, 311, 231, RGB_to_BRG(C_WHITE));
10081028
}
10091029
}
10101030

AxxSolder_firmware/Drivers/UGUI/ugui.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -535,11 +535,11 @@ void UG_PutString( UG_S16 x, UG_S16 y, char* str )
535535
}
536536
cw = _UG_GetCharData(chr,NULL);
537537
if(cw==-1) continue;
538-
if ( xp + cw > gui->device->x_dim - 1 )
538+
/*if ( xp + cw > gui->device->x_dim - 1 )
539539
{
540540
xp = x;
541541
yp += gui->currentFont.char_height+gui->char_v_space;
542-
}
542+
}*/
543543

544544
_UG_PutChar(chr, xp, yp, gui->fore_color, gui->back_color);
545545

0 commit comments

Comments
 (0)