53 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
tdb3
e39b6db368
fix: correct json_rpc_buffer initialization order (#473)
Performs memset after checking if the malloc was successful.
Safer, avoids segfault on (unlikely) unsuccessful malloc,
and allows the error printing to occur.
2024-11-27 20:12:27 -05:00
mutatrum
e2041ab78b
Set proper size in hex2bin call (#471)
Fixes #302
2024-11-27 20:09:37 -05:00
Skot
e1bf30b26e
Fix compiler warnings (#381)
Fix all compiler warnings and migrate off depreciated ADC and I2C libraries.
---------
Co-authored-by: Erik Olof Gunnar Andersson <eandersson@users.noreply.github.com>
2024-10-08 11:27:32 -04:00
Erik Olof Gunnar Andersson
2536347c56 Improve failure handling and add fallback 2024-10-03 17:24:13 +02:00
WantClue
6101b3e6c2 change stratum subscribe method to not send extra characters 2024-08-08 08:48:53 +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
mutatrum
e3edb87b6c Change stratum message_id to 64bit 2024-06-25 15:34:15 +02:00
tommywatson
19aa080202
Left a dangling pointer (#240)
* 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>
2024-06-21 08:26:19 -04:00
tommywatson
34cf8d9483
Clean up and return 0 on recv, let task reconnect (#227)
Co-authored-by: tommy <tommy@tommywatson.com>
2024-06-20 23:49:06 -04:00
wizkid057
62693c12fd
Add software version string to the stratum mining.subscribe (#197)
lgtm
2024-06-04 11:30:38 -04: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
MoellerDi
1da7132b6a
fix stratum parsing not always counting rejected shares (#163)
* fix stratum parsing not counting rejected messages

* add unit tests
2024-05-23 22:53:05 -04:00
Ben
b958b85d57 fix setting version rolling 2024-03-11 20:37:49 -04:00
Ben
feda6609c1 Correctly identify rejected stratum submission 2024-02-24 23:43:35 -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
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
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
SatoshyBoy
032fe24f2a WIFI Failure
The firmware halts when it loses the wifi connection.
2023-09-04 22:17:47 -04:00
Ben
79430f6d3a reformat entire c project 2023-08-26 12:28:17 -04:00
Benjamin Wilson
9bc0671563
Ultra (#15)
Pull BM1366 work into main
2023-08-20 13:09:55 -04:00
Georges Palauqui
87d7e7c5d0
Fix build with IDF-5.1 2023-08-16 16:55:10 +02: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
2171e55e14 reorder STRATUM_V1_submit_share params to fit api 2023-07-01 14:23:35 -04:00
Ben
ba384294b5 comments 2023-07-01 14:23:35 -04:00
Ben
8755a8fcbc rervet changes - stratum messages must have unique id 2023-07-01 14:23:35 -04:00
Ben
12770f3393 fix jobid for ckpool 2023-07-01 14:23:35 -04:00
Skot Croshere
63bc2e6326 fix typo in mining.set_difficulty 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
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
Skot Croshere
b14f21c697 added the beginning of stratum result parsing. 2023-07-01 14:21:40 -04:00
johnny9
c1f586c77a stratum: remove unused function 2023-07-01 14:20:48 -04:00
johnny9
471c53c817 stratum: configure version-rolling and parse version mask 2023-07-01 14:20:48 -04:00
johnny9
5a94acff09 stratum: don't attempt to recv authorize result
Previous implementation would miss the first mining.set_difficulty
message. We need to find a better way to manage result messages.
2023-07-01 14:20:48 -04:00
johnny9
ee04e437be stratum: don't try to check mining.suggest_difficulty result
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.
2023-07-01 14:19:51 -04:00
johnny9
1ab923dae0 stratum: remove json buffer logging 2023-07-01 14:19:51 -04:00
Skot Croshere
9927e2995b added suggest_difficulty 2023-07-01 14:19:51 -04:00
johnny9
e246a84c86 stratum: add mining.set_difficulty message parse 2023-07-01 14:19:51 -04:00
Skot Croshere
4cf368864e added a midstate sha256 function 2023-07-01 14:18:41 -04:00
johnny9
27b24d3c3e bm1397: integrate with stratum WIP 2023-07-01 14:18:41 -04:00
johnny9
f80805f53a stratum_api: add method to check if previous work should be abandoned 2023-07-01 14:18:41 -04:00
johnny9
901d2da341 stratum_api: parse the uint32_t values from the mining.notify message 2023-07-01 14:18:41 -04:00
johnny9
83ad62322a stratum_api: free job_id string 2023-07-01 14:18:41 -04:00
johnny9
812e4213c1 stratum_api: cleanup notify parsing
Split parsing into two steps, one for the method and one for the
params themselves. Currently it is up to the miner task to grab
the parameters in the format it needs.
2023-07-01 14:18:41 -04:00