-
Notifications
You must be signed in to change notification settings - Fork 298
Auto-Tuning Capabilities #1152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
KillerInk
wants to merge
108
commits into
bitaxeorg:master
Choose a base branch
from
KillerInk:master_autoclock
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Auto-Tuning Capabilities #1152
Changes from 4 commits
Commits
Show all changes
108 commits
Select commit
Hold shift + click to select a range
9517f07
add auto tune
KillerInk aca0d95
Merge branch 'master' into master_autoclock
KillerInk ae3fc1e
add corevoltage and frequency to chart and statistics_task
KillerInk 0bb3c8b
Merge remote-tracking branch 'killerink/master_autoclock' into master…
KillerInk 3d2a3af
requested changes
KillerInk cbddaa9
add overshot values for power and fan to adjust critical limits
KillerInk bfa5d98
beautify autotune settings and add tooltip
KillerInk 4fca33d
add vf ratios limits
KillerInk 2f4825f
load vf ratio from nvs
KillerInk 8ac323f
fix double loading and saving
KillerInk e540b4e
Merge branch 'master' into master_autoclock
KillerInk 6d563af
auto_tune setting style match now overall style. move it out of setti…
KillerInk 3c0b64b
Merge branch 'master_autoclock' of https://github.com/KillerInk/ESP-M…
KillerInk 906d929
disable autotune on clean start. try to get the autotune checkbox wor…
KillerInk b109fca
fix settings
KillerInk d3d0760
Merge branch 'master' into master_autoclock
KillerInk dd8ff3e
fix settings
KillerInk 64bfde7
fix chart tooltip showed h/s on all datasets. fix that applied voltag…
KillerInk f5ffac1
Merge branch 'master_autoclock' of https://github.com/KillerInk/ESP-M…
KillerInk 98f8c80
always update avghashrate and last hashrate also if not tuning
KillerInk ccfcdf9
extend tooltip descriptions.
KillerInk a755df7
clean up and make things easier. bring back hashrate_decreased to swi…
KillerInk 89cf2a4
remove switch and decrease_values
KillerInk ec86fe9
replace input with slider
KillerInk 737bacf
Fix component layout
b48b6a2
Merge pull request #1 from duckAxe/feature/pr/autotune
KillerInk 6d63f52
add vr temp limit
KillerInk a3143bb
Merge remote-tracking branch 'killerink/master_autoclock' into master…
KillerInk 5af830b
add max vr temp to settings
KillerInk 799860f
track hashrate
KillerInk a0951ea
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 54a23e5
update hashrate history always
KillerInk d71018d
Merge remote-tracking branch 'origin/master' into master_autoclock
KillerInk 486b5f2
fix build
KillerInk 08fd1b1
optimize descriptions, add defaults to description
KillerInk 1508498
Merge remote-tracking branch 'origin/master' into master_autoclock
KillerInk 62321ca
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 7f5dfdd
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk a8d7e52
Merge branch 'master' into master_autoclock
KillerInk afaabca
Merge branch 'master' into master_autoclock
KillerInk 90becea
switch to double precision for frequency and core_voltage
KillerInk 8e44ebc
trim to two decimals
KillerInk 1cbe629
Merge branch 'master' into master_autoclock
KillerInk 8393f1d
Merge branch 'master' into master_autoclock
KillerInk 1860be0
no need to send status ok
KillerInk 27d24dc
indent
KillerInk 13178ab
rename
KillerInk 08c4eb8
if pid active set minimum for temperature limit to pid target temp +1
KillerInk 3852860
use ISystemInfo instead of any
KillerInk 56cc93e
add api endpoints to readme
KillerInk 72c7cac
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 1e308f5
Merge branch 'master' into master_autoclock
KillerInk 12d86bd
Merge branch 'master' into master_autoclock
KillerInk 1eaa8b9
Merge branch 'master' into master_autoclock
KillerInk 20557ec
send empty status...^^
KillerInk 44d179a
remove not used pid_control_fanspeed
KillerInk 4b995e5
autotune.component: limit min fanspeed to pid min+1 in
KillerInk cb52a96
use minFanSpeed
KillerInk 6548816
set same max as pid target temp
KillerInk eabf7f1
fix merge
KillerInk 257e246
fix frequency stats
KillerInk 35d0f8f
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 1873664
Merge branch 'master' into master_autoclock
KillerInk eaa839e
fix stats frequency. maybe interval would be better^^
KillerInk 3870a49
Merge remote-tracking branch 'killerink/master_autoclock' into master…
KillerInk 13c6c77
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk fe66e8b
back to floats
KillerInk 1236020
Merge branch 'master' into master_autoclock
KillerInk 9065d16
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk ebc6350
fix merge
KillerInk 12b6905
limit floats diff
KillerInk 0e928cd
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 83a176b
fix things
KillerInk 337d6ea
fix more^^
KillerInk 77b32b5
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 7663066
Merge branch 'master' into master_autoclock
KillerInk d2dd049
Merge branch 'master' into master_autoclock
KillerInk 6591b47
float hashrate
KillerInk 4e7f936
add chip_temp2_avg to autotune
KillerInk 80bf160
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 30bce36
Merge remote-tracking branch 'killerink/master_autoclock' into master…
KillerInk 8353fab
code align
KillerInk 1bcb02e
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk e8512e9
Merge branch 'master' into master_autoclock
KillerInk a7e69b0
Merge branch 'master' into master_autoclock
KillerInk 9bcb9e4
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk ce00cd7
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk 42fcbcd
use power limit from info.maxpower, use max voltage from asic.default…
KillerInk dbaa819
change voltage precisions to 2
KillerInk 5f65ca8
floating frequency
KillerInk 36be93a
workaround hashrate drop 0 on frequency change
KillerInk b978fba
return on frequency change and ignore register for this round
KillerInk 36047b0
Revert "return on frequency change and ignore register for this round"
KillerInk a4cab83
Revert "workaround hashrate drop 0 on frequency change"
KillerInk 767fd58
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk a40e542
drop vr min max limits
KillerInk 830dae5
use device specific max values for frequency and voltage
KillerInk a55d0eb
Merge branch 'master' into master_autoclock
KillerInk b2f5bb3
Merge branch 'master' into master_autoclock
KillerInk 97ee116
increase voltage precision to 3
KillerInk 0a0c195
poll every 1000ms
KillerInk 3c27720
tune against error
KillerInk 638c63e
Merge remote-tracking branch 'killerink/master_autoclock' into master…
KillerInk 05ec3d0
Merge branch 'master' into master_autoclock
KillerInk febc0e4
Use <tooltip-text-icon> component for tooltips
f918565
Code indent
7b892d3
Merge pull request #4 from duckaxe/cr/1152
KillerInk ee7735c
Merge remote-tracking branch 'killerink/master' into master_autoclock
KillerInk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
main/http_server/axe-os/src/app/components/autotune/autotune.component.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| <ng-container> | ||
| <div class="card"> | ||
| <form [formGroup]="autotuneForm" (ngSubmit)="updateAutotune()" *ngIf="autotuneForm"> | ||
| <h3>Autotune Settings</h3> | ||
| <div class="form-check mb-3"> | ||
| <label for="auto_tune_hashrate">Auto Tune Hashrate</label> | ||
| <input type="checkbox" id="auto_tune_hashrate" formControlName="auto_tune_hashrate" /> | ||
| </div> | ||
| <div class="row"> | ||
| <div class="col"> | ||
| <label>Power Limit</label> | ||
| <input type="number" class="form-control" formControlName="power_limit"> | ||
| </div> | ||
| <div class="col"> | ||
| <label>Fan Limit</label> | ||
| <input type="number" class="form-control" formControlName="fan_limit"> | ||
| </div> | ||
| <div class="col"> | ||
| <label>Max Voltage ASIC</label> | ||
| <input type="number" class="form-control" formControlName="max_voltage_asic"> | ||
| </div> | ||
| <div class="col"> | ||
| <label>Max Frequency ASIC</label> | ||
| <input type="number" class="form-control" formControlName="max_frequency_asic"> | ||
| </div> | ||
| <div class="col"> | ||
| <label>Max ASIC Temperatur</label> | ||
| <input type="number" class="form-control" formControlName="max_asic_temperatur"> | ||
| </div> | ||
| </div> | ||
| <button type="submit" class="btn btn-primary" [disabled]="!autotuneForm.valid">Save Autotune | ||
| Settings</button> | ||
| </form> | ||
| </div> | ||
| </ng-container> | ||
21 changes: 21 additions & 0 deletions
21
main/http_server/axe-os/src/app/components/autotune/autotune.component.spec.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||
|
|
||
| import { AutotuneComponent } from './autotune.component'; | ||
|
|
||
| describe('SettingsComponent', () => { | ||
| let component: AutotuneComponent; | ||
| let fixture: ComponentFixture<AutotuneComponent>; | ||
|
|
||
| beforeEach(() => { | ||
| TestBed.configureTestingModule({ | ||
| declarations: [AutotuneComponent] | ||
| }); | ||
| fixture = TestBed.createComponent(AutotuneComponent); | ||
| component = fixture.componentInstance; | ||
| fixture.detectChanges(); | ||
| }); | ||
|
|
||
| it('should create', () => { | ||
| expect(component).toBeTruthy(); | ||
| }); | ||
| }); |
60 changes: 60 additions & 0 deletions
60
main/http_server/axe-os/src/app/components/autotune/autotune.component.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||
| import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||
| import { HttpErrorResponse, HttpEventType } from '@angular/common/http'; | ||
| import { SystemService } from 'src/app/services/system.service'; | ||
| import { ToastrService } from 'ngx-toastr'; | ||
|
|
||
| @Component({ | ||
| selector: 'autotune', | ||
| templateUrl: './autotune.component.html', | ||
| }) | ||
| export class AutotuneComponent implements OnInit { | ||
| constructor(private fb: FormBuilder, | ||
| private systemService: SystemService, | ||
| private toastr: ToastrService,) { } | ||
| public autotuneForm!: FormGroup; | ||
| public autotuneInfo: any = {}; | ||
|
|
||
| //private toastr: ToastrService; | ||
| //private toastrService: ToastrService; | ||
| //private loadingService: LoadingService; | ||
|
|
||
|
|
||
| ngOnInit() { | ||
| this.autotuneForm = this.fb.group({ | ||
| auto_tune_hashrate: [true, [Validators.required, Validators.required]], | ||
| power_limit: [20, [Validators.required, Validators.min(1)]], | ||
| fan_limit: [75, [Validators.required, Validators.min(1)]], | ||
| max_voltage_asic: [1400, [Validators.required, Validators.min(1)]], | ||
| max_frequency_asic: [1000, [Validators.required, Validators.min(1)]], | ||
| max_asic_temperatur: [65, [Validators.required, Validators.min(1)]], | ||
| }); | ||
|
|
||
| // Load autotune settings from API and patch the form if available | ||
| this.systemService.getAutotune().subscribe({ | ||
| next: autotune => { | ||
| this.autotuneInfo = autotune; | ||
| this.autotuneForm.patchValue({ | ||
| auto_tune_hashrate: autotune.auto_tune_hashrate, | ||
| power_limit: autotune.power_limit ?? 20, | ||
| fan_limit: autotune.fan_limit ?? 75, | ||
| max_voltage_asic: autotune.max_voltage_asic ?? 1400, | ||
| max_frequency_asic: autotune.max_frequency_asic ?? 1000, | ||
| max_asic_temperatur: autotune.max_asic_temperatur ?? 65, | ||
| }); | ||
| }, | ||
| error: err => { this.toastr.error('Failed to load autotune settings'); } | ||
| }); | ||
| } | ||
|
|
||
|
|
||
|
|
||
| public updateAutotune() { | ||
| if (!this.autotuneForm.valid) return; | ||
| this.systemService.updateAutotune(this.autotuneForm.value) | ||
| .subscribe({ | ||
| next: () => this.toastr.success('Autotune settings saved!', 'Success'), | ||
KillerInk marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| error: (err: HttpErrorResponse) => this.toastr.error('Could not save autotune settings.', err.message) | ||
| }); | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,3 +2,4 @@ | |
| <h2>Settings</h2> | ||
| <app-edit></app-edit> | ||
| </div> | ||
| <autotune></autotune> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.