45 Commits

Author SHA1 Message Date
mutatrum
6283480fa1
Parse stratum api reject reason (#472)
* Parse stratum api reject reason

* Remove superfluous nullcheck
2024-12-09 16:35:13 +01:00
mutatrum
48711ef0a7
Fix stratum message order (#498) 2024-11-21 11:45:08 -05:00
Erik Olof Gunnar Andersson
d22b95647d
Don't abandon the first mining.notify (#492) 2024-11-20 10:14:33 -05:00
Erik Olof Gunnar Andersson
2536347c56 Improve failure handling and add fallback 2024-10-03 17:24:13 +02:00
Erik Olof Gunnar Andersson
e30bbcad50
stratum mining.suggest_difficulty after auth to fix ckpool issue (#353)
Change the ordering to `mining.suggest_difficulty` after `mining.authorize`. ckpool doesn't like it the other way.
2024-09-27 16:12:20 -04:00
adammwest
f130b05511
ASIC version mask now based on pool stratum version mask msg (#349)
* 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
2024-09-26 11:30:06 -04:00
Erik Olof Gunnar Andersson
5e1e0ba247 Remove invalid IPv4 validation in DNS code 2024-09-07 22:08:19 +02:00
mutatrum
e3ef2e55bd
Implement client.reconnect and reset stratum uid on reconnect (#253)
* Implement client.reconnect and reset stratum uid on reconnect
2024-07-12 14:11:48 -04:00
Skot
04c8b80287
WIP: Fix job interval timing (#249)
* 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>
2024-07-07 09:05:31 -04:00
Georges
9dc8c8cad3
try to explain nonce space duration from paramters (#228)
* try to explain nonce space duration from paramters

* Fix Nonce Space duration for BM1397 (no version-rolling)

* fixed issue with version mask on 1397. added easy serial debugging on 1397

* cleanup jobID debugs

---------

Co-authored-by: Skot <skot@bitnet.cx>
2024-06-19 15:29:45 +02:00
Georges Palauqui
5cf16e1bcf
fix another pointer error 2024-06-18 08:21:17 +02:00
Skot
344c5d8d22 adjust share accpeted/rejected functions to take higher level GLOBAL_STATE to fix share accounting. 2024-06-17 16:30:03 -04:00
Georges
10c331a400
Supra 402 (#221)
* port TCH Supra 402 branch

* refactor TMP1075 (unused?) driver using i2c_master module

* pulled in @Bitmaker-hub stratum_task.c DNS changes from PR #185

* removing serial debug

---------

Co-authored-by: Skot <skot@bitnet.cx>
2024-06-14 16:09:08 -04:00
Georges Palauqui
c8789269f9
refactor GLOBAL_STATE argument instead of MODULE only 2024-06-12 15:05:14 +02:00
Skot
56209223f2
moved the DNS lookup inside the stratum connection retry loop (#204) 2024-06-05 17:31:35 -04:00
Georges Palauqui
22393a4f68
avoid strcmp 2024-06-04 17:06:45 +02:00
Skot
11c1d087a8
Stratum message ordering fix (#192)
* 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
2024-05-31 17:43:10 -04:00
pixel::doc
e4fcfdca83
Add more Logging to esp_restart (#179) 2024-05-23 22:55:31 -04:00
Ben
f09d01d809 remove debug 2024-01-13 15:11:44 -05:00
Ben
c9b5b65275 set version mask on mining.configure 2024-01-13 15:08:56 -05:00
Ben
794af8d7b7 stratum password 2024-01-13 11:06:01 -05:00
Skot
174ef21b18
Changed order of stratum messages for #80 2024-01-09 22:57:51 -05:00
Skot
dade418921
Network resets2 (#74)
Fixes #55
* added error log message and retry when stratum can't connect
* handle dns_gethostbyname() failures
2024-01-08 00:06:04 -05:00
Ben
e0a0ee8c49 Fix suggest difficulty (order matters) 2024-01-07 01:00:01 -05:00
johnny9
407881c8e4 main: send mining.configure before mining.authorize and parse the result
This reverts commit e5009e14ab3f81d22ed2dd594712ed49da5257ea.

Fixes #50
2023-11-29 22:07:51 -05:00
johnny9
e5009e14ab Revert "Fixing mining.configure order"
This reverts commit edcf000cbf1d91108146342df66739ac5f243e78.
2023-11-14 20:40:09 -05:00
checksum0
edcf000cbf Fixing mining.configure order
Fixed mining.configure order as it should be sent first, per BIP0310
2023-11-13 23:36:41 -05:00
johnny9
706ee510ba main: Determine ASIC model from NVS
This adds more hardware information to the example config.cvs.
If the model can't be determined at startup, the device will abort.
2023-09-23 14:27:11 -04:00
Ben
79430f6d3a reformat entire c project 2023-08-26 12:28:17 -04:00
Georges Palauqui
87d7e7c5d0
Fix build with IDF-5.1 2023-08-16 16:55:10 +02:00
Ben
e137116dc1 restart esp32 on socket unable to connect 2023-07-10 16:10:34 -04:00
johnny9
6949b73bb9 nvs_config: introduce configuration through NVS
Stratum and Wifi configuration can now be read from NVS on the
flash. An example config.cvs file is included and can be used
to generate the partition and then be flashed to the esp32 using
the esp-idf parttool.py.
2023-07-01 14:23:35 -04:00
Skot Croshere
a3b798de7a switch to separate connect component 2023-07-01 14:23:35 -04:00
Skot Croshere
134d990090 cleanup comments and include 2023-07-01 14:23:35 -04:00
Skot Croshere
71a660948c accept stratum hostname or IP 2023-07-01 14:23:35 -04:00
johnny9
bc326499ea stratum: parse version-rolling config result 2023-07-01 14:23:35 -04:00
johnny9
c7de2c0795 bm1397: add multiple midstates using version mask
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.
2023-07-01 14:23:35 -04:00
Ben
23ac4cfacc changed clock sync from ntp time to pool ntime 2023-07-01 14:23:35 -04:00
Ben
4eac4e8cf9 Expire stratum jobs after 5 mins 2023-07-01 14:23:35 -04:00
Ben
6065ef05a3 Fixed issues with ckpool job id, parameter length, asic init 2023-07-01 14:23:35 -04:00
Ben
73f4d4df3b ckpool fix 2023-07-01 14:23:35 -04:00
Ben
35358e0e44 cleaning and optimizing stratum_task/stratum_api 2023-07-01 14:23:35 -04:00
Ben
c3301aab30 move queue 2023-07-01 14:23:35 -04:00
Skot Croshere
65f906eb3d change stratum_api TAG to match filename 2023-07-01 14:23:35 -04:00
Ben
a7bae3ce71 Modularized 3 tasks, created global state struct 2023-07-01 14:23:33 -04:00