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
* added rx serial buffer flush and serial debugging for BM1368
* added serial buffer flush to BM1366 also
* turned off ASIC serial debugging. let's see how this does on free heap
* add extended nonce debugging
* switch to semaphore for job timing
* clean up nonce debugging. hardcode 1366 job interval to 2s and show when new jobs are sent
* set nonce range to 0x0F0000 set job interval to 20s. better stratum debugging,
* testing out longer intervals on 1368
* looking at exact serial commands sent
* fix log value digit count
* add core from nonce debug
* set BM1366 initial chip difficulty to 32
* add version rolling debug
* improve debug printing again
* fix diff
* fix core_id extraction
* printf fix
* debug cleanup
* setup BM1368 for testing. reg10 to S21 default, job interval @ 0.5s
* set init diff on 1366 and 1368 back to 256
---------
Co-authored-by: Georges Palauqui <g.palauqui@gptechinno.com>
* Clean up and return 0 on recv, let task reconnect
* Set json buffer to null
---------
Co-authored-by: tommy <tommy@tommywatson.com>
Co-authored-by: Skot <skot@bitnet.cx>
* rough strategy for this fix. needs testing
* seems to be working with OCEAN. need to make sure nothing else is broken
* add version mask debug
* removed stratum setup response results from A/R shares tally
Job packets can have more that 1 midstate. If the stratum supports
version-rolling, calculate additional midstates by incrementing
the version with the version_mask provided by the stratum server.
Currently does 4 midstates for each extranonce2.
Current implementation has a race condition with the first
mining.notify message and can cause the miner to take a long time
to start if it misses that message.