Some UI tweaks / fix EMC2101 fan PWM setting / add ASIC temperature set point option#2
Some UI tweaks / fix EMC2101 fan PWM setting / add ASIC temperature set point option#2Rob0xFF wants to merge 15 commits into
Conversation
Moved units from inside the p-knop to the outside to ensure they do not overlap the knop graphic
- calculate value to be written to EMC2101_REG_FAN_SETTING register by considering EMC2101_PWM_FREQ according to eq. 6, see datasheet appendix A for example, a fan setting of 50% yielded approx. 70% before, now it correctly yields 50% of fan's max RPM - EMC2101 register value EMC2101_INTERNAL_TEMP is 8bit signed, changed return value accordingly, now supporting temperatures below 0°C - tweaked min_fan_speed in power management
add instructions on how to build firmware
- UI/AxeOS: added option to define a setpoint ASIC temperature to maintain - UI: added groups to setting UI for better overview / readability - AxeOS: using EMC2101_FAN_RPM_NUMERATOR instead of explicit integer
- flip screen now working for NerdAxe T-Display (button did not do anything on NerdAxe) - minor UI fixes to give a more unified look
- converted all c arrays to true color without alpha channel, saving about 220 kbyte of flash - fixed efficiency unit to J/kH on mining screen
(cherry picked from commit 545d916)
(cherry picked from commit ec98482)
…nded" This reverts commit 84d3bd0.
| disp_drv.flush_cb = example_lvgl_flush_cb; | ||
| disp_drv.draw_buf = &disp_buf; | ||
| disp_drv.user_data = panel_handle; | ||
| disp_drv.sw_rotate = 1; |
There was a problem hiding this comment.
The display supports hardware rotation.
try this instead:
if (!nvs_config_get_u16(NVS_CONFIG_FLIP_SCREEN, 0)) {
esp_lcd_panel_mirror(panel_handle, true, false);
} else {
esp_lcd_panel_mirror(panel_handle, false, true);
}
```
There was a problem hiding this comment.
Thanks, I have to try your code a.s.a.p. I tried to do it the hardware way with no success, so I chose software rotation.
|
Amazing work, guys, thank you. I'll test this today |
|
I am still working on a means to automatically switch on and off the screen based on time of day. Therefore, time zone must be set by the user and the user must choose the on and off time. At the moment, both is hard coded in the test branch of my fork. Works for me at least. Additionally, I implemented a screen notification, if the hash difficulty > network difficulty, i.e. a block is found. It is also shown in the web UI. I added some more stats to the Logs section of the UI, like NerdDisplay status and reason of last reset. All of this is in the test branch of my fork, Please let me know, if you guys would be interested. I could try to develop further. |
|
I also set up my personal node using umbrella and am mining to public pool on the node to test performance. I have seen, that using the default string in stratum_api.c from the original Nerdaxe repository
yields that my Nerdaxe is identified as "Bitaxe" on public pool. So, as I told on X, I think all those NerdAxes shown on public-pool.io might not be the ones of this project as they all seem to identify as Bitaxe. If I am right, we should introduce a unique identifier when subscribing to pool via stratum in order to distinguish Nerdaxes from this project and other ones. There is an other project, which also calls itself "Nerdaxe", as you know. |
|
Also a to do is to let the user set the max fan speed of his device, to improve UI graphic, i.e. full use of the round bar should match rpm which equals 100% fan speed. I have a noctua with 5000rpm, so I hardcoded it for the moment. Keep up the great work guys. |
|
Thanks for all of your work. Very interesting to add the timeZone as we did in the previous version of NerdMiner. I think just adding a function to shutdown screen at night "more or less" its enough, or at least a power down/power on hour. I think I can help on that. Regarding the fan speed, yes, absolutelly. This could be awsome And.. regarding the stratum method, wow... I didn't saw that. And yes, it is very important to change it |
|
Allright, I've just seen I made a mistake when I rebased last firmware to last bitaxe changes. I will try to check the changes you did this week and come back with a new screen and a new update. |
|
Okay, thanks for clearing things up regarding the identifier. Looking forward to the next release. Really love the Nerdaxe, so keep up the good work.BTW if you plan to upgrade to other ASICS, please consider aligning the visible display area of the Lilygo to the fan to give a more clear look. I tried to work around this with my case here |
for example, a fan setting of 50% yielded approx. 70% of fan RPM before, now it correctly yields 50% of fan's max RPM
AxeOS: EMC2101 register value EMC2101_INTERNAL_TEMP is 8bit signed, changed return value accordingly, now supporting temperatures below 0°C
AxeOS: tweaked min_fan_speed in power management
UI: moved units from inside the p-knop to the outside to ensure they do not overlap the knop graphic
UI/AxeOS: added option to define a setpoint ASIC temperature to maintain
UI: added groups to setting UI for better overview / readability
AxeOS: using EMC2101_FAN_RPM_NUMERATOR instead of explicit integer
Github: changed instruction to build firmware
fix flip screen not working
convert all c array images to pure true color without alpha channel to save 10% of flash space
fix unit of measure for efficiency on mining screen