100 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
mutatrum
48711ef0a7
Fix stratum message order (#498) 2024-11-21 11:45:08 -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
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
Skot
2e03a8f0e9
clear ASIC RX serial buffer on framing errors (#279)
* 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
2024-08-09 16:06:12 -04: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
Georges Palauqui
11107a3d32
fix dependancies 2024-06-11 10:14:30 +02: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
1b75644b67 added back stratum unit tests 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
Ben
a7bae3ce71 Modularized 3 tasks, created global state struct 2023-07-01 14:23:33 -04:00
Skot Croshere
0810936b3f free strings first when clearing the ASIC_jobs queue 2023-07-01 14:21:40 -04:00
Skot Croshere
b14f21c697 added the beginning of stratum result parsing. 2023-07-01 14:21:40 -04:00
Ben
18d0f651e8 hashrate calc, WIP 2023-07-01 14:20:48 -04:00
Ben
02e4b0d76d ticket_mask 2023-07-01 14:20:48 -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
Skot Croshere
552795d61e tighten up the serial_rx loop for collecting nonces. tried to fix the ckpool diff issue -- still broken 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