Commit Graph

331 Commits

Author SHA1 Message Date
Paul Dino Jones e7751b4e16 fix improper detecting of usb haptic device 2025-02-01 17:01:50 -05:00
Paul Dino Jones 7a5ca94209 Refactor serial devices so a single open handle is shared throughout 2025-01-25 09:52:38 -05:00
Paul Dino Jones 8bf98fae1e moved some confusing code 2025-01-25 09:51:20 -05:00
Paul Dino Jones 0e47f53f88 improve process of closing sound devices 2025-01-25 09:50:11 -05:00
Paul Dino Jones 414b9708f4 pulling in latest simapi for improvements to pcars2 2025-01-21 17:23:28 -05:00
Paul Dino Jones fc95f044bf Adding max frequency and modulation to sound devices 2025-01-21 17:23:10 -05:00
Paul Dino Jones 10c5d2c597 Fix bug causing no tyre effects 2025-01-20 12:13:49 -05:00
Paul Dino Jones f2ba345cab Update to latest simapi, allow sim strings in configs 2025-01-20 10:53:57 -05:00
Paul Dino Jones d97118e19b updated to latest simapi 2025-01-19 15:16:30 -05:00
Paul Dino Jones d927726f77 Updated to latest simapi for AC EVO support 2025-01-19 09:57:57 -05:00
Paul Dino Jones 3b0d75423f Removed calls to abort 2025-01-18 19:01:52 -05:00
Paul Dino Jones 0c5a953787 moved to latest simapi 2025-01-18 13:36:03 -05:00
Paul Dino Jones 6d24c5e7f2 Add numlights setting 2025-01-18 13:20:56 -05:00
Paul Dino Jones d3618c758d fix revburner typo 2025-01-18 12:26:23 -05:00
Paul Dino Jones 052ee12178 Initially adding support for SIMAGIC P1000 Pedals 2025-01-18 03:30:11 -05:00
Paul Dino Jones 6d0b027171 lock pulseaudio mainloop while freeing sound devices 2025-01-17 19:41:12 -05:00
Paul Dino Jones 6f14b09f1a use more standard channel map 2025-01-17 18:22:51 -05:00
Paul Dino Jones 83e92391f4 added global refresh rate -f 2025-01-17 10:29:27 -05:00
Paul Dino Jones 0a498f0c64 move logging around to make output a little cleaner 2025-01-16 22:22:49 -05:00
Paul Dino Jones 13d7a03acb remove old commented code 2025-01-16 22:10:44 -05:00
Paul Dino Jones 4df9787c21 I knew there was a reason it was commented out. It makes valgrind happy but causes the program to segfault on exit. 2025-01-16 17:00:15 -05:00
Paul Dino Jones 7f371ebf15 fix more malloc complaints 2025-01-16 16:57:34 -05:00
Paul Dino Jones 6145efd2a9 fix bad memory management around device threading model 2025-01-16 16:45:37 -05:00
Paul Dino Jones 0ad78b4ef1 sound devices stay on main thread 2025-01-16 01:08:00 -05:00
Paul Dino Jones 44dcc703e3 fix some effects in test loop 2025-01-15 23:43:25 -05:00
Paul Dino Jones 327cd0eaad add sim entry to diameters file 2025-01-15 23:42:57 -05:00
Paul Dino Jones a30247eb6f add logging for haptic effects, fix consistency of test sequence 2025-01-15 18:16:07 -05:00
Paul Dino Jones eabfef6efe fix bug in tyre effects and its test 2025-01-15 14:11:42 -05:00
Paul Dino Jones 5d67611b98 fixed return of checkbyte for moza 2025-01-15 12:24:08 -05:00
Paul Dino Jones 8dfc4c0435 fix floating point issue on moza 2025-01-14 20:23:43 -05:00
Paul Dino Jones f2a5872520 temporarily add another step with rpms at 7000 to assist in debugging some wheels 2025-01-14 20:23:11 -05:00
Paul Dino Jones 5b003b606d updated to latest simapi 2025-01-14 18:25:42 -05:00
Paul Dino Jones f64fde023a fix issues with serial wheel 2025-01-14 18:09:35 -05:00
Paul Dino Jones 2f32501bf8 Improve config handling 2025-01-14 17:40:07 -05:00
Paul Dino Jones 30cb1def72 removed unused jansson header 2025-01-13 19:17:42 -05:00
Paul Dino Jones def2bfbb89 Add support for per device fps settings. 2025-01-13 15:16:57 -05:00
Paul Dino Jones 79b3aba157 Use STARTLED default of 1 2025-01-02 16:21:15 -05:00
Paul Dino Jones b90dfdfc31 Add start led 2025-01-02 15:54:46 -05:00
Paul Dino Jones a2ff24afd7 add code to smooth out frequencies between audio frames 2024-12-04 11:20:21 -05:00
Paul Dino Jones c8e40e9b80 persist phase to stop disjointed sine waves 2024-12-03 20:47:57 -05:00
Paul Dino Jones c1375ae0c9 improve stability of config file loading when multiple configs are in use 2024-11-22 16:21:30 -05:00
Paul Dino Jones 7caca1d362 fix issues with simapi mapping correctly when using simd 2024-11-22 16:21:08 -05:00
Paul Dino Jones b8ac911d44 Use more generic sysfs path to find csl elite v3 pedals 2024-11-19 11:57:58 -05:00
Paul Dino Jones 2b6812b3a9 Use latest simapi to improve tyre slip effects 2024-11-19 11:55:55 -05:00
Paul Dino Jones 12509e9709 Added ampfactor to serial haptic log message 2024-10-10 15:00:39 -04:00
Paul Dino Jones d507749f39 upgraed to latest simapi 2024-10-06 00:49:08 -04:00
Paul Dino Jones ec8bbbbd0d upgraded to new simapi 2024-10-05 17:10:00 -04:00
Paul Dino Jones f4a4c635e1 Updated to latest simapi 2024-10-05 08:32:01 -04:00
Paul Dino Jones 144a670dbb Updated to latest simapi 2024-10-05 08:28:26 -04:00
Paul Dino Jones 2a897d930a UDP support and upgrade to latest simapi for udp and logging support 2024-10-01 12:46:41 -04:00
Paul Dino Jones 558b298a78 Fix issue not setting correct baud rate through to libserialport 2024-09-30 22:21:35 -04:00
Paul Dino Jones 32a15eff50 set simhaptic baud to 9600 2024-09-30 20:34:29 -04:00
Paul Dino Jones ec6cb073ee Fixed overlook device settings in config processing 2024-09-19 21:22:00 -04:00
Paul Dino Jones 128d02e71a Fix a couple things i missed in the merge 2024-09-19 18:59:46 -04:00
Paul Dino Jones c0755aef54 Reorganization and config updates for Moza wheel 2024-09-19 18:54:16 -04:00
Paul Dino Jones 525dd68b4b Add ability to specify baud rate in config file 2024-09-19 18:54:12 -04:00
Lawstorant f76fe53a3b Initial work 2024-09-19 18:53:04 -04:00
Paul Jones 545168c3ab
Serial8 (#11)
* Using 8 bits per int for serial devices

* Refactor simwind code slightly to improve performance
2024-09-19 17:05:42 -04:00
Paul Dino Jones 2446fc9af2 Moved baud rate to serial device struct and fixed log message 2024-09-17 10:17:40 -04:00
Paul Dino Jones e1b71850bb Fix velocity bytes on cammus c12 hid message 2024-09-16 16:48:17 -04:00
Paul Dino Jones a81004418d Support for cammus c12 2024-09-16 16:14:18 -04:00
Paul Dino Jones 910e225a9a Add some robustness to diameters file and slip effect code 2024-09-16 14:08:58 -04:00
Paul Dino Jones 695581b66d Fix issue with test not having a car set 2024-09-15 12:24:23 -04:00
Paul Dino Jones 88e762b718 Added more checks to make sure sims do not try to set tyre diameters without a car set 2024-09-08 18:49:01 -04:00
Paul Dino Jones 55dfa4b086 Do not compare car if it is null 2024-09-08 18:44:21 -04:00
Paul Dino Jones d1629dfcbd Added more robustness to config lookup 2024-09-06 14:50:00 -04:00
Paul Dino Jones 9e09a2792a Added more logging to config load 2024-09-06 14:30:12 -04:00
Paul Dino Jones 9f45697564 Put default configs closer to the bottom 2024-09-04 16:22:36 -04:00
Paul Dino Jones 1ffbd84721 Fix some issues with config loading 2024-09-04 16:15:34 -04:00
Paul Dino Jones f474027f0a Add ability to specify baud rate in config file 2024-09-04 12:56:02 -04:00
Paul Dino Jones 2fb0383091 Update loop to 60fps. Update some arduino devices to 115200. Refactor shiftlights code for performance. 2024-09-04 12:16:21 -04:00
Paul Dino Jones 8b63346071 Update CMake so project build 2024-09-02 13:24:34 -04:00
Paul Dino Jones 5cd82e35eb Updated to latest simapi 2024-09-02 13:20:28 -04:00
Paul Dino Jones 07e1a840be Update to latest simapi 2024-09-02 12:40:40 -04:00
Paul Dino Jones b5eee247b3 Updated to latest simapi 2024-09-02 12:09:18 -04:00
Paul Dino Jones 08209a96bd Initialize some data so tyre diameter detection works, and motors spin down. 2024-09-02 11:15:19 -04:00
Paul Dino Jones fd1264611c Set gameloop to 8fps for now to avoid issues 2024-09-02 11:13:19 -04:00
Paul Dino Jones df0ad1f5c9 Improving loop management to prevent double freeing. Fixing other memory issues 2024-09-02 10:43:36 -04:00
Paul Dino Jones 07d797f24c making log statement more accurate 2024-08-31 16:14:33 -04:00
Paul Dino Jones 572a21b3d6 Move some things around and add another indicator to prevent double frees 2024-08-31 16:02:34 -04:00
Paul Dino Jones d1f252d4e0 Fix log statement so it actual outputs the amount of slip 2024-08-31 16:02:04 -04:00
Paul Dino Jones 40726c06c8 Major overhault to add libuv event loop. Enhancements to config file to support profiles. 2024-08-30 13:46:56 -04:00
Paul Dino Jones 607a7ad7c3 update to latest simapi 2024-08-12 23:50:18 -04:00
Paul Dino Jones 3032433f7d Update to latest simapi to fix gear in truck sims 2024-08-11 23:48:00 -04:00
Paul Dino Jones 9e21c3bc43 Add SCS Truck Sim support 2024-08-11 23:28:29 -04:00
Paul Dino Jones 2e538b0855 Refactored wheel diameters config logic 2024-08-08 21:19:52 -04:00
Paul Dino Jones 6c66c8880e Set useconfig before initializing devices 2024-08-08 15:02:55 -04:00
Paul Dino Jones 27cb95c86d Fixing issue with diameters file. Disabling diameters config checking during monocoque test. Additonal logging 2024-08-08 00:28:54 -04:00
Paul Dino Jones a9012a07fb setting uninitialized values on sound devices 2024-08-08 00:28:03 -04:00
Paul Dino Jones 366b8cb5b1 No longer abort on one failed write to a serial device. Log error instead. 2024-08-06 16:45:29 -04:00
Paul Dino Jones 2086108de6 Add Reverse for Cammus C5 2024-08-06 10:06:49 -04:00
Paul Dino Jones fda4c0dbcd Update gameloop so it sets gear to neutral on shutdown. Add enum for gears. 2024-08-06 10:06:24 -04:00
Paul Dino Jones aff76a3dd9 Fix issue with bad data being send to cammus wheel on quit 2024-08-05 17:08:23 -04:00
Paul Dino Jones 3bcf2ee87e Fix include paths 2024-08-05 17:07:04 -04:00
Paul Dino Jones 316ff0c273 Add more logging for cammus 2024-08-05 16:43:47 -04:00
Paul Dino Jones bf8dddd89f clear bytes on each update 2024-08-05 16:31:58 -04:00
Paul Dino Jones b4ebcc078b Fix gear 2024-08-05 16:18:51 -04:00
Paul Dino Jones 45b336ecbc Using correct pid for cammus 2024-08-05 16:11:29 -04:00
Paul Dino Jones db1caa2b8d Small fixes for speed and gear 2024-08-05 16:10:15 -04:00
Paul Dino Jones 492484ac7c rpm margin must return as an integer 2024-08-05 14:49:32 -04:00
Paul Dino Jones fdad56db31 Initial attempt at adding support CammusC5 wheel with underlying code for future wheels. 2024-08-05 13:42:17 -04:00
Paul Dino Jones 47cf4b3fa9 Reverse regression in previous commit 2024-08-04 17:07:09 -04:00
Paul Dino Jones 6b9c688bcc Refactor motor haptic effect slightly. Add logging. 2024-08-04 14:58:01 -04:00
Paul Dino Jones 14da8d22e7 Pull in and use latest simapi 2024-07-28 19:02:40 -04:00
Paul Dino Jones 40d4c19a26 Start sound devices with frequency set to 0 to avoid loud start ups 2024-07-28 11:18:41 -04:00
Paul Dino Jones 53cdcc592f Fix small buffer overflow on the diameters file string 2024-07-28 11:00:26 -04:00
Paul Dino Jones 80a2afb675 Update to latest simapi to fix issues with file descriptors 2024-07-28 02:23:45 -04:00
Paul Dino Jones a07bb24730 Add more logging for mem freeing 2024-07-28 02:08:18 -04:00
Paul Dino Jones 6989881b00 update to latest simapi to bypass wrong behavior 2024-07-28 02:06:44 -04:00
Paul Dino Jones e15f7e0865 Added extra logging. Added code to free mapped memory and file descriptors 2024-07-27 20:32:09 -04:00
Paul Dino Jones bc6b4825e9 Fix issue with tyre effects on sound devices 2024-07-27 20:09:24 -04:00
Paul Dino Jones 73d739fb20 update to latest simapi 2024-07-27 19:51:17 -04:00
Paul Dino Jones 3ab4e69d64 More support for beyond stereo 2024-07-22 21:45:57 -04:00
Paul Dino Jones d581e3eeab Better handle volume math 2024-07-20 20:15:16 -04:00
Paul Dino Jones 30a3c3a73f Add ability to use sound cards with more than 2 channels. 2024-07-20 16:31:17 -04:00
Paul Dino Jones dd20fe3eb4 Updated slog dependency 2024-07-17 17:30:00 -04:00
Paul Dino Jones 6b122c45f3 Added log statement for ampfactor 2024-07-13 14:46:36 -04:00
Paul Dino Jones 45db6670c9 Add ampfactor to control final motor power 2024-07-13 14:21:35 -04:00
Paul Dino Jones e8e8b2495d Add abs brake test 2024-07-13 12:48:05 -04:00
Paul Dino Jones f1ddbf2fc0 Cleanup and fix issue that could cause abs to not work. 2024-07-13 11:36:21 -04:00
Paul Dino Jones 4f8870427f Set the fallback threshold for tyre slip effects to zero 2024-07-13 09:40:27 -04:00
Paul Dino Jones f3e7674aa7 Update so multiple defined serial haptic effects do not conflict with eachother. 2024-07-13 09:38:00 -04:00
Paul Dino Jones 42d63ffe89 Fix issues with data not being correctly sent to motors for sim haptic. 2024-07-12 20:42:55 -04:00
Paul Dino Jones 03b96e84b0 Fix dumb issues with haptic arduino code. Add tyre slip vibrations to test script. 2024-07-09 17:14:40 -04:00
Paul Dino Jones f413e749b9 Add sim haptic arduino logic and config variables 2024-07-09 15:46:51 -04:00
Paul Dino Jones 1bde76e3c7 Move haptic effect data into it's own structure. 2024-07-03 19:18:39 +00:00
Paul Dino Jones ea100ca2cf Add haptic effect to serial haptic device type 2024-07-01 22:45:54 +00:00
Paul Dino Jones 1ebffa9f63 Add basic support for arduino haptic motors 2024-07-01 15:23:46 +00:00
Paul Dino Jones 62e619780f Improve handling of devices referenced in config but not actually able to be used for some reason 2024-06-27 20:20:13 +00:00
Paul Dino Jones 8f4729c77a Refactor diameter save file into libconfig to save a dependency. 2024-06-11 16:42:29 -04:00
Paul Dino Jones 674d23a5e9 Send string around for diameters file 2024-06-11 14:41:30 +00:00
Paul Dino Jones ccd7fa8bd0 Fix some issues with pulseaudio not stopping properly. 2024-06-11 14:29:09 +00:00
Paul Dino Jones 4ad6a1339c Add support for save file for tyre diameters 2024-06-10 00:46:11 +00:00
Paul Dino Jones a26b090935 Update to latest simapi 2024-06-10 00:45:21 +00:00
Paul Dino Jones db5de27fa7 Initialize tyre diameters 2024-06-10 00:44:51 +00:00
Paul Dino Jones e211b35c9d Remove need to specify values for usb pedal rumble effects. 2024-06-07 17:40:53 +00:00
Paul Dino Jones 8cbc21b1a0 Add attempt at ABS effect. Small refactorings 2024-06-07 04:21:08 +00:00
Paul Dino Jones 4530627fc2 Use correct sysfs path for csl elite v3 pedals 2024-06-07 03:02:53 +00:00
Paul Dino Jones 77a9368307 Refactor implementation of CSL Elite V3 Pedals 2024-06-06 21:42:08 +00:00
Paul Dino Jones b99773a7ee Refactor tyre effects to take threshold input from config file. Spell threshold correctly. 2024-06-05 04:21:39 +00:00
Paul Dino Jones 980860eb60 Refactor effects into separate module 2024-06-05 03:43:48 +00:00
Paul Dino Jones 1bfe8c94ac Refactored tyre slip calculations 2024-06-03 18:42:16 -04:00
Paul Dino Jones 01277823ba Update to latest simapi to support new tyre slip calculations. 2024-06-03 18:40:50 -04:00
Paul Dino Jones 95a7b40184 Cleanup tyre locking implementation 2024-06-01 18:07:37 +00:00
Paul Dino Jones 557269c9f5 Implement tyre locking. Cleanup test gameloop 2024-05-30 20:39:47 +00:00
Paul Dino Jones ac215bfed3 Update to latest submodule 2024-05-30 18:27:41 +00:00
Paul Dino Jones 5bd816bdb1 Fix tachometer config error handling 2024-05-30 18:25:47 +00:00
Paul Dino Jones 54dde79ad8 Fix wheel slip calculations 2024-05-30 18:03:26 +00:00
Paul Dino Jones b01e0f461c Fix compilation error on portaudio codepath 2024-05-30 17:25:07 +00:00
Paul Dino Jones 580e6752ce Add usbhaptic support 2024-05-30 17:07:44 +00:00
Paul Dino Jones f5aac7d4b4 Add wheelslip and abs to test loop 2024-05-28 16:12:48 +00:00
Paul Dino Jones 5b4a77e510 Updated to latest simapi 2024-03-09 13:39:12 -05:00
Paul Dino Jones d7eb07e682 Updated to latest simapi 2024-03-09 13:36:18 -05:00
Paul Dino Jones b70475039f Fix wrong data type for velocity 2024-03-05 17:23:29 -05:00
Paul Dino Jones a621aa04d9 Fix compilation issue for wheel slip 2024-03-05 00:36:34 -05:00
Paul Dino Jones 04b368321f Fix compilation issues for arduino devices 2024-03-05 00:34:29 -05:00
Paul Dino Jones f1ad4f5f91 Refactored serial arduino devices. Created custom structs for sending data to arduino devices. 2024-03-05 04:51:49 +00:00
Paul Dino Jones 150c53c14b Added preliminary support for tyre slip and abs vibrations 2024-02-29 19:19:57 +00:00
Paul Dino Jones 47a091d9b4 Fixed simapi version 2024-02-28 14:10:13 -05:00
Paul Dino Jones 29ffafc4e9 Add makefiles for arduino and related documentation 2024-02-27 17:36:02 -05:00
Paul Dino Jones e71480ff4a Fixed signal handleing 2024-02-26 22:05:41 +00:00
Paul Dino Jones 635796c543 Add more user variables in arduino code 2024-02-17 18:50:57 +00:00
Paul Dino Jones 85ba9fcd56 Updated to latest simapi for wheel slip and abs 2024-02-16 16:16:26 +00:00
Paul Dino Jones ddb493fdc4 Slight refactor of detecting running sim 2024-01-02 19:25:11 +00:00
Paul Dino Jones 5e443a562a Fix latency on pulseaudio backend 2023-11-14 15:31:44 +00:00
Paul Dino Jones 34f6f1eb79 Fix possible causes of leaks and segfaults 2023-11-12 13:27:17 -05:00
Paul Dino Jones 14a26fb165 Adding pulseaudio backend 2023-11-11 18:19:39 +00:00
Paul Dino Jones fbf71ce528 Improve game detection in gameloop 2023-10-12 05:26:55 +00:00
Paul Dino Jones c688cac20d Update to latest simapi to fix compilation issue 2023-10-11 15:57:55 +00:00
Paul Dino Jones 88041b2a95 Updated to latest simapi for ACC Support and more RFactor2 support 2023-10-07 19:38:03 +00:00
Paul Dino Jones 836fe4a3f5 Updating to latest simapi for RFactor2 fixes. 2023-10-01 15:03:19 +00:00
Paul Dino Jones 4a566d8996 Updating to latest simapi to support RFactor2 detection. 2023-09-29 21:26:03 +00:00
Paul Dino Jones f4f0410686 Updating to latest simapi. Updating arduino sketches. Creating simlinks to simdata accordingly. 2023-07-17 03:42:34 +00:00
Paul Dino Jones 3692d31343 Use new simapi to get sim automatically. Use light version of simapi 2023-07-14 22:11:01 +00:00
Paul Dino Jones 257e6d7f8a Updated to simapi fix for simstatus 2023-07-14 20:36:27 +00:00
Paul Dino Jones f871fb51a8 Updated to new release of simapi 2023-07-14 20:18:24 +00:00
Paul Dino Jones a6eaca66ad Major refactor. Adding sim wind 2023-05-17 15:56:57 +00:00
Paul Dino Jones 4fb23a1b30 Removed memcpy calls for better performance 2022-12-19 15:01:55 -05:00
Paul Dino Jones 1d3a5f26a6 Initial RFactor support 2022-12-01 21:36:55 +00:00
Paul Dino Jones cc3ca995e3 Display zeros and cleanup gameloop output 2022-12-01 21:25:26 +00:00
Paul Dino Jones 9325e207be monocoque initial commit 2022-10-31 15:11:02 +00:00