added BUSY signal to PS2 kb and mouse, temp mouse workaround on rpi

This commit is contained in:
dekunukem
2023-03-07 22:21:03 +00:00
parent edc3e58291
commit 47355fbf08
15 changed files with 345 additions and 354 deletions

View File

@@ -32,6 +32,9 @@ uint8_t ps2mouse_wait_for_idle(uint8_t timeout_ms);
#define PS2_ERROR_UNIMPLEMENTED_MODE 6
#define PS2_ERROR_HOST_INHIBIT 8
#define PS2MOUSE_WRITE_DEFAULT_TIMEOUT_MS 20
#ifdef __cplusplus
}
#endif

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

@@ -27,20 +27,11 @@ Project File Date: 03/07/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'ibmpc'
compiling main.c...
../Src/main.c(545): 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(546): 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(547): 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(548): 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
compiling ps2mouse.c...
linking...
Program Size: Code=17240 RO-data=768 RW-data=144 ZI-data=2344
Program Size: Code=17252 RO-data=768 RW-data=140 ZI-data=2340
FromELF: creating hex file...
"ibmpc\ibmpc.axf" - 0 Error(s), 4 Warning(s).
"ibmpc\ibmpc.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
@@ -63,7 +54,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:01
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

View File

@@ -1,5 +1,5 @@
:020000040800F2
:10000000B8090020D50000083D1E00087519000839
:10000000B0090020D50000083D1E00087519000841
:1000100000000000000000000000000000000000E0
:100020000000000000000000000000007B2100082C
:100030000000000000000000851E00087D2100086F
@@ -12,7 +12,7 @@
:1000A000E7000008891E0008E7000008E7000008D4
:1000B000E70000087D270008E7000008E7000008C7
:1000C0000348854600F04EF800480047152F000809
:1000D000B80900200448804704480047FEE7FEE7CF
:1000D000B00900200448804704480047FEE7FEE7D7
:1000E000FEE7FEE7FEE7FEE7F5210008C100000895
:1000F00030B50B46014600202022012409E00D46C0
:10010000D5409D4205D31D469540491B2546954047
@@ -23,7 +23,7 @@
:10015000F6E710B513460A4604461946FFF7F0FFC6
:10016000204610BD064C0125064E05E0E36807CC8D
:100170002B430C3C98471034B442F7D3FFF7A4FF4D
:10018000384600085846000810B5022000F042F832
:10018000444600086446000810B5022000F042F81A
:1001900010BD70B50024014620314A78022A03D0F0
:1001A00004218163012416E0026813680E25AB4325
:1001B0001360026813685B085B0013600122056C22
@@ -57,7 +57,7 @@
:100370000004004800080048000C00480010004835
:10038000000401400069084000D001207047426924
:100390004A4042617047002A01D081617047816202
:1003A0007047000001480068704700007C00002092
:1003A0007047000001480068704700007800002096
:1003B00070B5024640325378202B1CD11378012BA4
:1003C00019D00123137024245470046825689D43B8
:1003D0002560046825681E03B54325600468256808
@@ -130,7 +130,7 @@
:1008000001E004490160002070BD0000CCCC000074
:1008100055550000AAAA00000068024901600020A6
:1008200070470000AAAA000002480168491C016044
:10083000704700007C00002010B5064801681022B7
:10083000704700007800002010B5064801681022BB
:1008400011430160002000F007F800F017F80020C5
:1008500010BD00000020024010B5044600F078F9F9
:100860007D21C900FFF744FC00F0E2FD0022214693
@@ -179,10 +179,10 @@
:100B10006068072109028843E9680843606000F0C3
:100B20002DF86168084A0906090F515CC840074959
:100B300008600020FFF790FE0020F8BD0020024072
:100B400000100240881300001D46000880000020AD
:100B500001480068704700008000002004480549F3
:100B40000010024088130000294600087C000020A5
:100B500001480068704700007C00002004480549F7
:100B600000684968044A4905490F515CC84070470C
:100B700080000020001002402D46000830B516A36A
:100B70007C000020001002403946000830B516A362
:100B80000FCB89B06C460FC417A30FCB0FC41A4903
:100B90004A680C20144604401848042C05D0184B11
:100BA000082C04D00C2C00D1184609B030BD94029A
@@ -305,11 +305,11 @@
:1012F000207901F05DFB424A2C321060E179A0793F
:1013000001F056FB40425060207A3D494042107245
:10131000607A5072607B9072A07B1073E07BD07219
:10132000207C5073607C907336482C31243001F05F
:10132000207C5073607C907336482C31203001F063
:10133000EBFF57E0324821794C3001706179417000
:10134000A1798170E179C170057145718571C571AF
:10135000217A0172617A4172A17A8172E17AC17255
:10136000014628482C3001F051FB3BE001210022CE
:1013600001462848283001F051FB3BE001210022D2
:1013700049032548FFF70FF834E021482021403881
:10138000FEF7E5FE1E48CD214038017061784170BE
:1013900080238370C7703178017145710521817197
@@ -319,7 +319,7 @@
:1013D00008E00325605D002804D001F013FC6D1CBB
:1013E000202DF7DB064A2023114640390748FFF736
:1013F000E9FE01F01FFF064940187061F8BD0000CA
:101400004003002048000020000800487C01002024
:101400003C0300204800002000080048780100202C
:1014100010270000042204490428086902D09043E0
:10142000086170471043FBE700E000E070470000F0
:10143000094910B5401E884201D9012010BD074C52
@@ -465,30 +465,30 @@
:101CF0000161416181610122C161C2600162FEF73F
:101D0000A1FB002800D0FEE700210848FEF750FBA9
:101D1000002800D0FEE700210448FEF76EFB0028F3
:101D200000D0FEE710BD0000005800402001002058
:101D200000D0FEE710BD0000005800401C0100205C
:101D30005D3E302010B50D480B4901600021416027
:101D40008160016141618161072201621202416289
:101D5000C260816207220163C2624163FFF7AAF990
:101D6000002800D0FEE710BD003001407C010020BB
:101D6000002800D0FEE710BD0030014078010020BF
:101D700010B50121124886B08907016000242F2187
:101D8000846041600461611E8461C160FFF790FB63
:101D9000002800D0FEE701200003009069460848B3
:101DA000FFF7BEFB002800D0FEE7049404A9044816
:101DB0000594FFF759FB002800D0FEE706B010BDE0
:101DC000E001002010B50C480A490160E1214902F8
:101DC000DC01002010B50C480A490160E1214902FC
:101DD000416000218160C16001618161C1610C22AB
:101DE000016242614162FFF7AFFC002800D0FEE7CC
:101DF00010BD0000003801402002002010B50E4840
:101DF00010BD0000003801401C02002010B50E4844
:101E00000C4901604B21090141600021C160016161
:101E100081610C22C1614261016230214162012174
:101E2000090381634900C163FFF78EFC002800D0DD
:101E3000FEE710BD004800409002002070470000FF
:101E3000FEE710BD004800408C0200207047000003
:101E40008307FF22DB0E9A408907090E994000287C
:101E50000BDA0007000F0838830808489B001818A1
:101E6000C36993430B43C3617047830804489B00D5
:101E70001B181868904308431860704700ED00E095
:101E800000E400E07047000010B50248FFF7A8F832
:101E900010BD00007C01002010B50168C968026C0B
:101E900010BD00007801002010B50168C968026C0F
:101EA0001180016C891C016401464031CA88521EB0
:101EB000CA80C988002909D101684A6840239A4329
:101EC0004A60C18F002901D100F06EF810BD10B535
@@ -631,9 +631,9 @@
:102750008160202060346072A0720020207203200B
:1027600005B0F0BD2068C1693046884304D0002020
:10277000B842D9D00020F3E70120F9E710B50248AC
:10278000FEF748FF10BD0000900200200FB410B506
:10278000FEF748FF10BD00008C0200200FB410B50A
:1027900003A9044B044A029800F024F810BC08BCBA
:1027A00004B01847F52900088400002030B47446AE
:1027A00004B01847F52900088000002030B47446B2
:1027B000641E2578641CAB4200D21D46635D5B003D
:1027C000E31830BC184702E008C8121F08C1002AED
:1027D000FAD170477047002001E001C1121F002AA2
@@ -671,7 +671,7 @@
:1029D000014600F02FFC411800F02CFC8842FBD38C
:1029E00000BD000010B502490860FEF78DFD10BD66
:1029F0000000002013B56423012269460248FEF757
:102A000022FF00981CBD00002002002010B50B46DC
:102A000022FF00981CBD00001C02002010B50B46E0
:102A1000044600F01DF8002801D0012010BD2078E8
:102A20000C226168504308181946FDF777FB20789F
:102A3000401C4007400F2070002010BD10B5044618
@@ -690,7 +690,7 @@
:102B0000607A291A002000F079FBA07A291A0220A5
:102B100000F074FBE07A291A012000F06FFB0648F0
:102B2000FFF7ACFF70BD0122C4E70122CBE7012211
:102B3000D3E70122D9E70000740000200014004808
:102B3000D3E70122D9E7000070000020001400480C
:102B40000008004870B50C4C012202212046FDF718
:102B500022FC0A4D0122D1032846FDF71CFC01226C
:102B600011462046FDF717FC012291032846FDF788
@@ -707,19 +707,19 @@
:102C10002BD2254D285D002827D0002926D0022858
:102C200023D122482300FFF7C1FD091E060D1E1007
:102C3000161E1C191E00FF2301330246590000F026
:102C400039FC10E001F0FAFA0DE0102302462021D1
:102C400039FC10E001F000FB0DE0102302462021CA
:102C500001F09EF807E000F0A1FB04E000F0AAFB01
:102C600001E0FFF76FFF0120285570BD0128FCD15E
:102C7000022028552300FFF799FD0805060B050ED5
:102C800005051305F1E700F0D9FD00F0E7FD70BD83
:102C900001F024FB70BD01F015F901F003F970BDDE
:102CA000FFF750FF70BD0000A103002000040048A2
:102C900001F02AFB70BD01F015F901F003F970BDD8
:102CA000FFF750FF70BD00009D03002000040048A6
:102CB000002802D0ED2901D3002070470B4882780C
:102CC0000B48012A04D0022A06D0032A08D00BE0C0
:102CD0008E2909D2042206E08E2905D2022202E0C2
:102CE0008E2901D2032242540120704704000020A3
:102CF00090000020102803D20249085C012800D06F
:102D000000207047A103002010B50C46034600F0D8
:102CF0008C000020102803D20249085C012800D073
:102D0000002070479D03002010B50C46034600F0DC
:102D10001FF8002801D0012010BD197858684454CC
:102D20001978986842541878401C4007400F187072
:102D3000002010BD10B50446082000F001FA6060C4
@@ -752,7 +752,7 @@
:102EE0000021207802E014220121EE2000F032FDC2
:102EF000FEBD14220121FA2000F02CFD1E210298B3
:102F000000F01EFC00288BD0FEBD00000400002055
:102F1000900000201CB57148714C8089A081FDF79C
:102F10008C0000201CB57148714C8089A081FDF7A0
:102F20008BFCFFF731F9FEF72DFEFEF7D9FEFEF719
:102F300001FFFEF71DFFFEF745FFFEF75FFF6A4842
:102F400068490160032141606849C1608160FDF703
@@ -760,10 +760,10 @@
:102F60000090019000232278614962A0FFF70EFCD7
:102F70005D487430FFF736FD00F068FAFF26013631
:102F8000614D77002A4633463946104600F092FAE2
:102F90002A4633463946104601F05AF92A4610238C
:102F90002A4633463946104601F060F92A46102386
:102FA0002021104600F0F4FE0220FFF7A3FE0028C7
:102FB00001D001F043F95548FFF7BCFE48482430E2
:102FC00000F0B8F946482C30FFF738FD00F0FEF865
:102FB00001D001F049F95548FFF7BCFE48482030E0
:102FC00000F0B8F946482830FFF738FD00F0FEF869
:102FD0004E4820216038FDF7BAF84C4A4248203A62
:102FE0001146202340391030FEF7ECF8A18948A0A3
:102FF000FFF7CCFB00F0DAF8002812D148A0FFF769
@@ -779,11 +779,11 @@
:10309000002809D000F0F4FB002812D00022012102
:1030A0003846FDF778F90CE00220FFF723FE0028F0
:1030B00007D031463846FDF765F9002801D001F008
:1030C0002DF90720FFF716FE002801D0FFF7E8FCD6
:1030D000607A0028A7D001F03DF80000C0F7FF1F7C
:1030E00048000020003000406C010020FF0F00006D
:1030F000E645000825730A72657625642076256406
:103100002E25642E25640A00000400486003002078
:1030C00033F90720FFF716FE002801D0FFF7E8FCD0
:1030D000607A0028A7D001F043F80000C0F7FF1F76
:1030E000480000200030004068010020FF0F000071
:1030F000F245000825730A726576256420762564FA
:103100002E25642E25640A00000400485C0300207C
:10311000666C6173685F73697A653A2025640A009A
:103120004469676974616C20706F74206E6F7420DD
:10313000726573706F6E64696E67210A000000002B
@@ -792,21 +792,21 @@
:1031600030C3083B00E04368136002C004E0021D66
:1031700010680028ECD13046002803D138680028B8
:1031800001D00020F0BD064A06481060064A121A17
:10319000D208D20044C001203860D7E78C0000205C
:1031A00088000020BC030020B805002010B564236F
:10319000D208D20044C001203860D7E78800002060
:1031A00084000020B4030020B005002010B5642383
:1031B000012258210448FDF79FF9002801D0002082
:1031C00010BD012010BD00002001002070B50A4C88
:1031C00010BD012010BD00001C01002070B50A4C8C
:1031D000002204212046FDF7DEF87D25ED0028467B
:1031E000FFF7F5FB012204212046FDF7D4F828461D
:1031F000FFF7EDFB70BD00000004004803B583B08D
:10320000042802D3FF2005B000BD08496423085CF0
:1032100001210007020E04A80293019100900B46C1
:1032200058210348FDF7F6F9EDE70000E2450008F4
:1032300020010020024800680068406A70470000D2
:1032200058210348FDF7F6F9EDE70000EE450008E8
:103230001C010020024800680068406A70470000D6
:103240000000002070B52E4C207A002601250028B1
:1032500008D04D20E0710122E11D2A48FEF757FBFE
:10326000A57226722648243000F07AF8002845D04E
:10327000A07A002842D123492148EC312430FFF7BD
:10326000A57226722648203000F07AF8002845D052
:10327000A07A002842D123492148EC312030FFF7C1
:103280007FFC1F48C0210E300680867001701D49EA
:10329000EC318A7A002A01D0E02202700A7B002AEF
:1032A00003D0027810231A4302700A88898812B268
@@ -815,7 +815,7 @@
:1032D0000378022633430370530602D503782B4349
:1032E00003709206920E42708906890E817004491D
:1032F00003220E310348FEF70AFBA57270BD0000E1
:10330000480000209002002030B50B46024600F035
:10330000480000208C02002030B50B46024600F039
:103310001CF8002801D0012030BD11785068090147
:1033200040183ACB3AC01078401C0007000F1070CC
:10333000002030BD10B50446FF200130FFF700FF2C
@@ -826,18 +826,18 @@
:10338000090F4170704710B5002101704170FF2195
:1033900040680131FCF7DBFE10BD000010B50120D4
:1033A0000349000788600846FEF7CEF910BD00000B
:1033B0009002002010B50349002088600846FEF7FF
:1033C000C3F910BD9002002070B51E48FFF7C8FF7A
:1033D000002835D01B4C243CA07A002830D11A4953
:1033E0001848FFF7CDFB20461C3000220260027116
:1033B0008C02002010B50349002088600846FEF703
:1033C000C3F910BD8C02002070B51E48FFF7C8FF7E
:1033D000002835D01B4C203CA07A002830D11A4957
:1033E0001848FFF7CDFB204618300022026002711A
:1033F0008721017014498B7A002B01D0832303703D
:10340000CB7A002B03D00378FD252B4003700B7B78
:10341000002B03D003785B085B0003700B784370CC
:1034200009798170C27002710648FFF7A3FF054950
:10343000054805220839EC38FEF769FA0120A07228
:1034400070BD00006C0000207C03002010B510212E
:1034400070BD0000680000207803002010B5102136
:103450000648FCF77CFE012104480222417082707C
:10346000017142710272C17110BD0000A103002000
:10346000017142710272C17110BD00009D03002004
:1034700070B50F4DA988A868FCF784FF0446E98859
:10348000E868FCF77FFF012802D0002809D00AE095
:10349000012C02D0002C02D005E0032070BD0220D8
@@ -875,14 +875,14 @@
:10369000772000F05FF900280ED110BD022010BD88
:1036A0001422012120468CE714220021E02000F0A2
:1036B00051F9002800D149E7082010BD032010BDB2
:1036C0006945000810B5C32801D3052010BD1A4A6A
:1036C0007545000810B5C32801D3052010BD1A4A5E
:1036D000145CFF2C03D08E2C03D3062010BD0220D7
:1036E00010BD16480129025D04D0002910D002291E
:1036F0001BD01EE0022A03D0012A01D0032A18D1D0
:1037000014220021204600F025F900280BD110E0FA
:10371000022A01D0012A0CD114220021F02000F04D
:1037200019F90028ECD0082010BD012AE8D0042A9D
:10373000E6D0002010BD00001844000890000020D2
:10373000E6D0002010BD0000244400088C000020CA
:10374000F3B581B00F4600250126FCF72BFE3A4C5D
:10375000206107E0FCF726FE2169401AB84201D338
:103760000420FEBDFFF784FE0128F3D11220FFF7ED
@@ -902,7 +902,7 @@
:103840000122A188A068FCF7A6FD0122E188E068BA
:10385000FCF7A1FD10BD00000400002010B50548D4
:1038600002210170012141708E2203490348FCF7B7
:1038700055FC10BD04000020DB440008900000202F
:1038700055FC10BD04000020E74400088C00002027
:1038800038B5FFF7F5FD304C0228A07106D00925A8
:10389000ED06012806D0032837D04EE0FFF7CEFF13
:1038A000002038BD012211462846FCF774FDFF2197
@@ -915,7 +915,7 @@
:10391000511E6030FFF727FA00280ED10122114610
:103920002846FCF738FD2179E078FFF7D1FD08281B
:1039300005D006486030FFF726FA012038BD012087
:10394000FCF74BFCF9E700004800002000030020D2
:10394000FCF74BFCF9E7000048000020FC020020D7
:1039500000080048F8B515460E460746144CFCF71B
:1039600021FD206107E0FCF71DFD2169401AA842F6
:1039700001D30420F8BDFFF77BFD0328F3D1FFF747
@@ -963,27 +963,27 @@
:103C10000843F7E718000020F8B500250E46FF28F6
:103C200010D0E63800210127584C0300FEF7BEFDF6
:103C300011A0A69063619B9B9B5A9B549B331E1CB7
:103C40001A179B0000F03EF91421FA2000F0DFF96A
:103C5000FA21AA2000F0CEF91421002075E000F02E
:103C40001A179B0000F03EF91421FA2000F0E5F964
:103C5000FA21AA2000F0D4F91421002075E000F028
:103C60003DF980E021707EE027707CE01421FA208D
:103C700000F0CDF945489621401C00F097F8002847
:103C700000F0D3F945489621401C00F097F8002841
:103C80002FD142492079143162780A5407286AD228
:103C9000401C207167E01421FA2000F0B8F9217966
:103C9000401C207167E01421FA2000F0BEF9217960
:103CA000022916D93948143040182038C17F5029CC
:103CB0000FD1817F642902D0C82905D009E0407F57
:103CC000C82806D1032003E0407FC82801D1042082
:103CD00060711421607938E01421FA2000F097F91E
:103CE000A771F8BD1421FA2000F091F90220A0710B
:103CF000F8BDA17137E01421FA2000F088F9A0790D
:103CD00060711421607938E01421FA2000F09DF918
:103CE000A771F8BD1421FA2000F097F90220A07105
:103CF000F8BDA17137E01421FA2000F08EF9A07907
:103D0000012800D140252078002801D0202005433B
:103D1000E078022801D110200543B07A002801D0B4
:103D200004200543F07A002801D002200543307BAF
:103D3000002800D03D431421284600F05BF91421EF
:103D4000A07800F057F91421607800F053F9F8BD1D
:103D50001421FA2000F05BF90C489621801C00F039
:103D600025F80028F3D11421FA2000F050F9F8BD0D
:103D70001421FA2000F04BF9E770F8BD1421FA2065
:103D800000F045F90220E070F8BD000018000020A6
:103D3000002800D03D431421284600F061F91421E9
:103D4000A07800F05DF91421607800F059F9F8BD11
:103D50001421FA2000F061F90C489621801C00F033
:103D600025F80028F3D11421FA2000F056F9F8BD07
:103D70001421FA2000F051F9E770F8BD1421FA205F
:103D800000F04BF90220E070F8BD000018000020A0
:103D900010B5054CE06021812261638100F092F84A
:103DA00000F080F810BD000018000020F3B581B0CD
:103DB0000F4600250126FCF7F5FA044606E0FCF75D
@@ -1007,132 +1007,132 @@
:103ED00048618861487100BD1800002005486421D0
:103EE0004170022181700121C17000210170817136
:103EF000704700001800002070B50546002407E058
:103F000028194078C82100F075F8002804D1641CF5
:103F000028194078C82100F07BF8002804D1641CEF
:103F10002878A042F4DC002070BD000070B5FFF7E7
:103F2000DBFD224C0228607125D0012826D0FFF746
:103F300081F9A169401AAF21890088421DD320462A
:103F40002430FFF70DFA002817D0204618492430F6
:103F5000FEF716FE164916481C31FFF7EDFD002846
:103F60000BD113481C30FFF7C7FF00281AD0FCF70D
:103F700019FA054612E0FFF795FF70BD0B480A21BC
:103F8000801CFFF713FF0A49A0781039FFF744FEA1
:103F900070BDFCF707FA401B142803D8FFF79CFDFF
:103FA0000328F6D1FFF746F9A06170BD4800002054
:103FB0007C03002070B50546FCF7F4F9044606E0E2
:103FC000FCF7F0F9001BA84201D3042070BDFFF7F5
:103FD00083FD0328F4D1FFF72DF9044603E0FFF732
:103FE0007BFD0328E8D1FFF725F9001B3C28F6D319
:103FF000002070BD10B504460846FFF7DBFF00281F
:1040000001D0042010BD204600F012F810BD10B5FC
:1040100004460846FFF7CEFF002801D0042010BD5B
:10402000AF208000FEF7D3FC204600F001F810BD61
:10403000F8B5474C05460126002261892069FCF746
:10404000AAF91220FEF7C3FC00222189E068FCF7E0
:10405000A2F92420FEF7BBFC01222189E068FCF7CD
:104060009AF91220FEF7B3FC2189E068FCF78AF97F
:10407000002868D00027E80701D0012200E00022D4
:1040800061892069FCF787F91220FEF7A0FC002265
:104090002189E068FCF77FF92420FEF798FC0122D3
:1040A0002189E068FCF777F91220FEF790FC21895E
:1040B000E068FCF767F9002845D0E807C00F4640E4
:1040C0006D087F1C082FD6DB002E01D0012200E0F6
:1040D000002261892069FCF75EF91220FEF777FC67
:1040E00000222189E068FCF756F92420FEF76FFCD6
:1040F00001222189E068FCF74EF91220FEF767FCE7
:104100002189E068FCF73EF900281CD00122618972
:104110002069FCF740F91220FEF759FC00222189A2
:10412000E068FCF738F92420FEF751FC01222189D0
:10413000E068FCF730F91220FEF749FCFA20FEF7A0
:1041400046FC0020F8BDFFF7ADFE0820F8BD0000DA
:104150001800002011A0FEF719FB134D0024295D63
:1041600012A0FEF713FB641C202CF8DB10A0FEF756
:104170000DFB134D002408212846FCF708F96420A4
:10418000FCF72BF8641C642CF5DBBFF34F8F0E4952
:104190000C48C860BFF34F8F00BFFDE75350492064
:1041A0004552524F520A000020030020256420008F
:1041B0000A7265626F6F74696E672E2E2E0A000098
:1041C000000400480400FA0500ED00E070B5064662
:1041D000FCF7E8F80446084D06E0FCF7E3F8001B9E
:1041E000B04201D9042070BD29886868FCF7CAF87C
:1041F0000028F2D0002070BD3400002010B50E4C15
:1042000021886068FCF7BEF8012802D1FCF7CAF8E3
:10421000E060FCF7C7F8E168401A14280BD9C82001
:10422000FFF7D4FF1420FBF7D8FFAA2000F094F882
:104230000A20FBF7D2FF10BD3400002010B500F0BB
:104240005DF8FCF7AFF80149C86010BD34000020EC
:1042500010B5034C60602180A260638010BD000037
:104260003400002070B5044666380300FEF79EFA5D
:104270000A1406080A0C0E101216181A482413E025
:10428000492411E04B240FE04D240DE04F240BE0B6
:10429000502409E0512407E0472405E0522403E0BC
:1042A000532401E0532C0BD8022902D000290DD051
:1042B0000EE0FCF777F8084D2969401A502801D81C
:1042C000002070BDFCF76EF8286101E080200443F7
:1042D000204600F041F870BD3400002010B5064CB7
:1042E000012221886068FCF756F801226188A068E5
:1042F000FCF751F810BD00003400002010B5064C4A
:10430000012221886068FCF746F800226188A068D5
:10431000FCF741F810BD00003400002010B5FFF795
:104320006DFF0B4A0B48511EFEF71DFD00280AD1F8
:104330000748001F0179C078FFF794FF452803D094
:104340000448FEF720FD10BD0120FBF746FF10BD1D
:104350004C0000206003002070B52E4C05462188DB
:104360006068FCF70FF800282AD0002221886068D6
:10437000FCF711F80520FEF72AFB01226188A068EE
:10438000FCF709F86E20FEF722FB6188A068FBF7B6
:10439000F9FF002814D0012221886068FBF7FBFF99
:1043A0004120FEF714FB002221886068FBF7F3FF31
:1043B0001E20FEF70CFB0026E80705D0012204E0D2
:1043C000FFF79CFF452070BD00226188A068FBF7C5
:1043D000E2FF012221886068FBF7DDFF4120FEF744
:1043E000F6FA002221886068FBF7D5FF1E20FEF751
:1043F000EEFA6D08761C082EDEDB0122218860684B
:10440000FBF7C9FF00226188A068FBF7C4FF00200A
:1044100070BD000034000020FF08161E26252E3631
:104420003D3E46454E55660D151D242D2C353C430D
:10443000444D545B5A111C1B232B34333B424B4CD1
:10444000520E125C1A22212A32313A41494A597ECF
:10445000192914070F171F272F373F474F765F6C17
:10446000757D4E6B73747C69727A7071FFFF1356A1
:104470005EFFFFFFFFFFFFFF79584A5739FF6E636A
:104480006F616A65606D6764FFFFFFFFFFFFFF629A
:10449000FFFFFFFFFF8B8C8DFFFFFFFFFFFFFFFF85
:1044A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
:103F2000DBFD254C0228607124D00925ED0601280F
:103F300023D020462030FFF713FA00281CD020465B
:103F40001E492030FEF71CFE1C491C481C31FFF79F
:103F5000F3FD002810D1012211462846FCF71BFA78
:103F600016481C30FFF7C8FF00281FD0FCF71AFACC
:103F7000044617E0FFF796FF70BD01221146284660
:103F8000FCF709FA0C480A21801CFFF70FFF0B49C8
:103F9000A0781039FFF740FE08E0FCF703FA001B99
:103FA000142803D8FFF798FD0328F6D10022012139
:103FB0002846FCF7F0F970BD480000207803002087
:103FC00070B50546FCF7EEF9044606E0FCF7EAF9A1
:103FD000001BA84201D3042070BDFFF77DFD03281C
:103FE000F4D1FFF727F9044603E0FFF775FD032836
:103FF000E8D1FFF71FF9001B3C28F6D3002070BD65
:1040000010B504460846FFF7DBFF002801D0042066
:1040100010BD204600F012F810BD10B50446084649
:10402000FFF7CEFF002801D0042010BDAF20800094
:10403000FEF7CDFC204600F001F810BDF8B5474C66
:1040400005460126002261892069FCF7A4F91220A7
:10405000FEF7BDFC00222189E068FCF79CF92420D2
:10406000FEF7B5FC01222189E068FCF794F91220E3
:10407000FEF7ADFC2189E068FCF784F9002868D0E0
:104080000027E80701D0012200E0002261892069B1
:10409000FCF781F91220FEF79AFC00222189E068E2
:1040A000FCF779F92420FEF792FC01222189E068CF
:1040B000FCF771F91220FEF78AFC2189E068FCF711
:1040C00061F9002845D0E807C00F46406D087F1C05
:1040D000082FD6DB002E01D0012200E000226189EA
:1040E0002069FCF758F91220FEF771FC00222189A3
:1040F000E068FCF750F92420FEF769FC01222189D1
:10410000E068FCF748F91220FEF761FC2189E068BD
:10411000FCF738F900281CD0012261892069FCF7DE
:104120003AF91220FEF753FC00222189E068FCF7DF
:1041300032F92420FEF74BFC01222189E068FCF7CC
:104140002AF91220FEF743FCFA20FEF740FC00207B
:10415000F8BDFFF7A7FE0820F8BD000018000020FA
:1041600011A0FEF713FB134D0024295D12A0FEF7EA
:104170000DFB641C202CF8DB10A0FEF707FB134D91
:10418000002408212846FCF702F96420FCF725F8F2
:10419000641C642CF5DBBFF34F8F0E490C48C860DC
:1041A000BFF34F8F00BFFDE7535049204552524F98
:1041B000520A00001C030020256420000A72656278
:1041C0006F6F74696E672E2E2E0A0000000400487F
:1041D0000400FA0500ED00E070B50646FCF7E2F8D1
:1041E0000446084D06E0FCF7DDF8001BB04201D99B
:1041F000042070BD29886868FCF7C4F80028F2D054
:10420000002070BD3400002010B50E4C218860687D
:10421000FCF7B8F8012802D1FCF7C4F8E060FCF71D
:10422000C1F8E168401A14280BD9C820FFF7D4FF61
:104230001420FBF7D2FFAA2000F094F80A20FBF725
:10424000CCFF10BD3400002010B500F05DF8FCF785
:10425000A9F80149C86010BD3400002010B5034C16
:1042600060602180A260638010BD000034000020E7
:1042700070B5044666380300FEF798FA0A1406087B
:104280000A0C0E101216181A482413E0492411E0E3
:104290004B240FE04D240DE04F240BE0502409E0A7
:1042A000512407E0472405E0522403E0532401E0B1
:1042B000532C0BD8022902D000290DD00EE0FCF7B8
:1042C00071F8084D2969401A502801D8002070BDA6
:1042D000FCF768F8286101E080200443204600F0E4
:1042E00041F870BD3400002010B5064C0122218831
:1042F0006068FCF750F801226188A068FCF74BF871
:1043000010BD00003400002010B5064C01222188A9
:104310006068FCF740F800226188A068FCF73BF871
:1043200010BD00003400002010B5FFF76DFF0B4AF0
:104330000B48511EFEF717FD00280AD10748001F41
:104340000179C078FFF794FF452803D00448FEF7B1
:104350001AFD10BD0120FBF740FF10BD4C000020EE
:104360005C03002070B52E4C054621886068FCF780
:1043700009F800282AD0002221886068FCF70BF891
:104380000520FEF724FB01226188A068FCF703F8F2
:104390006E20FEF71CFB6188A068FBF7F3FF002886
:1043A00014D0012221886068FBF7F5FF4120FEF759
:1043B0000EFB002221886068FBF7EDFF1E20FEF750
:1043C00006FB0026E80705D0012204E0FFF79CFF6A
:1043D000452070BD00226188A068FBF7DCFF012248
:1043E00021886068FBF7D7FF4120FEF7F0FA002232
:1043F00021886068FBF7CFFF1E20FEF7E8FA6D0802
:10440000761C082EDEDB012221886068FBF7C3FFE3
:1044100000226188A068FBF7BEFF002070BD00008D
:1044200034000020FF08161E26252E363D3E464548
:104430004E55660D151D242D2C353C43444D545BC3
:104440005A111C1B232B34333B424B4C520E125C33
:104450001A22212A32313A41494A597E1929140730
:104460000F171F272F373F474F765F6C757D4E6BB9
:1044700073747C69727A7071FFFF13565EFFFFFFE1
:10448000FFFFFFFF79584A5739FF6E636F616A6516
:10449000606D6764FFFFFFFFFFFFFF62FFFFFFFF2D
:1044A000FF8B8C8DFFFFFFFFFFFFFFFFFFFFFFFF75
:1044B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:1044C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08F3
:1044D000101820283038404850575F010101010171
:1044E00001010303010101010101030102020102B3
:1044F00001010301020101010101030101010101A7
:104500000101030101010101010103010101010197
:104510000101030103010101010103010101010185
:104520000101030101010101010103010101010177
:10453000010303030201010101030301010301015E
:104540000301030103010303030303030303030341
:10455000030303010303010103030101010101033B
:10456000010101010101010101FF76161E26252E20
:10457000363D3E46454E55660D151D242D2C353CC9
:1045800043444D545B5A141C1B232B34333B424B86
:104590004C520E125D1A22212A32313A41494A59AF
:1045A0007C1129580506040C030B830A0109777E48
:1045B0006C757D7B6B73747969727A7071FFFF61C2
:1045C00078075A144AFF11FF6C757D6B7469727A13
:1045D0007071FFFFFFFFFFFFFFFFFFFFFFFFFF1FE8
:1045E000272F000106075553423456432050726F5F
:1045F000746F636F6C20426F6172640A49424D2090
:10460000504320436F6D70617469626C650A646524
:104610006B754E756B656D203230323200000000D4
:104620000000000000010203040607080900000062
:1046300000010203040000005846000800000020AA
:1046400090000000C6270008E846000890000020FF
:1046500028090000D6270008000000000201000021
:10466000000000000000000000000000000000004A
:1044C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
:1044D000FFFFFFFFFFFFFFFFFFFFFF08101820286F
:1044E0003038404850575F010101010101010303C9
:1044F00001010101010103010202010201010301A5
:104500000201010101010301010101010101030196
:104510000101010101010301010101010101030187
:104520000301010101010301010101010101030175
:104530000101010101010301010101010103030363
:104540000201010101030301010301010301030150
:10455000030103030303030303030303030303012F
:104560000303010103030101010101030101010131
:104570000101010101FF76161E26252E363D3E461D
:10458000454E55660D151D242D2C353C43444D5488
:104590005B5A141C1B232B34333B424B4C520E12E0
:1045A0005D1A22212A32313A41494A597C1129584F
:1045B0000506040C030B830A0109777E6C757D7B6D
:1045C0006B73747969727A7071FFFF6178075A149E
:1045D0004AFF11FF6C757D6B7469727A7071FFFF11
:1045E000FFFFFFFFFFFFFFFFFFFFFF1F272F000160
:1045F00006075553423456432050726F746F636FF1
:104600006C20426F6172640A49424D20504320433E
:104610006F6D70617469626C650A64656B754E7567
:104620006B656D2032303232000000000000000067
:10463000000102030406070809000000000102034C
:104640000400000064460008000000208C00000008
:10465000C6270008F04600088C000020240900004E
:10466000D627000800000000020100000000000042
:10467000000000000000000000000000000000003A
:10468000000000000000000000000000000000002A
:10469000000000000000000000000000000000001A
:1046A000000000000000000000000000000000000A
:1046B00000000000000000000000000000000000FA
:1046C00000000000000000000000000000000000EA
:1046D000000000000000000000127A00000000004E
:0846E0000000000000000000D2
:1046D00000000000000000000000000000000000DA
:1046E00000127A000000000000000000000000003E
:04000005080000C12E
:00000001FF

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: Tue Mar 07 21:46:04 2023
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Tue Mar 07 22:20:15 2023
<BR><P>
<H3>Maximum Stack Usage = 212 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -332,6 +332,7 @@ Global Symbols
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_write_nowait
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_release_lines
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_read
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_update
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gameport_init
@@ -1140,7 +1141,6 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_wait_for_idle
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_write
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
@@ -1450,7 +1450,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
</UL>
<P><STRONG><a name="[bf]"></a>ps2mouse_update</STRONG> (Thumb, 144 bytes, Stack size 16 bytes, main.o(i.ps2mouse_update))
<P><STRONG><a name="[bf]"></a>ps2mouse_update</STRONG> (Thumb, 156 bytes, Stack size 16 bytes, main.o(i.ps2mouse_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = ps2mouse_update &rArr; ps2mouse_host_req_reply &rArr; ps2mouse_write_delay_start &rArr; ps2mouse_write_nowait &rArr; ps2mouse_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_send_update
@@ -1460,8 +1460,8 @@ Global Symbols
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_get_outgoing_data
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_get_bus_status
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_peek
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_consolidated_mouse_event
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main

View File

@@ -292,10 +292,10 @@ Section Cross References
main.o(i.ps2kb_update) refers to main.o(.data) for .data
main.o(i.ps2kb_update) refers to main.o(.bss) for .bss
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_get_bus_status) for ps2mouse_get_bus_status
main.o(i.ps2mouse_update) refers to delay_us.o(i.micros) for micros
main.o(i.ps2mouse_update) refers to helpers.o(i.mouse_buf_peek) for mouse_buf_peek
main.o(i.ps2mouse_update) refers to main.o(i.get_consolidated_mouse_event) for get_consolidated_mouse_event
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_get_outgoing_data) for ps2mouse_get_outgoing_data
main.o(i.ps2mouse_update) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_send_update) for ps2mouse_send_update
main.o(i.ps2mouse_update) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_release_lines) for ps2mouse_release_lines
@@ -2076,39 +2076,39 @@ Image Symbol Table
i.ps2mouse_restore_defaults 0x08003edc Section 0 ps2mouse.o(i.ps2mouse_restore_defaults)
i.ps2mouse_send_update 0x08003ef8 Section 0 ps2mouse.o(i.ps2mouse_send_update)
i.ps2mouse_update 0x08003f1c Section 0 main.o(i.ps2mouse_update)
i.ps2mouse_wait_for_idle 0x08003fb4 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08003ff4 Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x0800400e Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08004030 Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.spi_error_dump_reboot 0x08004154 Section 0 main.o(i.spi_error_dump_reboot)
i.wait_for_clk_high 0x080041cc Section 0 xt_kb.o(i.wait_for_clk_high)
i.xtkb_check_for_softreset 0x080041fc Section 0 xt_kb.o(i.xtkb_check_for_softreset)
i.xtkb_enable 0x0800423c Section 0 xt_kb.o(i.xtkb_enable)
i.xtkb_init 0x08004250 Section 0 xt_kb.o(i.xtkb_init)
i.xtkb_press_key 0x08004264 Section 0 xt_kb.o(i.xtkb_press_key)
i.xtkb_release_lines 0x080042dc Section 0 xt_kb.o(i.xtkb_release_lines)
i.xtkb_reset_bus 0x080042fc Section 0 xt_kb.o(i.xtkb_reset_bus)
i.xtkb_update 0x0800431c Section 0 main.o(i.xtkb_update)
i.xtkb_write 0x08004358 Section 0 xt_kb.o(i.xtkb_write)
.constdata 0x08004418 Section 458 ps2kb.o(.constdata)
.constdata 0x080045e2 Section 4 mcp4451.o(.constdata)
.constdata 0x080045e6 Section 55 main.o(.constdata)
.constdata 0x0800461d Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x0800462d Section 8 system_stm32f0xx.o(.constdata)
i.ps2mouse_wait_for_idle 0x08003fc0 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08004000 Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x0800401a Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x0800403c Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.spi_error_dump_reboot 0x08004160 Section 0 main.o(i.spi_error_dump_reboot)
i.wait_for_clk_high 0x080041d8 Section 0 xt_kb.o(i.wait_for_clk_high)
i.xtkb_check_for_softreset 0x08004208 Section 0 xt_kb.o(i.xtkb_check_for_softreset)
i.xtkb_enable 0x08004248 Section 0 xt_kb.o(i.xtkb_enable)
i.xtkb_init 0x0800425c Section 0 xt_kb.o(i.xtkb_init)
i.xtkb_press_key 0x08004270 Section 0 xt_kb.o(i.xtkb_press_key)
i.xtkb_release_lines 0x080042e8 Section 0 xt_kb.o(i.xtkb_release_lines)
i.xtkb_reset_bus 0x08004308 Section 0 xt_kb.o(i.xtkb_reset_bus)
i.xtkb_update 0x08004328 Section 0 main.o(i.xtkb_update)
i.xtkb_write 0x08004364 Section 0 xt_kb.o(i.xtkb_write)
.constdata 0x08004424 Section 458 ps2kb.o(.constdata)
.constdata 0x080045ee Section 4 mcp4451.o(.constdata)
.constdata 0x080045f2 Section 55 main.o(.constdata)
.constdata 0x08004629 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x08004639 Section 8 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 4 delay_us.o(.data)
.data 0x20000004 Section 20 ps2kb.o(.data)
.data 0x20000018 Section 28 ps2mouse.o(.data)
.data 0x20000034 Section 20 xt_kb.o(.data)
.data 0x20000048 Section 52 main.o(.data)
.data 0x2000007c Section 4 stm32f0xx_hal.o(.data)
.data 0x20000080 Section 4 system_stm32f0xx.o(.data)
.data 0x20000084 Section 4 stdout.o(.data)
.data 0x20000048 Section 48 main.o(.data)
.data 0x20000078 Section 4 stm32f0xx_hal.o(.data)
.data 0x2000007c Section 4 system_stm32f0xx.o(.data)
.data 0x20000080 Section 4 stdout.o(.data)
.data 0x20000084 Section 4 mvars.o(.data)
.data 0x20000088 Section 4 mvars.o(.data)
.data 0x2000008c Section 4 mvars.o(.data)
.bss 0x20000090 Section 142 ps2kb.o(.bss)
.bss 0x20000120 Section 657 main.o(.bss)
HEAP 0x200003b8 Section 512 startup_stm32f072xb.o(HEAP)
STACK 0x200005b8 Section 1024 startup_stm32f072xb.o(STACK)
.bss 0x2000008c Section 142 ps2kb.o(.bss)
.bss 0x2000011c Section 657 main.o(.bss)
HEAP 0x200003b0 Section 512 startup_stm32f072xb.o(HEAP)
STACK 0x200005b0 Section 1024 startup_stm32f072xb.o(STACK)
Global Symbols
@@ -2360,31 +2360,31 @@ Image Symbol Table
ps2mouse_reset 0x08003ec5 Thumb Code 20 ps2mouse.o(i.ps2mouse_reset)
ps2mouse_restore_defaults 0x08003edd Thumb Code 22 ps2mouse.o(i.ps2mouse_restore_defaults)
ps2mouse_send_update 0x08003ef9 Thumb Code 34 ps2mouse.o(i.ps2mouse_send_update)
ps2mouse_update 0x08003f1d Thumb Code 144 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08003fb5 Thumb Code 64 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08003ff5 Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x0800400f Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08004031 Thumb Code 286 ps2mouse.o(i.ps2mouse_write_nowait)
spi_error_dump_reboot 0x08004155 Thumb Code 72 main.o(i.spi_error_dump_reboot)
wait_for_clk_high 0x080041cd Thumb Code 44 xt_kb.o(i.wait_for_clk_high)
xtkb_check_for_softreset 0x080041fd Thumb Code 60 xt_kb.o(i.xtkb_check_for_softreset)
xtkb_enable 0x0800423d Thumb Code 16 xt_kb.o(i.xtkb_enable)
xtkb_init 0x08004251 Thumb Code 14 xt_kb.o(i.xtkb_init)
xtkb_press_key 0x08004265 Thumb Code 116 xt_kb.o(i.xtkb_press_key)
xtkb_release_lines 0x080042dd Thumb Code 26 xt_kb.o(i.xtkb_release_lines)
xtkb_reset_bus 0x080042fd Thumb Code 26 xt_kb.o(i.xtkb_reset_bus)
xtkb_update 0x0800431d Thumb Code 52 main.o(i.xtkb_update)
xtkb_write 0x08004359 Thumb Code 186 xt_kb.o(i.xtkb_write)
linux_keycode_to_ps3_scancode_lookup_codeset3 0x08004418 Data 195 ps2kb.o(.constdata)
scancode_set3_default_status 0x080044db Data 142 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x08004569 Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x080045c2 Data 32 ps2kb.o(.constdata)
mcp4451_wiper_id_to_reg_addr_lookup 0x080045e2 Data 4 mcp4451.o(.constdata)
boot_message 0x080045e6 Data 55 main.o(.constdata)
AHBPrescTable 0x0800461d Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x0800462d Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08004638 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08004658 Number 0 anon$$obj.o(Region$$Table)
ps2mouse_update 0x08003f1d Thumb Code 156 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08003fc1 Thumb Code 64 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08004001 Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x0800401b Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x0800403d Thumb Code 286 ps2mouse.o(i.ps2mouse_write_nowait)
spi_error_dump_reboot 0x08004161 Thumb Code 72 main.o(i.spi_error_dump_reboot)
wait_for_clk_high 0x080041d9 Thumb Code 44 xt_kb.o(i.wait_for_clk_high)
xtkb_check_for_softreset 0x08004209 Thumb Code 60 xt_kb.o(i.xtkb_check_for_softreset)
xtkb_enable 0x08004249 Thumb Code 16 xt_kb.o(i.xtkb_enable)
xtkb_init 0x0800425d Thumb Code 14 xt_kb.o(i.xtkb_init)
xtkb_press_key 0x08004271 Thumb Code 116 xt_kb.o(i.xtkb_press_key)
xtkb_release_lines 0x080042e9 Thumb Code 26 xt_kb.o(i.xtkb_release_lines)
xtkb_reset_bus 0x08004309 Thumb Code 26 xt_kb.o(i.xtkb_reset_bus)
xtkb_update 0x08004329 Thumb Code 52 main.o(i.xtkb_update)
xtkb_write 0x08004365 Thumb Code 186 xt_kb.o(i.xtkb_write)
linux_keycode_to_ps3_scancode_lookup_codeset3 0x08004424 Data 195 ps2kb.o(.constdata)
scancode_set3_default_status 0x080044e7 Data 142 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x08004575 Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x080045ce Data 32 ps2kb.o(.constdata)
mcp4451_wiper_id_to_reg_addr_lookup 0x080045ee Data 4 mcp4451.o(.constdata)
boot_message 0x080045f2 Data 55 main.o(.constdata)
AHBPrescTable 0x08004629 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x08004639 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08004644 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08004664 Number 0 anon$$obj.o(Region$$Table)
us_timer 0x20000000 Data 4 delay_us.o(.data)
ps2kb_current_scancode_set 0x20000004 Data 1 ps2kb.o(.data)
ps2kb_data_reporting_enabled 0x20000005 Data 1 ps2kb.o(.data)
@@ -2426,34 +2426,33 @@ Image Symbol Table
flash_size 0x20000054 Data 2 main.o(.data)
microsoft_serial_mouse_output_buf 0x20000056 Data 3 main.o(.data)
ACT_LED_off_ts 0x2000005c Data 4 main.o(.data)
last_mouse_send 0x20000060 Data 4 main.o(.data)
mousesystems_serial_mouse_output_buf 0x20000064 Data 5 main.o(.data)
my_mouse_buf 0x2000006c Data 8 main.o(.data)
my_gamepad_buf 0x20000074 Data 8 main.o(.data)
uwTick 0x2000007c Data 4 stm32f0xx_hal.o(.data)
SystemCoreClock 0x20000080 Data 4 system_stm32f0xx.o(.data)
__stdout 0x20000084 Data 4 stdout.o(.data)
__microlib_freelist 0x20000088 Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x2000008c Data 4 mvars.o(.data)
scancode_set3_current_status 0x20000090 Data 142 ps2kb.o(.bss)
hi2c2 0x20000120 Data 76 main.o(.bss)
hiwdg 0x2000016c Data 16 main.o(.bss)
hspi1 0x2000017c Data 100 main.o(.bss)
htim2 0x200001e0 Data 64 main.o(.bss)
huart1 0x20000220 Data 112 main.o(.bss)
huart3 0x20000290 Data 112 main.o(.bss)
spi_transmit_buf 0x20000300 Data 32 main.o(.bss)
backup_spi1_recv_buf 0x20000320 Data 32 main.o(.bss)
spi_recv_buf 0x20000340 Data 32 main.o(.bss)
my_kb_buf 0x20000360 Data 12 main.o(.bss)
latest_mouse_event 0x2000036c Data 16 main.o(.bss)
consolidated_mouse_event 0x2000037c Data 16 main.o(.bss)
latest_gamepad_event 0x2000038c Data 12 main.o(.bss)
my_ps2_outbuf 0x20000398 Data 9 main.o(.bss)
protocol_status_lookup 0x200003a1 Data 16 main.o(.bss)
__heap_base 0x200003b8 Data 0 startup_stm32f072xb.o(HEAP)
__heap_limit 0x200005b8 Data 0 startup_stm32f072xb.o(HEAP)
__initial_sp 0x200009b8 Data 0 startup_stm32f072xb.o(STACK)
mousesystems_serial_mouse_output_buf 0x20000060 Data 5 main.o(.data)
my_mouse_buf 0x20000068 Data 8 main.o(.data)
my_gamepad_buf 0x20000070 Data 8 main.o(.data)
uwTick 0x20000078 Data 4 stm32f0xx_hal.o(.data)
SystemCoreClock 0x2000007c Data 4 system_stm32f0xx.o(.data)
__stdout 0x20000080 Data 4 stdout.o(.data)
__microlib_freelist 0x20000084 Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x20000088 Data 4 mvars.o(.data)
scancode_set3_current_status 0x2000008c Data 142 ps2kb.o(.bss)
hi2c2 0x2000011c Data 76 main.o(.bss)
hiwdg 0x20000168 Data 16 main.o(.bss)
hspi1 0x20000178 Data 100 main.o(.bss)
htim2 0x200001dc Data 64 main.o(.bss)
huart1 0x2000021c Data 112 main.o(.bss)
huart3 0x2000028c Data 112 main.o(.bss)
spi_transmit_buf 0x200002fc Data 32 main.o(.bss)
backup_spi1_recv_buf 0x2000031c Data 32 main.o(.bss)
spi_recv_buf 0x2000033c Data 32 main.o(.bss)
my_kb_buf 0x2000035c Data 12 main.o(.bss)
latest_mouse_event 0x20000368 Data 16 main.o(.bss)
consolidated_mouse_event 0x20000378 Data 16 main.o(.bss)
latest_gamepad_event 0x20000388 Data 12 main.o(.bss)
my_ps2_outbuf 0x20000394 Data 9 main.o(.bss)
protocol_status_lookup 0x2000039d Data 16 main.o(.bss)
__heap_base 0x200003b0 Data 0 startup_stm32f072xb.o(HEAP)
__heap_limit 0x200005b0 Data 0 startup_stm32f072xb.o(HEAP)
__initial_sp 0x200009b0 Data 0 startup_stm32f072xb.o(STACK)
@@ -2463,9 +2462,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000046e8, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000046f0, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00004658, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00004664, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@@ -2670,50 +2669,50 @@ Memory Map of the image
0x08003edc 0x08003edc 0x0000001c Code RO 408 i.ps2mouse_restore_defaults ps2mouse.o
0x08003ef8 0x08003ef8 0x00000022 Code RO 410 i.ps2mouse_send_update ps2mouse.o
0x08003f1a 0x08003f1a 0x00000002 PAD
0x08003f1c 0x08003f1c 0x00000098 Code RO 635 i.ps2mouse_update main.o
0x08003fb4 0x08003fb4 0x00000040 Code RO 411 i.ps2mouse_wait_for_idle ps2mouse.o
0x08003ff4 0x08003ff4 0x0000001a Code RO 412 i.ps2mouse_write ps2mouse.o
0x0800400e 0x0800400e 0x00000022 Code RO 413 i.ps2mouse_write_delay_start ps2mouse.o
0x08004030 0x08004030 0x00000124 Code RO 414 i.ps2mouse_write_nowait ps2mouse.o
0x08004154 0x08004154 0x00000078 Code RO 636 i.spi_error_dump_reboot main.o
0x080041cc 0x080041cc 0x00000030 Code RO 542 i.wait_for_clk_high xt_kb.o
0x080041fc 0x080041fc 0x00000040 Code RO 543 i.xtkb_check_for_softreset xt_kb.o
0x0800423c 0x0800423c 0x00000014 Code RO 544 i.xtkb_enable xt_kb.o
0x08004250 0x08004250 0x00000014 Code RO 545 i.xtkb_init xt_kb.o
0x08004264 0x08004264 0x00000078 Code RO 546 i.xtkb_press_key xt_kb.o
0x080042dc 0x080042dc 0x00000020 Code RO 547 i.xtkb_release_lines xt_kb.o
0x080042fc 0x080042fc 0x00000020 Code RO 548 i.xtkb_reset_bus xt_kb.o
0x0800431c 0x0800431c 0x0000003c Code RO 637 i.xtkb_update main.o
0x08004358 0x08004358 0x000000c0 Code RO 549 i.xtkb_write xt_kb.o
0x08004418 0x08004418 0x000001ca Data RO 314 .constdata ps2kb.o
0x080045e2 0x080045e2 0x00000004 Data RO 507 .constdata mcp4451.o
0x080045e6 0x080045e6 0x00000037 Data RO 643 .constdata main.o
0x0800461d 0x0800461d 0x00000010 Data RO 3961 .constdata system_stm32f0xx.o
0x0800462d 0x0800462d 0x00000008 Data RO 3962 .constdata system_stm32f0xx.o
0x08004635 0x08004635 0x00000003 PAD
0x08004638 0x08004638 0x00000020 Data RO 4333 Region$$Table anon$$obj.o
0x08003f1c 0x08003f1c 0x000000a4 Code RO 635 i.ps2mouse_update main.o
0x08003fc0 0x08003fc0 0x00000040 Code RO 411 i.ps2mouse_wait_for_idle ps2mouse.o
0x08004000 0x08004000 0x0000001a Code RO 412 i.ps2mouse_write ps2mouse.o
0x0800401a 0x0800401a 0x00000022 Code RO 413 i.ps2mouse_write_delay_start ps2mouse.o
0x0800403c 0x0800403c 0x00000124 Code RO 414 i.ps2mouse_write_nowait ps2mouse.o
0x08004160 0x08004160 0x00000078 Code RO 636 i.spi_error_dump_reboot main.o
0x080041d8 0x080041d8 0x00000030 Code RO 542 i.wait_for_clk_high xt_kb.o
0x08004208 0x08004208 0x00000040 Code RO 543 i.xtkb_check_for_softreset xt_kb.o
0x08004248 0x08004248 0x00000014 Code RO 544 i.xtkb_enable xt_kb.o
0x0800425c 0x0800425c 0x00000014 Code RO 545 i.xtkb_init xt_kb.o
0x08004270 0x08004270 0x00000078 Code RO 546 i.xtkb_press_key xt_kb.o
0x080042e8 0x080042e8 0x00000020 Code RO 547 i.xtkb_release_lines xt_kb.o
0x08004308 0x08004308 0x00000020 Code RO 548 i.xtkb_reset_bus xt_kb.o
0x08004328 0x08004328 0x0000003c Code RO 637 i.xtkb_update main.o
0x08004364 0x08004364 0x000000c0 Code RO 549 i.xtkb_write xt_kb.o
0x08004424 0x08004424 0x000001ca Data RO 314 .constdata ps2kb.o
0x080045ee 0x080045ee 0x00000004 Data RO 507 .constdata mcp4451.o
0x080045f2 0x080045f2 0x00000037 Data RO 643 .constdata main.o
0x08004629 0x08004629 0x00000010 Data RO 3961 .constdata system_stm32f0xx.o
0x08004639 0x08004639 0x00000008 Data RO 3962 .constdata system_stm32f0xx.o
0x08004641 0x08004641 0x00000003 PAD
0x08004644 0x08004644 0x00000020 Data RO 4333 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08004658, Size: 0x000009b8, Max: 0x00004000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08004664, Size: 0x000009b0, Max: 0x00004000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08004658 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x0800465c 0x00000014 Data RW 315 .data ps2kb.o
0x20000018 0x08004670 0x0000001c Data RW 415 .data ps2mouse.o
0x20000034 0x0800468c 0x00000014 Data RW 550 .data xt_kb.o
0x20000048 0x080046a0 0x00000034 Data RW 644 .data main.o
0x2000007c 0x080046d4 0x00000004 Data RW 1607 .data stm32f0xx_hal.o
0x20000080 0x080046d8 0x00000004 Data RW 3963 .data system_stm32f0xx.o
0x20000084 0x080046dc 0x00000004 Data RW 4307 .data mc_p.l(stdout.o)
0x20000088 0x080046e0 0x00000004 Data RW 4310 .data mc_p.l(mvars.o)
0x2000008c 0x080046e4 0x00000004 Data RW 4311 .data mc_p.l(mvars.o)
0x20000090 - 0x0000008e Zero RW 313 .bss ps2kb.o
0x2000011e 0x080046e8 0x00000002 PAD
0x20000120 - 0x00000291 Zero RW 638 .bss main.o
0x200003b1 0x080046e8 0x00000007 PAD
0x200003b8 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x200005b8 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
0x20000000 0x08004664 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08004668 0x00000014 Data RW 315 .data ps2kb.o
0x20000018 0x0800467c 0x0000001c Data RW 415 .data ps2mouse.o
0x20000034 0x08004698 0x00000014 Data RW 550 .data xt_kb.o
0x20000048 0x080046ac 0x00000030 Data RW 644 .data main.o
0x20000078 0x080046dc 0x00000004 Data RW 1607 .data stm32f0xx_hal.o
0x2000007c 0x080046e0 0x00000004 Data RW 3963 .data system_stm32f0xx.o
0x20000080 0x080046e4 0x00000004 Data RW 4307 .data mc_p.l(stdout.o)
0x20000084 0x080046e8 0x00000004 Data RW 4310 .data mc_p.l(mvars.o)
0x20000088 0x080046ec 0x00000004 Data RW 4311 .data mc_p.l(mvars.o)
0x2000008c - 0x0000008e Zero RW 313 .bss ps2kb.o
0x2000011a 0x080046f0 0x00000002 PAD
0x2000011c - 0x00000291 Zero RW 638 .bss main.o
0x200003ad 0x080046f0 0x00000003 PAD
0x200003b0 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x200005b0 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
==============================================================================
@@ -2725,10 +2724,10 @@ Image component sizes
52 10 0 4 0 506967 delay_us.o
466 0 0 0 0 11760 helpers.o
3332 380 55 52 657 25360 main.o
3344 380 55 48 657 25316 main.o
136 22 4 0 0 2311 mcp4451.o
1874 108 458 20 142 12207 ps2kb.o
1506 66 0 28 0 10948 ps2mouse.o
1506 66 0 28 0 10908 ps2mouse.o
28 8 192 0 1536 628 startup_stm32f072xb.o
122 18 0 4 0 3595 stm32f0xx_hal.o
178 28 0 0 0 10495 stm32f0xx_hal_cortex.o
@@ -2750,9 +2749,9 @@ Image component sizes
528 52 0 20 0 5878 xt_kb.o
----------------------------------------------------------------------
16438 1060 768 132 2344 655146 Object Totals
16450 1060 768 128 2340 655062 Object Totals
0 0 32 0 0 0 (incl. Generated)
34 0 3 0 9 0 (incl. Padding)
34 0 3 0 5 0 (incl. Padding)
----------------------------------------------------------------------
@@ -2796,15 +2795,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
17240 1104 768 144 2344 648054 Grand Totals
17240 1104 768 144 2344 648054 ELF Image Totals
17240 1104 768 144 0 0 ROM Totals
17252 1104 768 140 2340 647970 Grand Totals
17252 1104 768 140 2340 647970 ELF Image Totals
17252 1104 768 140 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 18008 ( 17.59kB)
Total RW Size (RW Data + ZI Data) 2488 ( 2.43kB)
Total ROM Size (Code + RO Data + RW Data) 18152 ( 17.73kB)
Total RO Size (Code + RO Data) 18020 ( 17.60kB)
Total RW Size (RW Data + ZI Data) 2480 ( 2.42kB)
Total ROM Size (Code + RO Data + RW Data) 18160 ( 17.73kB)
==============================================================================

View File

@@ -114,7 +114,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F072xB -DUSE_HAL_DRIVER -DSTM32F072xB
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.d)
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
@@ -152,12 +152,12 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x61B61A00)
I (../Inc/ps2kb.h)(0x6274FBAF)
I (../Inc/ps2kb.h)(0x6274FBAF)
I (../Inc/delay_us.h)(0x617487C7)
F (..\Src\ps2mouse.c)(0x6407B89C)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_ibmpc
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
@@ -240,7 +240,7 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
@@ -279,7 +279,7 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Inc/main.h)(0x6407AABA)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)

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

@@ -363,7 +363,6 @@ void get_consolidated_mouse_event(mouse_buf* mbuf, mouse_event* cme_result)
cap_to_127(&cme_result->movement_y);
}
uint32_t last_mouse_send;
void ps2mouse_update(void)
{
ps2mouse_bus_status = ps2mouse_get_bus_status();
@@ -374,14 +373,13 @@ void ps2mouse_update(void)
}
else if(ps2mouse_bus_status == PS2_BUS_REQ_TO_SEND)
{
PCARD_BUSY_HI();
ps2mouse_read(&ps2mouse_host_cmd, 10);
ps2mouse_host_req_reply(ps2mouse_host_cmd, &latest_mouse_event);
PCARD_BUSY_LOW();
return;
}
if(micros() - last_mouse_send < 700)
return;
if(mouse_buf_peek(&my_mouse_buf) == NULL)
return;
@@ -391,18 +389,17 @@ void ps2mouse_update(void)
if(ps2mouse_get_outgoing_data(&consolidated_mouse_event, &my_ps2_outbuf))
return; // if return value is not 0, no need to send out packets
// HAL_GPIO_WritePin(ERR_LED_GPIO_Port, ERR_LED_Pin, GPIO_PIN_SET);
PCARD_BUSY_HI();
if(ps2mouse_send_update(&my_ps2_outbuf) != PS2_OK)
{
uint32_t enter_time = HAL_GetTick();
while(ps2mouse_get_bus_status() != PS2_BUS_IDLE)
{
if(HAL_GetTick() - enter_time > 20)
if(HAL_GetTick() - enter_time > PS2MOUSE_WRITE_DEFAULT_TIMEOUT_MS)
break;
}
}
last_mouse_send = micros();
// HAL_GPIO_WritePin(ERR_LED_GPIO_Port, ERR_LED_Pin, GPIO_PIN_RESET);
PCARD_BUSY_LOW();
}
uint8_t ps2kb_update(void)

View File

@@ -14,7 +14,6 @@
#define BYTEWAIT_END 250
#define PS2MOUSE_BUS_TIMEOUT_MS 30
#define CODE_UNUSED 0xff
#define PS2MOUSE_WRITE_DEFAULT_TIMEOUT_MS 20
#define PS2MOUSE_MODE_STREAM 0
#define PS2MOUSE_MODE_REMOTE 1

View File

@@ -117,10 +117,12 @@ BTN_BACK = 0x116
BTN_TASK = 0x117
SPI_XFER_TIMEOUT = 0.025
def xfer_when_not_busy(data):
def xfer_when_not_busy(data, drop=False):
start_ts = time.time()
while GPIO.input(PCARD_BUSY_PIN):
# print(time.time(), "P-Card is busy!")
if drop:
return None
if time.time() - start_ts > SPI_XFER_TIMEOUT:
break
return pcard_spi.xfer(data)
@@ -833,7 +835,7 @@ def raw_input_event_worker():
pass
# send spi mouse message if there is moment, or the button is not typematic
elif (max(this_mouse_msg[13:18]) != 2 or sum(this_mouse_msg[4:10]) != 0) and (this_mouse_msg[4:] != last_mouse_msg[4:] or sum(this_mouse_msg[4:]) != 0):
xfer_when_not_busy(list(this_mouse_msg))
xfer_when_not_busy(list(this_mouse_msg), drop=True)
next_gamepad_hold_check = now + gamepad_hold_check_interval
clear_mouse_movement(mouse_status_dict)
last_mouse_msg = list(this_mouse_msg)