Skip to content

Commit

Permalink
README update, config updates, bug fixes and more
Browse files Browse the repository at this point in the history
- Update roadmap

- Convert the two template configs for MSI laptops to generic (but fully working) configs

- Fix potential crashes resulting from cross-thread shennanigans

- Fix off-by-one in EC-to-config service function

- Remove leftovers from old template config stuff (this will be re-implemented in the new "Get default fan profile from EC" button)

- Probably more that I forgot in the week or two some of these changes have been sitting here for
  • Loading branch information
Sparronator9999 committed Nov 30, 2024
1 parent 85c75b1 commit dfb8b5b
Show file tree
Hide file tree
Showing 9 changed files with 379 additions and 242 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<YAMDCC_Config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Ver="1">
<Model>MSI laptop (10th-gen Intel or newer) template config.
<Model>MSI laptop (10th-gen Intel or newer) config.
ONLY use with 10th-gen or newer Intel MSI laptops!
</Model>
<Author>Sparronator9999</Author>
<Template>true</Template>
<FanConfs>
<FanConf>
<Name>CPU Fan</Name>
Expand Down Expand Up @@ -46,7 +45,49 @@ ONLY use with 10th-gen or newer Intel MSI laptops!
<unsignedByte>119</unsignedByte>
<unsignedByte>120</unsignedByte>
</FanCurveRegs>
<FanCurveConfs/>
<FanCurveConfs>
<FanCurveConf>
<Name>Default</Name>
<Desc>Generic CPU fan curve for MSI laptops.</Desc>
<TempThresholds>
<TempThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>0</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>50</UpThreshold>
<DownThreshold>47</DownThreshold>
<FanSpeed>40</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>57</UpThreshold>
<DownThreshold>54</DownThreshold>
<FanSpeed>48</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>64</UpThreshold>
<DownThreshold>61</DownThreshold>
<FanSpeed>56</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>71</UpThreshold>
<DownThreshold>68</DownThreshold>
<FanSpeed>64</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>78</UpThreshold>
<DownThreshold>75</DownThreshold>
<FanSpeed>72</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>85</UpThreshold>
<DownThreshold>82</DownThreshold>
<FanSpeed>80</FanSpeed>
</TempThreshold>
</TempThresholds>
</FanCurveConf>
</FanCurveConfs>
</FanConf>
<FanConf>
<Name>GPU Fan</Name>
Expand Down Expand Up @@ -88,7 +129,49 @@ ONLY use with 10th-gen or newer Intel MSI laptops!
<unsignedByte>143</unsignedByte>
<unsignedByte>144</unsignedByte>
</FanCurveRegs>
<FanCurveConfs/>
<FanCurveConfs>
<FanCurveConf>
<Name>Default</Name>
<Desc>Generic GPU fan curve for MSI laptops.</Desc>
<TempThresholds>
<TempThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>0</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>50</UpThreshold>
<DownThreshold>47</DownThreshold>
<FanSpeed>40</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>57</UpThreshold>
<DownThreshold>54</DownThreshold>
<FanSpeed>48</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>64</UpThreshold>
<DownThreshold>61</DownThreshold>
<FanSpeed>56</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>71</UpThreshold>
<DownThreshold>68</DownThreshold>
<FanSpeed>64</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>78</UpThreshold>
<DownThreshold>75</DownThreshold>
<FanSpeed>72</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>85</UpThreshold>
<DownThreshold>82</DownThreshold>
<FanSpeed>80</FanSpeed>
</TempThreshold>
</TempThresholds>
</FanCurveConf>
</FanCurveConfs>
</FanConf>
</FanConfs>
<FullBlastConf>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<YAMDCC_Config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Ver="1">
<Model>MSI laptop (9th-gen Intel or earlier) template config
<Model>MSI laptop (9th-gen Intel or earlier) config.
ONLY use with 9th-gen or older Intel MSI laptops!
</Model>
<Author>Sparronator9999</Author>
<Template>true</Template>
<FanConfs>
<FanConf>
<Name>CPU Fan</Name>
Expand Down Expand Up @@ -46,7 +45,49 @@ ONLY use with 9th-gen or older Intel MSI laptops!
<unsignedByte>119</unsignedByte>
<unsignedByte>120</unsignedByte>
</FanCurveRegs>
<FanCurveConfs/>
<FanCurveConfs>
<FanCurveConf>
<Name>Default</Name>
<Desc>Generic CPU fan curve for MSI laptops.</Desc>
<TempThresholds>
<TempThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>0</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>50</UpThreshold>
<DownThreshold>47</DownThreshold>
<FanSpeed>40</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>57</UpThreshold>
<DownThreshold>54</DownThreshold>
<FanSpeed>48</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>64</UpThreshold>
<DownThreshold>61</DownThreshold>
<FanSpeed>56</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>71</UpThreshold>
<DownThreshold>68</DownThreshold>
<FanSpeed>64</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>78</UpThreshold>
<DownThreshold>75</DownThreshold>
<FanSpeed>72</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>85</UpThreshold>
<DownThreshold>82</DownThreshold>
<FanSpeed>80</FanSpeed>
</TempThreshold>
</TempThresholds>
</FanCurveConf>
</FanCurveConfs>
</FanConf>
<FanConf>
<Name>GPU Fan</Name>
Expand Down Expand Up @@ -88,7 +129,49 @@ ONLY use with 9th-gen or older Intel MSI laptops!
<unsignedByte>143</unsignedByte>
<unsignedByte>144</unsignedByte>
</FanCurveRegs>
<FanCurveConfs/>
<FanCurveConfs>
<FanCurveConf>
<Name>Default</Name>
<Desc>Generic GPU fan curve for MSI laptops.</Desc>
<TempThresholds>
<TempThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>0</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>50</UpThreshold>
<DownThreshold>47</DownThreshold>
<FanSpeed>40</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>57</UpThreshold>
<DownThreshold>54</DownThreshold>
<FanSpeed>48</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>64</UpThreshold>
<DownThreshold>61</DownThreshold>
<FanSpeed>56</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>71</UpThreshold>
<DownThreshold>68</DownThreshold>
<FanSpeed>64</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>78</UpThreshold>
<DownThreshold>75</DownThreshold>
<FanSpeed>72</FanSpeed>
</TempThreshold>
<TempThreshold>
<UpThreshold>85</UpThreshold>
<DownThreshold>82</DownThreshold>
<FanSpeed>80</FanSpeed>
</TempThreshold>
</TempThresholds>
</FanCurveConf>
</FanCurveConfs>
</FanConf>
</FanConfs>
<FullBlastConf>
Expand Down
2 changes: 1 addition & 1 deletion Configs/MSI-GF63-Thin-11SC.xml
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@
</FanCurveConf>
<FanCurveConf>
<Name>Custom</Name>
<Desc>Cooler and quieter CPU fan curve.</Desc>
<Desc>The custom GPU fan curve that Sparronator9999 uses on his computer.</Desc>
<TempThresholds>
<TempThreshold>
<UpThreshold>0</UpThreshold>
Expand Down
27 changes: 15 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,29 +92,32 @@ The following laptops have been tested by the community and are confirmed to be

Below are some changes I would like to make before a 1.0 release of YAMDCC:

- [ ] Config generation for MSI laptops *(implemented in service, UI in progress)*
- This would only work because many MSI laptops have almost identical EC register locations
for all the relevent settings we change
- The only thing we need to do is get the default fan curve from the user's laptop, and add
it to the default fan profile.
- [ ] Config generation for MSI laptops
- *Almost* working, just need to finish the UI.
- Use the generic configs for MSI laptops while you wait.
<!-- - Finally working! BUT, it is still in an early testing stage.
- The language used in the UI could be a little more user-friendly.
- Please report bugs to the [issue tracker](https://github.com/Sparronator9999/YAMDCC/issues/new).-->
- [ ] Revamp IPC between service and config applications *(started)*
- Currently, there is no "acknowledgement" system for commands sent to the service,
even for commands that expect data to be returned. This means no errors if the service
crashes before fulfilling a received command.
- [ ] Add command timeout to GUI to make it more obvious when a service command fails
- [ ] Implement `Success` and `Fail` responses for the rest of the service commands
- [ ] Other things I didn't remember while writing this.
- [ ] Fix any remaining bugs before the 1.0 release.
- I will start releasing betas once the above points are complete.

Below are some planned features for potential future releases:

- [ ] Keyboard shortcut support (requested by @grimy400)
- This would involve some refactoring to the config GUI, or a separate background program that listens to
keyboard shortcuts (Windows services, or at least those running as Local System, can't "see" keyboard input).
- [ ] CLI support
- Development of a CLI application for YAMDCC has started, but isn't publicly available yet
- It hasn't been updated for quite a while (to the point where it still has the
project's original name) and is missing a *lot* of features.
- It hasn't been updated for quite a while (it still has the project's original name),
and is missing a *lot* of features.
- [ ] Support for editing laptop config registers using the GUI/CLI
- This would allow for creating configs for other laptop brands from the config UI
- Currently, the only way to do this is to edit the XML directly
- [ ] Plugin system for additional optional features
- Currently, the only way to do this is to edit the XML directly or use the config generator.
- [ ] Plugin system for additional optional features *(needs research)*
- [ ] .NET support
- Mandatory for Linux support
- The GUI *should* compile on .NET 8 (and in fact *has* been compiled on .NET 8 before).
Expand Down
7 changes: 0 additions & 7 deletions YAMDCC.Config/YAMDCC_Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,6 @@ public sealed class YAMDCC_Config
[XmlElement]
public string Author { get; set; }

/// <summary>
/// Is this config a "template" config that is used
/// when generating other (non-template) configs?
/// </summary>
[XmlElement]
public bool Template { get; set; }

/// <summary>
/// The list of <see cref="FanConf"/>s associated with the laptop.
/// </summary>
Expand Down
Loading

0 comments on commit dfb8b5b

Please sign in to comment.