Commit Graph
506 Commits
Author SHA1 Message Date
Matt Harper 69e1e19bf9 Bugfix - properly free ServerClients 2020-05-09 17:30:54 -05:00
Adam Honse 46f08f7423 Disable SMBus tools again 2020-05-09 15:49:47 -05:00
Adam Honse 352b9928ca Add file headers to network files and some minor code cleanup 2020-05-09 15:48:16 -05:00
Adam Honse 87854d5781 Fix crash when stopping server 2020-05-09 15:48:16 -05:00
Adam Honse 1b3f8f9eb4 Clean up server page 2020-05-09 15:48:16 -05:00
Adam Honse 6438c15dd3 Fix build on Windows 2020-05-09 15:48:16 -05:00
Adam Honse dbe29991f0 Send client string after server is connected 2020-05-09 15:48:15 -05:00
Adam Honse a5e9a3de05 Add mutex on updating callbacks 2020-05-09 15:48:15 -05:00
Adam Honse edf1b251c0 Send and receive client string 2020-05-09 15:48:15 -05:00
Adam Honse 9ff4314840 Add callback to NetworkServer to handle UI updates when client information changes 2020-05-09 15:48:15 -05:00
Adam Honse 3ad0986ae7 Add IP field to client information and display client IP in the server tab's connected client list 2020-05-09 15:48:15 -05:00
Adam Honse 6bfc9dd9db Create a structure to hold client information in the network server and fix i2c hanging on destructor when bus is not available. 2020-05-09 15:48:15 -05:00
Adam Honse 9b8a0d465e Functions to set IP and port and start client 2020-05-09 15:48:15 -05:00
Adam Honse 119741b736 Fix build on Windows 2020-05-09 15:48:15 -05:00
Adam Honse 2fe958783c Use select on accept call as well so that server closes on Linux 2020-05-09 15:48:15 -05:00
Adam Honse 1c59ef6b80 Fix build on Linux 2020-05-09 15:48:15 -05:00
Adam Honse 9e44e4ba4f Add server information to user interface and provide buttons to start and stop server, change port 2020-05-09 15:48:15 -05:00
Adam Honse b8e14ea067 Server info WIP 2020-05-09 15:48:14 -05:00
Adam Honse 525071c205 Use condition variables and mutexes to eliminate sleeps from SMBus threading 2020-05-09 15:48:14 -05:00
Adam Honse bfe03b0564 Handle all SMBus controller activity on a separate thread to avoid corrupting the SMBus data 2020-05-09 15:48:14 -05:00
Adam Honse 04b87ce2eb Use std::thread for NetworkClient threads 2020-05-09 15:48:14 -05:00
Adam Honse 81acc47cd6 Use std::thread for NetworkServer threads 2020-05-09 15:48:14 -05:00
Adam Honse 6e426b1403 Fix thread conflicts for HyperX keyboard in Direct mode 2020-05-09 15:48:14 -05:00
Adam Honse 6509e53a9b Disable I2C devices until threading issues are resolved, don't start a NetworkClient in main 2020-05-09 15:48:14 -05:00
Adam Honse 5b42b3d11d Use TCP_NODELAY on client socket 2020-05-09 15:48:14 -05:00
Adam Honse 8bd515296d Add key matrix map for Corsair K70 keyboards 2020-05-09 15:48:14 -05:00
Adam Honse 2bbf66c0ee Fix memory leaks in client 2020-05-09 15:48:14 -05:00
Adam Honse d716973642 Get network client working on Windows 2020-05-09 15:48:14 -05:00
Adam Honse 25f7a87a79 Get network server working in Windows 2020-05-09 15:48:14 -05:00
Adam Honse 0619a16be2 Add matrix map for HyperX Alloy Elite 2020-05-09 15:48:13 -05:00
Adam Honse 4a3802f344 Add matrix map for Poseidon Z RGB keyboard 2020-05-09 15:48:13 -05:00
Adam Honse 105f5642ef Add matrix map support 2020-05-09 15:48:13 -05:00
Adam Honse 54ab57cea6 Add zone types to HyperX and Poseidon Z RGB keyboard controllers 2020-05-09 15:48:13 -05:00
Adam Honse e3e6c0347e Add a thread to RGBController to asynchronously perform device updates. Only implemented for UpdateLEDs for now 2020-05-09 15:48:13 -05:00
Adam Honse 4d6706ce61 Close server listener thread when read returns zero (client connection lost) 2020-05-09 15:48:13 -05:00
Adam Honse 39c5aff864 Send color data over the network when calling color update functions 2020-05-09 15:48:13 -05:00
Adam Honse 450f438538 Send mode data block when updating mode 2020-05-09 15:48:13 -05:00
Adam Honse 0270c745ce Implement RGBController_Network packet sending for current set of RGBController commands 2020-05-09 15:48:13 -05:00
Adam Honse e2dfcd5b0f Client now requests list of all controllers from server and adds them to the master list 2020-05-09 15:48:13 -05:00
Adam Honse 68fa3c2def Create functions for sending replies 2020-05-09 15:48:13 -05:00
Adam Honse cde7469191 Create functions for sending requests 2020-05-09 15:48:13 -05:00
Adam Honse 7c1a1396ca Client requests controller count and first controller data block from server, prints response 2020-05-09 15:48:13 -05:00
Adam Honse 7f052f21aa Run client from main 2020-05-09 15:48:12 -05:00
Adam Honse dff667751b Start work on network client 2020-05-09 15:48:12 -05:00
Adam Honse 2625807c1a Add RGBController function call packet functionality 2020-05-09 15:48:12 -05:00
Adam Honse 7af283fdbf Implement requests for number of controllers and controller information block 2020-05-09 15:48:12 -05:00
Adam Honse c7ffe3b926 Network server can now receive packets properly 2020-05-09 15:48:12 -05:00
Adam Honse 46339c5f86 More work on network support, need to implement spawning of one read thread for each client socket 2020-05-09 15:48:12 -05:00
Adam Honse cf69598fd1 Start working on server request processing code 2020-05-09 15:48:12 -05:00
Adam Honse 594f66ab23 Initial network files 2020-05-09 15:48:12 -05:00