* 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>
* feat: frequency transition
* remove floats that are unnecessary
* fix: callback of set_freq function
* refactor asic model code to asic.c
* fix: change namining scheme
* 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.
* Grandma knows what Wifi means!
Use Wifi instead of SSID on screen, and add short `(join for setup)` message instead of `Configuration SSID`.
This should be easier to understand, but does add 2 characters, which will fill the screen completely.
* Change NVS configs to init wifi with empty strings, and check for empty string when initializing wifi
* Change `WiFi` to `Wi-Fi` in `connect.c`
* Change what information shows on screen during inital setup and on wifi error
* fix: remove camelCase
remove Bitaxe camel case
---------
Co-authored-by: Upstream Data <brett@upstreamdata.ca>
Co-authored-by: WantClue <86001033+WantClue@users.noreply.github.com>
PR #243 changes the type of id to int64_t,
allowing for ids exceeding a 16-bit integer.
Adjusts an associated unit test to ensure that
16-bit rollover wouldn't occur.
* 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
Performs memset after checking if the malloc was successful.
Safer, avoids segfault on (unlikely) unsuccessful malloc,
and allows the error printing to occur.
* 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>
* add common vars to control rx warning behavoir
* rename vars, reduce rx timout value, add warning when 20s of consecutive rx timeouts occour
* rename device to asic
* better naming of warning condition variable
* move counter variables into the ASIC source files
* move constants to defines and counters to local vars
* fix stray semicolon
Co-authored-by: Skot <skot@bitnet.cx>
* 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 set version mask a function call
* update name
* update init fuc to support version mask setting
* update parameter spec for bm1397
* parametrize set version rolling and update init func for BM136X +
* add default stratum mask
* update all bmchips with a new set_version_mask ASIC function which can be called in main
* update init func prototype params
* update self test to remove extra vmask call in init
* fix compiler errors
* fix compiler errors in main
* add version_mask_given bool to tell the next job to set a new version mask to the chip when a smg comes in