* Verify CHIP_ID response
Fixes#740
* Log warning on CHIP_ID mismatch
* Fix CHIP_ID checksum calculation
* On BM1397, CORE_NUM should be 0x18
* CORE_NUM and ADDR log only and early exit when no chips are detected
* Fix compile error
* Refactored out duplicated code
Moved count_asic_chips and receive_work functions to common.c
Moved asic_response_buffer to local scope
Unified preamble and crc check on serial rx
Fixed typo in proccess_work
Moved CRC5_MASK define to proper location
* Change receive_work read timeout log to debug
* Changed wrong log to debug
* Fix merge
* Fix length check for bm1397
* add ASIC TX dubugging on BM1397 (crap, does this fix the ticket mask?!)
---------
Co-authored-by: Skot <skot@bitnet.cx>
* initial changes for the gammaturbo bringup
* added preliminary TPS546 changes
* added preliminary EMC2103 support
* ASIC temp seems to be maybe working.
* magically now fan seems to have the right polarity
* added in ideality and beta constants (currently unused). Fixed EMC2103_get_fan_speed()
* abstract fan and ASIC temp into thermal functions
* abstracted voltage regulator specifics out of tasks and into power.c and vcore.c functions
* add TPS546 support for multiple models
* move TPS40305/DS4432U vout setter to DS4432U.c
* move all ASIC specific functions to asic.c
* bad device_model nvs handling
* remove old code
* add workaround for TPS546 VIN_UV_WARN_LIMIT silicon bug.
* auto set self_test 0 upon pass
* setting NVS from the callback context was not working. added a semaphore for blocking in self_test.c
---------
Co-authored-by: Benjamin Wilson <admin@opensourceminer.com>
Co-authored-by: Skot <skot@bitnet.cx>
* switched selftest fail to be non fatal
* switched to BOOT longpress to reboot after selftest
* lots and lots of error handling cleanup. <slippery slope>
* move around the DS4432U_Init() function call
* temp sensor fixes
* fix emc2101 external temp sign reading
* reset self test file
* Make the emc2101 changes specific to BM1370
---------
Co-authored-by: Benjamin Wilson <admin@opensourceminer.com>
* move ADC_init() before start_http_server() because the UI reads the ADC
* split SYSTEM_init() into separate functions. cleaned up nvs init.
* fix my dumb INA260_init() memory leak
* SYSTEM_init_peripherals() cleanup
Fix all compiler warnings and migrate off depreciated ADC and I2C libraries.
---------
Co-authored-by: Erik Olof Gunnar Andersson <eandersson@users.noreply.github.com>
* make sure to VCORE_init() and VCORE_set_voltage() no matter what hw version.
* added "PRESS RESET" to selftest endscreen. pulled out magic numbers to #defines
* oops, cleanup
* update 402 power target
* 403+support
---------
Co-authored-by: Benjamin Wilson <admin@opensourceminer.com>