new firmware, fixed XT keyboard mapping and better serial mouse RTS handlign

This commit is contained in:
dekunukem
2022-06-23 11:31:54 +01:00
parent 66c4f0b4a4
commit 5ab8489e00
15 changed files with 1231 additions and 72 deletions

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

@@ -27,7 +27,21 @@ Project File Date: 05/13/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'ibmpc'
"ibmpc\ibmpc.axf" - 0 Error(s), 0 Warning(s).
compiling xt_kb.c...
compiling main.c...
../Src/main.c(547): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B1_GPIO_Port, GAMEPAD_B1_Pin, !(this_gamepad_event->button_1));
../Src/main.c(548): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B2_GPIO_Port, GAMEPAD_B2_Pin, !(this_gamepad_event->button_2));
../Src/main.c(549): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B3_GPIO_Port, GAMEPAD_B3_Pin, !(this_gamepad_event->button_3));
../Src/main.c(550): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B4_GPIO_Port, GAMEPAD_B4_Pin, !(this_gamepad_event->button_4));
../Src/main.c: 4 warnings, 0 errors
linking...
Program Size: Code=17216 RO-data=768 RW-data=140 ZI-data=2340
FromELF: creating hex file...
"ibmpc\ibmpc.axf" - 0 Error(s), 4 Warning(s).
<h2>Software Packages used:</h2>
@@ -50,7 +64,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:00
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

View File

@@ -299,27 +299,27 @@
:10129000FB1E00088D1F0008F8B501220920D103AC
:1012A000C006FFF778F857492022881AFEF736FF64
:1012B000544C0126203C2078534FDE2801D07E720A
:1012C00091E0A07808280BD0092810D000250B2821
:1012D00030D003284AD001284FD002287AD082E0AB
:1012E0004848A2792179203001F024FD7BE0617922
:1012C00090E0A07808280BD0092810D000250B2822
:1012D00030D003284AD001284FD0022879D081E0AD
:1012E0004848A2792179203001F024FD7AE0617923
:1012F000207901F073FB434A2C321060E179A07928
:1013000001F06CFB40425060207A3E49404210722E
:10131000607A5072607B9072A07B1073E07BD07219
:10132000207C5073607C907337482C31203001F062
:10133000EFFF58E0334821794C30017061794170FA
:10133000EFFF57E0334821794C30017061794170FB
:10134000A1798170E179C170057145718571C571AF
:10135000217A0172617A4172A17A8172E17AC17255
:1013600001462948283001F067FB3CE001210022BA
:1013700049032648FFF70FF835E02248202140387E
:1013600001462948283001F067FB3BE001210022BB
:1013700049032648FFF70FF834E02248202140387F
:10138000FEF7E5FE1F48CD214038017061784170BD
:1013900080238370C6703978017145710521817190
:1013A0000421C171082200210546A1356C5C002C86
:1013B0000CD0022C02D0012C03D005E0815403E0B4
:1013C00008E00C461C438454521CD2B2491C10291C
:1013D000ECDB08E00325605D002804D001F028FC68
:1013E0006D1C202DF7DB074A2023114640390848A1
:1013F000FFF7E8FE012109200022C903C006FEF71D
:10140000CAFFF8BD3C030020480000200008004847
:1013A000C171082200210546A1356C5C002C0CD0CF
:1013B000022C02D0012C03D005E0815403E008E0A8
:1013C0000C461C438454521CD2B2491C1029ECDB3D
:1013D00008E00325605D002804D001F029FC6D1CA5
:1013E000202DF7DB074A2023114640390848FFF734
:1013F000E9FE012109200022C903C006FEF7CBFF48
:10140000F8BD00003C030020480000200008004810
:1014100078010020042204490428086902D090437E
:10142000086170471043FBE700E000E070470000F0
:10143000094910B5401E884201D9012010BD074C52
@@ -759,29 +759,29 @@
:102F500031F9FEF717FEFEF7C1FEFEF7E9FEFEF7B8
:102F600005FFFEF72DFFFEF751FF61485F49016045
:102F7000032141605F49C1608160FDF71BFC0028AF
:102F800000D0FEE75A48FDF747FC042105200191D7
:102F9000009000232278584958A0FFF70DFC5448B0
:102FA0007430FFF735FD00F055FAFF250135584E16
:102FB0006F0032462B463946104600F07FFA324603
:102FC0002B463946104601F037F9324610232021AE
:102FD000104600F0D1FE0220FFF7A2FE002801D02B
:102FE00001F020F94B48FFF7BBFE3F48203000F0CE
:102FF000A5F93D482830FFF737FD00F0EBF84548CC
:1030000020216038FDF7A3F8424A3948203A11469A
:10301000202340391030FEF7D5F8A1893EA0FFF7F4
:10302000CBFB00F0C7F8002812D13FA0FFF7C4FB8C
:10303000002708213046FDF7AAF93220FDF7CDF828
:103040007F1C0A2FF5DB012208213046FDF7A3F98A
:103050000927FF062648FDF7DFFB0420FFF760FE87
:10306000002809D00121C9033046FDF78BF900285B
:1030700002D000F047FF0EE00520FFF751FE0028C8
:1030800002D000F0E3F806E00820FFF749FE002830
:1030900001D000F09DF90120FFF742FE002808D082
:1030A00029463846FDF76EF9002802D000F0ECFB07
:1030B0000CE00220FFF734FE002807D029463846EE
:1030C000FDF760F9002801D001F01CF90720FFF797
:1030D00027FE002801D0FFF7F9FC607A0028B9D05C
:1030E00001F02CF8C0F7FF1F48000020003000401E
:102F800000D0FEE75A48FDF747FC0520009001906D
:102F900000232278584959A0FFF70EFC544874309A
:102FA000FFF736FD00F056FAFF250135584E6F0049
:102FB00032462B463946104600F080FA32462B4600
:102FC0003946104601F038F93246102320211046C8
:102FD00000F0D2FE0220FFF7A3FE002801D001F08E
:102FE00021F94C48FFF7BCFE3F48203000F0A6F91D
:102FF0003D482830FFF738FD00F0ECF84548202127
:103000006038FDF7A4F8434A3948203A1146202396
:1030100040391030FEF7D6F8A1893FA0FFF7CCFB6E
:1030200000F0C8F8002812D13FA0FFF7C5FB002729
:1030300008213046FDF7ABF93220FDF7CEF87F1CB2
:103040000A2FF5DB012208213046FDF7A4F90927F4
:10305000FF062748FDF7E0FB0420FFF761FE00288C
:1030600009D00121C9033046FDF78CF9002802D0B0
:1030700000F048FF0EE00520FFF752FE002802D0C6
:1030800000F0E4F806E00820FFF74AFE002801D02F
:1030900000F09EF90120FFF743FE002808D02946E2
:1030A0003846FDF76FF9002802D000F0EDFB0CE088
:1030B0000220FFF735FE002807D029463846FDF7E5
:1030C00061F9002801D001F01DF90720FFF728FE63
:1030D000002801D0FFF7FAFC607A0028B9D001F08F
:1030E0002DF80000C0F7FF1F48000020003000400E
:1030F00068010020FF0F0000CE45000825730A720A
:1031000065762564207625642E25642E25640A00C4
:10311000000400485C030020666C6173685F73699B
@@ -804,16 +804,16 @@
:103220000293019100900B4658210348FDF7F2F9F3
:10323000EDE70000CA4500081C01002002480068B4
:103240000068406A704700000000002070B52E4CF6
:10325000207A0025002807D04D20E0710122E11DD1
:103260002A48FEF754FB25722748203000F07CF8EE
:10327000002847D0A07A002844D124492248EC31C4
:103280002030FFF793FC2048C0210E300580857068
:1032900001701E49EC318A7A002A01D0E0220270C6
:1032A0000A7B002A03D0027810231A4302700A888E
:1032B000898812B2494209B20B0603D50378082562
:1032C0002B4303704B0603D5037804252B4303706F
:1032D000130603D5037802252B43037053060125FB
:1032E000002B02DA03782B4303709206920E427091
:10325000207A00260125002808D04D20E0710122A7
:10326000E11D2A48FEF753FBA5722672264820303E
:1032700000F07AF8002845D0A07A002842D12349EE
:103280002148EC312030FFF791FC1F48C0210E305F
:103290000680867001701D49EC318A7A002A01D0BF
:1032A000E02202700A7B002A03D0027810231A431E
:1032B00002700A88898812B2494209B20B0603D506
:1032C00003780826334303704B0603D5037804269E
:1032D00033430370130603D5037802263343037088
:1032E000530602D503782B4303709206920E427068
:1032F0008906890E8170044903220E310348FEF7C6
:1033000006FBA57270BD0000480000208C02002062
:1033100030B50B46024600F01CF8002801D0012011
@@ -1061,8 +1061,8 @@
:10423000C86010BD3400002010B5034C60602180C0
:10424000A260638010BD00003400002070B50446F9
:1042500066380300FEF7C0FA0A1406080A0C0E10AE
:104260001216181A482413E04A2411E04B240FE0D8
:104270004E240DE04F240BE0502409E0512407E0C8
:104260001216181A482413E0492411E04B240FE0D9
:104270004D240DE04F240BE0502409E0512407E0C9
:10428000472405E0522403E0532401E0532C0BD8CB
:10429000022902D000290DD00EE0FCF783F8084D6A
:1042A0002969401A502801D8002070BDFCF77AF81F

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [ibmpc\ibmpc.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image ibmpc\ibmpc.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri May 20 14:38:19 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Thu Jun 23 11:29:41 2022
<BR><P>
<H3>Maximum Stack Usage = 212 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -570,7 +570,7 @@ Global Symbols
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[58]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 364 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<P><STRONG><a name="[58]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 362 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 148<LI>Call Chain = HAL_SPI_TxRxCpltCallback &rArr; handle_protocol_switch &rArr; mouse_uart_switch_to_8bit &rArr; HAL_UART_Init &rArr; UART_SetConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
@@ -1058,7 +1058,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_update
</UL>
<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 420 bytes, Stack size 16 bytes, main.o(i.main))
<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 418 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 212<LI>Call Chain = main &rArr; SystemClock_Config &rArr; HAL_RCC_ClockConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART3_UART_Init

View File

@@ -2254,7 +2254,7 @@ Image Symbol Table
HAL_SPI_MspInit 0x0800116d Thumb Code 76 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
HAL_SPI_RxCpltCallback 0x080011c1 Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
HAL_SPI_TransmitReceive_IT 0x080011c5 Thumb Code 196 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
HAL_SPI_TxRxCpltCallback 0x08001299 Thumb Code 364 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SPI_TxRxCpltCallback 0x08001299 Thumb Code 362 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x08001415 Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x0800142d Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x08001431 Thumb Code 38 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
@@ -2322,7 +2322,7 @@ Image Symbol Table
kb_buf_pop 0x08002db3 Thumb Code 18 helpers.o(i.kb_buf_pop)
kb_buf_reset 0x08002dc5 Thumb Code 28 helpers.o(i.kb_buf_reset)
keyboard_reply 0x08002de1 Thumb Code 342 ps2kb.o(i.keyboard_reply)
main 0x08002f41 Thumb Code 420 main.o(i.main)
main 0x08002f41 Thumb Code 418 main.o(i.main)
malloc 0x08003149 Thumb Code 92 malloc.o(i.malloc)
mcp4451_is_available 0x080031b5 Thumb Code 26 mcp4451.o(i.mcp4451_is_available)
mcp4451_reset 0x080031d5 Thumb Code 42 mcp4451.o(i.mcp4451_reset)
@@ -2724,7 +2724,7 @@ Image component sizes
52 10 0 4 0 506987 delay_us.o
466 0 0 0 0 11604 helpers.o
3308 378 55 48 657 25309 main.o
3308 382 55 48 657 25301 main.o
136 22 4 0 0 2315 mcp4451.o
1874 108 458 20 142 12227 ps2kb.o
1506 66 0 28 0 10980 ps2mouse.o
@@ -2749,7 +2749,7 @@ Image component sizes
528 52 0 20 0 5894 xt_kb.o
----------------------------------------------------------------------
16414 1058 768 128 2340 655159 Object Totals
16414 1062 768 128 2340 655151 Object Totals
0 0 32 0 0 0 (incl. Generated)
34 0 3 0 5 0 (incl. Padding)
@@ -2795,9 +2795,9 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
17216 1102 768 140 2340 648067 Grand Totals
17216 1102 768 140 2340 648067 ELF Image Totals
17216 1102 768 140 0 0 ROM Totals
17216 1106 768 140 2340 648059 Grand Totals
17216 1106 768 140 2340 648059 ELF Image Totals
17216 1106 768 140 0 0 ROM Totals
==============================================================================

View File

@@ -199,7 +199,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x627E3CAD)
I (../Inc/shared.h)(0x61B61A00)
I (../Inc/ps2mouse.h)(0x62757D20)
@@ -240,7 +240,7 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x627E3CAD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x627E3CAD)

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -69,7 +69,7 @@ UART_HandleTypeDef huart3;
const uint8_t board_id = 1;
const uint8_t version_major = 0;
const uint8_t version_minor = 5;
const uint8_t version_patch = 4;
const uint8_t version_patch = 5;
uint8_t hw_revision;
uint8_t spi_transmit_buf[SPI_BUF_SIZE];
@@ -467,6 +467,7 @@ void microsoft_serial_mouse_update(void)
{
serial_mouse_rts_response = 0x4d; // 0x4d = 'M'
HAL_UART_Transmit_IT(&huart3, &serial_mouse_rts_response, 1);
serial_mouse_is_tx_in_progress = 1;
rts_active = 0;
}

View File

@@ -143,13 +143,13 @@ uint8_t xtkb_press_key(uint8_t code, uint8_t status)
code = 72;
break;
case KEY_PAGEUP:
code = 74;
code = 73;
break;
case KEY_LEFT:
code = 75;
break;
case KEY_RIGHT:
code = 78;
code = 77;
break;
case KEY_END:
code = 79;