Commit Graph

754 Commits

Author SHA1 Message Date
Rodrigo Alfonso
996eb824d4 Using LINK_NOINLINE 2025-01-13 06:07:06 -03:00
Rodrigo Alfonso
c0b69c1fc1 LinkWirelessMultiboot: adding retries for final transfer 2025-01-13 05:13:33 -03:00
Rodrigo Alfonso
bc5cfab36e Simplifying LinkWireless::__onSerial() profiling code 2025-01-13 03:32:15 -03:00
Rodrigo Alfonso
8021b391a8 LinkWireless: Implementing getSignalLevel(...) 2025-01-13 00:19:49 -03:00
Rodrigo Alfonso
6b740f3616 LinkRawWireless: Implementing SignalLevel (0x11) command 2025-01-13 00:06:58 -03:00
Rodrigo Alfonso
5d8544b28f Renaming wireless cmd IsFinishedConnect => IsConnectionComplete 2025-01-12 23:45:41 -03:00
Rodrigo Alfonso
0516d71472 Sorting LinkRawWireless methods 2025-01-12 23:43:37 -03:00
Rodrigo Alfonso
f166dcb07d Reducing ISR code size when clock inversion is not needed 2025-01-12 21:11:24 -03:00
Rodrigo Alfonso
7027d219d3 Adding attributes LINK_INLINE and LINK_NOINLINE 2025-01-12 10:54:38 -03:00
Rodrigo Alfonso
10555a1573 Fixing issues with C bindings 2025-01-12 10:11:56 -03:00
Rodrigo Alfonso
6e8be79bd0 Version v7.1.0 => v8.0.0 2025-01-12 09:57:27 -03:00
Rodrigo Alfonso
532c178c02 Standarizing usage of libugba interrupt handler instead of tonc in examples and docs 2025-01-12 09:21:08 -03:00
Rodrigo Alfonso
d688241275 Removing unneeded constants 2025-01-12 09:00:35 -03:00
Rodrigo Alfonso
cfeda020db Providing default implementations for common string functions 2025-01-12 08:58:38 -03:00
Rodrigo Alfonso
0bfdb0b520 Removing std::array completely 2025-01-12 08:07:06 -03:00
Rodrigo Alfonso
bfa230f697 Extracting cstdio functions 2025-01-12 07:28:57 -03:00
Rodrigo Alfonso
b35a5f360c Helping the compiler figure out that LinkWireless doesn't need clock inversion code 2025-01-12 07:09:40 -03:00
Rodrigo Alfonso
b3ddf16b35 Extracting some macros to _link_common 2025-01-12 06:44:05 -03:00
Rodrigo Alfonso
3fb27158d1 Improving LinkUniversal::deactivate(...) documentation 2025-01-12 06:38:33 -03:00
Rodrigo Alfonso
1407a6e17b Using LinkRawWireless::getSendDataHeaderFor(...) instead of duplicating the logic 2025-01-12 06:35:12 -03:00
Rodrigo Alfonso
b93b3ce476 Adding LinkWireless::_setLogger(...) and LinkWirelessMultiboot::_setLogger(...) methods 2025-01-12 06:18:35 -03:00
Rodrigo Alfonso
76cc626d27 Moving async command system from LinkWireless to LinkRawWireless 2025-01-12 06:10:59 -03:00
Rodrigo Alfonso
892f49bf79 LinkRawWireless: inverted ACK wait 2025-01-12 06:07:36 -03:00
Rodrigo Alfonso
4b29529f0a FIX: LinkWirelessMultiboot now confirms the last packet too, detecting failures at the end of the transfer 2025-01-12 06:03:25 -03:00
Rodrigo Alfonso
c2be671310 LinkRawWireless: Sorting private / public methods 2025-01-11 22:06:55 -03:00
Rodrigo Alfonso
ae1cf8170a Extracting some repeated functions to _link_common 2025-01-07 00:55:34 -03:00
Rodrigo Alfonso
aaf0201077 Profiler: using average to calculate time in ISRs 2025-01-06 11:04:04 -03:00
Rodrigo Alfonso
7b6cf7f227 Improving profiling ROM, removing internal methods from C bindings 2025-01-06 05:45:51 -03:00
Rodrigo Alfonso
f672bd7c3e Revising sync() documentation, again 2025-01-05 09:36:20 -03:00
Rodrigo Alfonso
afb05da665 Stop duplicating int definitions 2025-01-05 08:52:59 -03:00
Rodrigo Alfonso
8cf3bb5a1c Adding volatile to variables that could change during interrupts and are read in main thread to prevent issues with compiler optimizations 2025-01-05 08:44:37 -03:00
Rodrigo Alfonso
2129c77377 FIX: Mutating linkSPI properly after refactor 2025-01-05 08:20:20 -03:00
Rodrigo Alfonso
ad29078090 Logging rejected messages in wireless profiler rom 2025-01-05 07:53:02 -03:00
Rodrigo Alfonso
7fc2b0d2c0 Stop using new / delete for internal instances, to allow using some libraries entirely on the stack 2025-01-05 07:01:32 -03:00
Rodrigo Alfonso
8ec893b0ff LinkCable: Refactoring to use LinkRawCable internally 2025-01-05 06:07:09 -03:00
Rodrigo Alfonso
107624e68f Improving wireless adapter deactivation in LinkUniversal and LinkWirelessMultiboot 2025-01-04 08:13:21 -03:00
Rodrigo Alfonso
30120f3bf3 Removing debug method from LinkWireless 2025-01-04 07:39:11 -03:00
Rodrigo Alfonso
cae4f588cd Checking config.maxPlayers when restoring connection 2025-01-04 06:54:43 -03:00
Rodrigo Alfonso
dc97649efb Renaming restoreFromMultiboot => restoreExistingConnection 2025-01-04 06:18:19 -03:00
Rodrigo Alfonso
6bfe90ed3e Adding 'restore from multiboot' to LinkUniversal 2025-01-04 01:31:34 -03:00
Rodrigo Alfonso
6743f2582a Adding 'restore from multiboot' to LinkWireless 2025-01-03 23:56:27 -03:00
Rodrigo Alfonso
b8643e0ddc Adding 'restore from multiboot' functionality to LinkRawWireless 2025-01-03 22:55:08 -03:00
Rodrigo Alfonso
9b41cf30df LinkRawWireless: Implementing SystemStatus command (0x13) 2025-01-03 12:25:10 -03:00
Rodrigo Alfonso
f9e0e1dd63 Documenting internal instances 2025-01-03 09:00:04 -03:00
Rodrigo Alfonso
a062a3acd6 Extracting event constants 2025-01-03 08:39:35 -03:00
Rodrigo Alfonso
6b9f5ba08e Centralizing usages of strlen and memcpy 2025-01-03 07:35:34 -03:00
Rodrigo Alfonso
a7ca676565 FIX: LinkUniversal now initializes randomSeed 2025-01-03 07:22:37 -03:00
Rodrigo Alfonso
aea3ae742a FIX: Uninitialized and unaligned reads in LinkWirelessOpenSDK 2025-01-03 06:56:57 -03:00
Rodrigo Alfonso
f7567b489e Documenting extracted methods 2025-01-02 19:17:20 -03:00
Rodrigo Alfonso
28b0ecda64 Moving most of the file transfer logic to LinkWirelessOpenSDK 2025-01-02 18:57:13 -03:00
Rodrigo Alfonso
283dd81b73 Removing unneeded finish(...) calls 2025-01-02 04:47:16 -03:00
Rodrigo Alfonso
05568ad4bf Moving some generic file transfer code from LinkWirelessMultiboot to LinkWirelessOpenSDK 2025-01-02 04:22:44 -03:00
Rodrigo Alfonso
9ea8f0c54b Removing unneeded waits in LinkWirelessMultiboot 2025-01-02 03:16:57 -03:00
Rodrigo Alfonso
be645a8f75 Moving wait(...) function to _link_common.hpp 2025-01-02 03:09:10 -03:00
Rodrigo Alfonso
af5b9e3461 LinkWireless: Refactoring the whole thing to use LinkRawWireless internally 2025-01-02 02:02:59 -03:00
Rodrigo Alfonso
d43131a35c Adding missing param documentation 2025-01-01 23:37:40 -03:00
Rodrigo Alfonso
b1eb8c9c4e FIX: Wrong user name length validation 2025-01-01 22:43:02 -03:00
Rodrigo Alfonso
9e77e1010e Adding LinkWireless::isServerClosed 2025-01-01 20:21:11 -03:00
Rodrigo Alfonso
9af5aa2e1a Version => v7.1.0, updating license 2025-01-01 20:00:16 -03:00
Rodrigo Alfonso
e44fe5007e LinkWirelessMultiboot: Adding missing volatile flag, wait fix, and renaming cancel => listener 2025-01-01 19:59:23 -03:00
Rodrigo Alfonso
78cd7aa78b Using LinkGPIO::Pin::SD 2024-12-24 09:31:13 -03:00
Rodrigo Alfonso
22b413dd54 Also returning WRONG_STATE if the server is already closed 2024-12-08 03:32:26 -03:00
Rodrigo Alfonso
2e290a1a1d Removing noinline modifiers adding for debugging 2024-11-30 02:02:30 +00:00
Rodrigo Alfonso
33bdbc3810 Adding ready flag to LinkWirelessMultiboot to start transfer early 2024-11-30 01:48:26 +00:00
Rodrigo Alfonso
d645d47ba8 Adding LinkWireless::closeServer() 2024-11-29 06:33:43 +00:00
Rodrigo Alfonso
b2b1926d4a LinkRawWireless: adding missing bye() command 2024-11-29 05:52:19 +00:00
Rodrigo Alfonso
2628c2130e Adding missing methods in C bindings to update configuration in realtime 2024-11-29 05:44:09 +00:00
Rodrigo Alfonso
8121b7aa85 updateInterval() => resetTimer() 2024-11-29 05:09:28 +00:00
Rodrigo Alfonso
6754b7e058 Adding updateInterval() to LinkCable, LinkWireless, and LinkUniversal 2024-11-29 04:53:45 +00:00
Rodrigo Alfonso
481381c9fb Ensuring a clean RCNT state when activating LinkWireless to prevent incompatibilities with LinkGPIO or other libraries 2024-11-22 20:16:30 +00:00
Rodrigo Alfonso
6ab48b40ff
Fix formatting 2024-10-09 20:46:27 -03:00
Rodrigo Alfonso
22c997a62a Fixing full buffer check in LinkWireless::send(...) 2024-09-14 05:54:00 -03:00
Rodrigo Alfonso
a11ed09bf0 Simplifying LinkWireless::receive(...) first check 2024-09-14 04:57:03 -03:00
Rodrigo Alfonso
fb1bafcd4c Version v7.0.0 => v7.0.1 2024-09-14 04:56:07 -03:00
Rodrigo Alfonso
db4c0c30a2 FIX: Data race check in LinkWireless 2024-09-14 04:56:07 -03:00
Rodrigo Alfonso
59edaa3f89 Fixing potential issues when using LINK_WIRELESS_ENABLE_NESTED_IRQ and low timer intervals 2024-09-14 04:56:07 -03:00
Rodrigo Alfonso
10834c2f19 Adding Link::reset() for compatibility with other libraries 2024-09-09 02:16:31 -03:00
Rodrigo Alfonso
c78ba46b85 Adding missing always_inline to _MultiBoot (from gba-hpp), updating docs 2024-08-27 09:34:23 -03:00
Rodrigo Alfonso
44453da09f LinkWireless: deprecating asyncACKTimerId. With last changes, it's not needed and actually burns more cycles 2024-08-27 06:10:31 -03:00
Rodrigo Alfonso
57a818d5d0 LinkCable: Preventing repeated packets by clearing send buffer after each serial interrupt 2024-08-27 05:16:09 -03:00
Rodrigo Alfonso
d97a104f34 Updating asyncACKTimerId docs 2024-08-27 01:20:34 -03:00
Rodrigo Alfonso
bdd3de84b3 Reverting activateAsync 2024-08-27 00:02:36 -03:00
Rodrigo Alfonso
409a19cf58 Changed wireless CMD_TIMEOUT from 100 to 10 2024-08-26 23:50:51 -03:00
Rodrigo Alfonso
5cc1d72361 LinkUniversal: Not even trying to serve if wireless activation fails 2024-08-26 23:50:48 -03:00
Rodrigo Alfonso
ff22a2dc9f Adding LinkWireless::activateAsync(), turnOff parameter to deactivate(), stopping everything on errors 2024-08-26 23:29:54 -03:00
Rodrigo Alfonso
f459a8f142 Marking headers as system headers outside development 2024-08-26 22:29:07 -03:00
Rodrigo Alfonso
d43f245a67 Fixing deprecation warnings 2024-08-26 22:23:23 -03:00
Rodrigo Alfonso
fa9923cd9d Improving documentation 2024-08-26 07:10:55 -03:00
Rodrigo Alfonso
d0e5905be5 Testing quick send/receive and displaying the build settings in LinkWireless_demo 2024-08-26 04:10:22 -03:00
Rodrigo Alfonso
27285658c3 FIX: Build with LINK_WIRELESS_TWO_PLAYERS_ONLY 2024-08-26 03:49:56 -03:00
Rodrigo Alfonso
4f3e94d244 Adding proper title to wireless/profiler 2024-08-26 03:47:44 -03:00
Rodrigo Alfonso
d18cf5ec3d Using default waitstates in all examplesm, allowing knobs to be defined outside 2024-08-26 03:42:00 -03:00
Rodrigo Alfonso
70308ed9c8 Adding C bindings documentation 2024-08-26 03:16:07 -03:00
Rodrigo Alfonso
d468561718 Fixing more issues with C bindings 2024-08-26 02:19:09 -03:00
Rodrigo Alfonso
ce605a87cf Merge branch 'v7.0.0' of https://github.com/afska/gba-link-connection into c-bindings 2024-08-26 00:02:08 -03:00
Rodrigo Alfonso
75dfb225e6 FIX: Using SWI wrappers from gba-hpp. LinkPS2Mouse is time critical and likes them better 2024-08-25 23:59:37 -03:00
Rodrigo Alfonso
0e55994464 Merge branch 'v7.0.0' of https://github.com/afska/gba-link-connection into c-bindings 2024-08-25 22:08:43 -03:00
Rodrigo Alfonso
b4ca3d113b FIX: Adding volatile to LinkPS2Mouse bools 2024-08-25 22:08:20 -03:00
Rodrigo Alfonso
4e606de2b3 Fixing LinkMobile C binding 2024-08-25 21:30:03 -03:00
Rodrigo Alfonso
52dc689dab Adding prefixes to enums in C bindings 2024-08-25 21:08:04 -03:00
Rodrigo Alfonso
d84c089a1a Merge branch 'v7.0.0' of https://github.com/afska/gba-link-connection into c-bindings 2024-08-25 08:45:47 -03:00
Rodrigo Alfonso
8d1e2bceaa FIX: Player calculation with new timeout system 2024-08-25 08:45:31 -03:00
Rodrigo Alfonso
4489d91957 Adding C bindings 2024-08-25 08:36:10 -03:00
Rodrigo Alfonso
1b45e8c867 Updating LinkCube documentation 2024-08-25 04:23:38 -03:00
Rodrigo Alfonso
0e16794ccb Finishing LinkCube 2024-08-25 04:13:22 -03:00
Rodrigo Alfonso
0063b465e4 Improving LinkCable docs 2024-08-25 00:28:28 -03:00
Rodrigo Alfonso
53089ce3fd Sends are working! 2024-08-24 09:40:23 -03:00
Rodrigo Alfonso
0d5c1d1077 Starting JOYBUS 2024-08-24 08:12:09 -03:00
Rodrigo Alfonso
20bb29955e LinkUART: Using the queue methods for sync pushes/pops 2024-08-24 05:37:43 -03:00
Rodrigo Alfonso
9132537608 LinkWireless: Adding compile-time constant to optimize the library for two players 2024-08-23 19:24:56 -03:00
Rodrigo Alfonso
c011211a9c LinkWireless: Adding compile-time option to enable nested interrupts 2024-08-23 08:55:02 -03:00
Rodrigo Alfonso
2c7234ff18 Adding Link::perFrame(...) helper 2024-08-23 06:55:40 -03:00
Rodrigo Alfonso
4f4694a8b9 LinkWireless: Unified timeout and remoteTimeout 2024-08-23 03:15:17 -03:00
Rodrigo Alfonso
62b5acfdd9 LinkWireless: When resetting in system thread, disable interrupts, then restore previous value 2024-08-23 01:58:22 -03:00
Rodrigo Alfonso
6a956aff85 LinkCable: Unified timeout and remoteTimeout 2024-08-22 23:17:06 -03:00
Rodrigo Alfonso
6ab7166da1 LinkCable: remoteTimeout is now in frames 2024-08-22 23:12:58 -03:00
Rodrigo Alfonso
ada55d22f0 LinkMobile fix: Increasing INIT_TIMEOUT_FRAMES to 60*3 so it also works with the Red and Yellow adapters 2024-08-22 22:45:49 -03:00
Rodrigo Alfonso
0ae110f111 Adding a random wait to avoid different GBAs getting stuck 2024-08-22 07:28:51 -03:00
Rodrigo Alfonso
f670e3d2bf Using infinite retries in linkCableMultiboot 2024-08-22 06:35:33 -03:00
Rodrigo Alfonso
a3e1413fa9 Redoing LinkCableMultiboot 2024-08-22 03:25:20 -03:00
Rodrigo Alfonso
c7286266ab Adjusting retry delay to 1/16s 2024-08-21 22:05:09 -03:00
Rodrigo Alfonso
529c78e22e Adding option to change palette data in LinkCableMultiboot 2024-08-21 08:41:23 -03:00
Rodrigo Alfonso
b8fc56b795 Adding SPI mode to LinkCableMultiboot 2024-08-21 08:33:51 -03:00
Rodrigo Alfonso
576d8047ff Not checking for 0xD2 at all in the mobile adapter 2024-08-21 04:32:21 -03:00
Rodrigo Alfonso
0bdd88018f LinkWireless: Fixing serve(...) while hosting 2024-08-21 02:02:07 -03:00
Rodrigo Alfonso
2fbf8198a5 FIX: Making LinkRawWireless::receiveCommandFromAdapter() more stable 2024-08-20 00:59:08 -03:00
Rodrigo Alfonso
612f286635 Preventing multiboot failures 2024-08-20 00:30:05 -03:00
Rodrigo Alfonso
82d315f8ce Improving disconnection handling in LinkWirelessMultiboot 2024-08-19 22:39:38 -03:00
Rodrigo Alfonso
1e06a32a37 Testing fix for mobile adapter hw 2024-08-19 10:01:55 -03:00
Rodrigo Alfonso
3e3920096f Using nullptr instead of NULL 2024-08-19 08:42:21 -03:00
Rodrigo Alfonso
1aaf84bb27 Reverting test code
This reverts commit a8383a67eec7c82079d533c8a60f6202aeb3b059.
2024-08-19 04:43:47 -03:00
Rodrigo Alfonso
0aa6d70178 Oh, of course I have to switch the serial mode before the timer x) 2024-08-19 04:43:17 -03:00
Rodrigo Alfonso
ec06a49073 Debugging why it doesn't work on the RPi Pico 2024-08-19 04:42:36 -03:00
Rodrigo Alfonso
004a796cc3 Adding LinkMobile to compile script, improving documentation 2024-08-19 03:47:35 -03:00
Rodrigo Alfonso
03314004e9 Refactors and improving docs 2024-08-19 02:33:40 -03:00
Rodrigo Alfonso
c41d99562a Refactoring library and example. Renaming ISP => PPP 2024-08-19 01:36:23 -03:00
Rodrigo Alfonso
b7f5288d4c Adding waitFor(...) method 2024-08-18 23:31:55 -03:00
Rodrigo Alfonso
c3ed1114a9 Cleaning up requests 2024-08-18 23:15:30 -03:00
Rodrigo Alfonso
2055e66c90 Adding TCP example 2024-08-18 23:01:44 -03:00
Rodrigo Alfonso
0aa2c1b5b8 Finishing TCP/UDP commands 2024-08-18 11:07:42 -03:00
Rodrigo Alfonso
855accae1c Adding signatures and documentation for openConnection and closeConnection 2024-08-18 10:15:49 -03:00
Rodrigo Alfonso
f994270ee0 Implementing DNS query 2024-08-18 09:16:14 -03:00
Rodrigo Alfonso
c1f01cd5af ISP calling and login completed 2024-08-18 05:57:24 -03:00
Rodrigo Alfonso
0f2d09229f Starting ISP connection 2024-08-18 04:19:21 -03:00
Rodrigo Alfonso
a0221f2971 Request timeout always active? 2024-08-18 01:57:00 -03:00
Rodrigo Alfonso
bbcfc99a0d Renaming isConnected() => isP2PConnected() 2024-08-18 01:46:09 -03:00
Rodrigo Alfonso
fc68b304f6 Adding isConfigurationValid() 2024-08-18 01:40:54 -03:00
Rodrigo Alfonso
e7b9f00266 Removing BAD_CONFIGURATION_CHECKSUM 2024-08-18 01:29:25 -03:00
Rodrigo Alfonso
8b1e426609 Adding LinkMobile documentation 2024-08-17 10:56:28 -03:00
Rodrigo Alfonso
d957b50ed3 Adding Doxygen docs 2024-08-17 09:40:11 -03:00
Rodrigo Alfonso
d63956e0a0 Adding numpad to example and timeouts 2024-08-17 07:24:26 -03:00
Rodrigo Alfonso
804f6a32ab Adding timeout error 2024-08-17 05:10:56 -03:00
Rodrigo Alfonso
049af89e74 Adding constant ping (telephone status), manual hang up, and hang up detection 2024-08-17 02:44:46 -03:00
Rodrigo Alfonso
6d7203e213 Adding methods to retrieve role 2024-08-17 01:42:48 -03:00
Rodrigo Alfonso
8ffc30d740 Moving transfer requests to example 2024-08-17 01:06:13 -03:00
Rodrigo Alfonso
84608a688f Extracting methods to transfer data and adding extra checks to data size in SIO32 2024-08-16 23:51:47 -03:00
Rodrigo Alfonso
7d7b75c982 Adding send/receive test 2024-08-16 20:36:51 -03:00
Rodrigo Alfonso
72bd5e4635 Adding dontReceiveCalls boolean (test) 2024-08-16 10:41:32 -03:00
Rodrigo Alfonso
8dbe5f2572 Adding basic call feature 2024-08-16 10:30:14 -03:00
Rodrigo Alfonso
db43d1eb18 Adjusted max size to 254 2024-08-16 09:46:45 -03:00
Rodrigo Alfonso
e14fd0f0d0 Moving synchronized queue logic to Queue in all projects 2024-08-16 09:35:36 -03:00
Rodrigo Alfonso
6983d9df5f Using a single queue for all projects 2024-08-16 08:51:50 -03:00
Rodrigo Alfonso
6249152311 Adding user requests system 2024-08-16 08:35:19 -03:00
Rodrigo Alfonso
47ab5ced31 Retrieving adapter type, start thinking about calls 2024-08-16 07:29:20 -03:00
Rodrigo Alfonso
78ff5ec654 Calling 'Wait for telephone call' regularly 2024-08-16 06:59:38 -03:00
Rodrigo Alfonso
c39ff7dba5 0x11 already resets the adapter 2024-08-16 05:42:10 -03:00
Rodrigo Alfonso
36c39cf457 Extracting pureCommandId() 2024-08-16 05:38:13 -03:00
Rodrigo Alfonso
ff8885d877 FIX: ack and checksum bugs in SIO32 mode 2024-08-16 05:14:18 -03:00
Rodrigo Alfonso
b272ebafdb Adding gracefully shutdown method 2024-08-16 01:02:57 -03:00
Rodrigo Alfonso
28d4738daa Adding error logs and improving stability 2024-08-15 23:46:14 -03:00
Rodrigo Alfonso
36efafde17 Preventing UB in wireless and mobile examples after disabling the adapter 2024-08-15 21:39:30 -03:00
Rodrigo Alfonso
9d5ede98ee Avoiding flicker in example 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
f6a7f3b2e6 Updating README and fixing mobile stuff 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
c6e4b3bd21 Parsing errors, detecting timeouts 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
feca76d946 Making read configuration a part of the initialization ritual 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
0f65175a5b Refactoring LinkMobile to be completely async and don't block the system at all 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
431820ba37 FIX: Sending zeroes in padding bytes 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
b82deda44e Fixing checksum 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
9d354b0a8f Implementing SIO32 mode 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
465a7e2501 Reverting serialization 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
9b3343e57e (WIP) Serializing packets 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
9a0fc323e7 Starting refactor to serialize commands 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
38d8e7df05 Adding read configuration command 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
0b50475181 Adding logout command 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
58f3489c9b Adding small delay before each transfer 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
e897f78a1b Refactoring async receive 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
c5abe13afd Implementing receiveAsyncCommandSIO8 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
7fe1c9f13a Simplifying updateAsyncCommandSIO8 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
0549f3c501 Implementing async command sending 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
7f571d8b65 Refactoring initial LinkMobile implementation 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
a0934eaa1d Adding basic packet sending (works!!) 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
9ffcb5dd07 Adding command list and packet structs 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
ee097dd80e Making SPI receive the DataSize so 8-bit and 32-bit packets can be used in the same project 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
ae2bada2ff Adding template for LinkMobile implementation 2024-08-15 11:11:40 -03:00
Rodrigo Alfonso
d63dc3f250 Adding prefix to LWMLOG 2024-08-15 00:07:49 -03:00
Rodrigo Alfonso
016f0cd91e FIX: Preventing concurrent usage of array between interrupts and main code 2024-08-14 09:19:09 -03:00
Rodrigo Alfonso
ad8ca1686e Moving ObjectQueue to _link_common 2024-08-14 08:47:42 -03:00
Rodrigo Alfonso
3f1d790aa8 Extracting generic Queue in _link_common.hpp 2024-08-13 23:38:58 -03:00
Rodrigo Alfonso
6516744b6d Normalizing file format 2024-08-10 07:14:54 -03:00
Rodrigo Alfonso
89b96fcebc Adding missing timer registers for wireless profiler 2024-08-08 10:38:03 -03:00
Rodrigo Alfonso
de9c8c79c1 Renaming queues with more descriptive names and adding developer notes 2024-08-08 10:09:55 -03:00
Rodrigo Alfonso
908c67679c Adding Doxygen-style docs for IDE autocompletion in LinkUniversal 2024-08-08 09:00:38 -03:00
Rodrigo Alfonso
fc3e9641e4 Dropping tonc dependency in LinkUniversal 2024-08-08 08:27:29 -03:00
Rodrigo Alfonso
514c02ccf0 Adding Doxygen-style docs for IDE autocompletion in LinkWireless 2024-08-08 07:50:00 -03:00
Rodrigo Alfonso
184419f7de Improving documentation 2024-08-08 07:31:24 -03:00
Rodrigo Alfonso
f7a2b218a4 Dropping tonc dependency in LinkWireless 2024-08-08 06:53:13 -03:00
Rodrigo Alfonso
d6d7862703 Using type aliases for readability 2024-08-08 04:20:46 -03:00
Rodrigo Alfonso
743ea22f15 Fixing wrong constant usage 2024-08-08 02:41:04 -03:00
Rodrigo Alfonso
0115a21778 gcc: pls stop inlining this code 2024-08-08 02:17:33 -03:00
Rodrigo Alfonso
3f5784c767 Adding Doxygen-style docs for IDE autocompletion in LinkWirelessOpenSDK and LinkWirelessMultiboot 2024-08-08 01:20:11 -03:00
Rodrigo Alfonso
f456592d9a Dropping tonc dependency in LinkWirelessOpenSDK and LinkWirelessMultiboot 2024-08-08 00:59:06 -03:00
Rodrigo Alfonso
691b8fcddf Enforcing constructors in LinkPS2Keyboard and LinkPS2Mouse 2024-08-07 11:28:04 -03:00
Rodrigo Alfonso
6681ef759f Adding Doxygen-style docs for IDE autocompletion in LinkUART 2024-08-07 11:21:35 -03:00
Rodrigo Alfonso
370aac4e9b Dropping tonc dependency in LinkUART 2024-08-07 10:56:50 -03:00
Rodrigo Alfonso
e56153a758 Renaming setNormalMode() method 2024-08-07 10:20:10 -03:00
Rodrigo Alfonso
c8e5a4745d Adding Doxygen-style docs for IDE autocompletion in LinkRawWireless 2024-08-07 10:15:55 -03:00
Rodrigo Alfonso
21bb2cc250 Dropping tonc dependency in LinkRawWireless 2024-08-07 09:21:04 -03:00
Rodrigo Alfonso
d72a112732 Adding Doxygen-style docs for IDE autocompletion in LinkPS2Mouse 2024-08-07 08:41:32 -03:00
Rodrigo Alfonso
8c2db38a1d Dropping tonc dependency in LinkPS2Mouse 2024-08-07 08:01:06 -03:00
Rodrigo Alfonso
fc663d0abe Fixing scan code list 2024-08-07 07:43:20 -03:00
Rodrigo Alfonso
8e6fc11c3b Adding Doxygen-style docs for IDE autocompletion in LinkPS2Keyboard 2024-08-07 07:10:03 -03:00
Rodrigo Alfonso
4b383aae78 Dropping tonc and std::function dependencies in LinkPS2Keyboard, and adding scan code list 2024-08-07 07:04:32 -03:00
Rodrigo Alfonso
76cba03aaf Restoring some old symbols for retrocompatibility 2024-08-07 06:03:56 -03:00
Rodrigo Alfonso
74192900b2 Making SWI inline asm methods more reliable? 2024-08-07 05:43:55 -03:00
Rodrigo Alfonso
f4ad572973 Adding Doxygen-style docs for IDE autocompletion in LinkCable 2024-08-07 00:58:33 -03:00
Rodrigo Alfonso
880613e6e5 Improving documentation 2024-08-07 00:15:36 -03:00
Rodrigo Alfonso
84d1f596f8 Adding sanity checks in LinkUniversal and LinkWireless on max players and reported player ids 2024-08-06 23:58:59 -03:00
Rodrigo Alfonso
4065926f28 Adding clarification on LINK_CABLE_QUEUE_SIZE 2024-08-06 23:30:53 -03:00
Rodrigo Alfonso
eaf930e71b Dropping tonc dependency in LinkCable 2024-08-06 22:32:42 -03:00
Rodrigo Alfonso
be65e8dc9d Renaming _link_common.h => _link_common.hpp 2024-08-06 09:56:58 -03:00
Rodrigo Alfonso
8c3fc70fa7 Adding Doxygen-style docs for IDE autocompletion in LinkCableMultiboot 2024-08-06 09:49:21 -03:00
Rodrigo Alfonso
c0633cec2c Dropping tonc dependency in LinkCableMultiboot 2024-08-06 09:27:03 -03:00
Rodrigo Alfonso
93dea32481 Adding Doxygen-style docs for IDE autocompletion in LinkSPI 2024-08-06 08:02:01 -03:00
Rodrigo Alfonso
aa1c98bfb0 Dropping tonc dependency in LinkSPI 2024-08-06 06:57:01 -03:00
Rodrigo Alfonso
69fa07409a Version => v7.0.0 2024-08-06 02:51:12 -03:00
Rodrigo Alfonso
80b7d6f294 Using [[nodiscard]] in LinkGPIO 2024-08-06 01:57:50 -03:00
Rodrigo Alfonso
4085482c75 Adding Doxygen-style docs for IDE autocompletion in LinkGPIO 2024-08-06 01:54:38 -03:00
Rodrigo Alfonso
94b7dce26a Dropping tonc dependency in LinkGPIO 2024-08-06 01:46:24 -03:00
Rodrigo Alfonso
d6099fa552 Removing namespace where inside the class 2024-08-06 01:27:33 -03:00
Rodrigo Alfonso
a2f4b52369 Adding Doxygen-style docs for IDE autocompletion in LinkRawCable 2024-08-06 01:08:21 -03:00
Rodrigo Alfonso
c67c324b31 Moving private constants to LinkRawCable 2024-08-06 00:11:45 -03:00
Rodrigo Alfonso
a113eccb1f Dropping tonc dependency in LinkRawCable 2024-08-05 23:50:29 -03:00
Rodrigo Alfonso
b7bcd7848d Adding pinout and parity check to PS/2 implementation 2024-08-05 10:34:44 -03:00
Rodrigo Alfonso
af429fa565 Version => v6.4.0 2024-08-05 10:20:46 -03:00
Rodrigo Alfonso
7c458e7a3a FIX: Preventing sync / async transfer collisions in LinkWireless 2024-08-05 10:20:41 -03:00
Rodrigo Alfonso
366518faaf Improving documentation 2024-08-05 09:55:26 -03:00
Rodrigo Alfonso
6245d8f73e Adding PS/2 documentation 2024-04-21 21:52:39 -03:00
Rodrigo Alfonso
1ed8195154 Adding PS2 libraries 2024-04-21 20:09:54 -03:00
Rodrigo Alfonso
37e01daed0 Updating UART docs 2024-04-21 19:08:53 -03:00
Rodrigo Alfonso
33f0d2ca4e Version => v6.3.0 2024-04-21 18:59:02 -03:00