disabled extranonce rolling. doesn't seem like I'm getting nonces anymore?

This commit is contained in:
Skot Croshere 2023-05-23 15:41:29 -04:00 committed by johnny9
parent 1ab923dae0
commit 1f2f520024
5 changed files with 31 additions and 32 deletions

3
.gitignore vendored
View File

@ -9,6 +9,9 @@ build/config/*
!build/config/kconfig_menus.json
!build/config/sdkconfig.json
# Test folder
test/build/*
# HTML documentation
html_doc/

View File

@ -103,7 +103,7 @@ void parse_packet(unsigned char *buf, int len) {
/// @param header
/// @param data
/// @param len
void send_BM1397(uint8_t header, uint8_t * data, uint8_t data_len) {
void send_BM1397(uint8_t header, uint8_t * data, uint8_t data_len, bool debug) {
packet_type_t packet_type = (header & TYPE_JOB) ? JOB_PACKET : CMD_PACKET;
uint8_t total_length = (packet_type == JOB_PACKET) ? (data_len+6) : (data_len+5);
@ -133,7 +133,7 @@ void send_BM1397(uint8_t header, uint8_t * data, uint8_t data_len) {
}
//send serial data
send_serial(buf, total_length);
send_serial(buf, total_length, debug);
free(buf);
}
@ -142,21 +142,21 @@ void send_read_address(void) {
unsigned char read_address[2] = {0x00, 0x00};
//send serial data
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_READ), read_address, 2);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_READ), read_address, 2, false);
}
void send_chain_inactive(void) {
unsigned char read_address[2] = {0x00, 0x00};
//send serial data
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_INACTIVE), read_address, 2);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_INACTIVE), read_address, 2, false);
}
void set_chip_address(uint8_t chipAddr) {
unsigned char read_address[2] = {chipAddr, 0x00};
//send serial data
send_BM1397((TYPE_CMD | GROUP_SINGLE | CMD_SETADDRESS), read_address, 2);
send_BM1397((TYPE_CMD | GROUP_SINGLE | CMD_SETADDRESS), read_address, 2, false);
}
@ -170,42 +170,42 @@ void send_init(void) {
set_chip_address(0x00);
unsigned char init[6] = {0x00, 0x80, 0x00, 0x00, 0x00, 0x00}; //init1 - clock_order_control0
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init, 6, false);
unsigned char init2[6] = {0x00, 0x84, 0x00, 0x00, 0x00, 0x00}; //init2 - clock_order_control1
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init2, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init2, 6, false);
unsigned char init3[9] = {0x00, 0x20, 0x00, 0x00, 0x00, 0x01}; //init3 - ordered_clock_enable
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init3, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init3, 6, false);
unsigned char init4[9] = {0x00, 0x3C, 0x80, 0x00, 0x80, 0x74}; //init4 - init_4_?
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init4, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init4, 6, false);
unsigned char set_ticket[9] = {0x00, 0x14, 0x00, 0x00, 0x80, 0xff}; //set_ticket - ticket_mask
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), set_ticket, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), set_ticket, 6, false);
unsigned char init5[9] = {0x00, 0x68, 0xC0, 0x70, 0x01, 0x11}; //init5 - pll3_parameter
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init5, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init5, 6, false);
unsigned char init5_2[9] = {0x00, 0x68, 0xC0, 0x70, 0x01, 0x11}; //init5_2 - pll3_parameter
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init5_2, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init5_2, 6, false);
unsigned char init6[9] = {0x00, 0x28, 0x06, 0x00, 0x00, 0x0F}; //init6 - fast_uart_configuration
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init6, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), init6, 6, false);
unsigned char baudrate[9] = {0x00, 0x18, 0x00, 0x00, 0x7A, 0x31}; //baudrate - misc_control
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), baudrate, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), baudrate, 6, false);
unsigned char prefreq1[9] = {0x00, 0x70, 0x0F, 0x0F, 0x0F, 0x00}; //prefreq - pll0_divider
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), prefreq1, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), prefreq1, 6, false);
unsigned char freqbuf[9] = {0x00, 0x08, 0x40, 0xA0, 0x02, 0x25}; //freqbuf - pll0_parameter
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), freqbuf, 6);
send_BM1397((TYPE_CMD | GROUP_ALL | CMD_WRITE), freqbuf, 6, false);
}
void send_work(struct job_packet *job) {
send_BM1397((TYPE_JOB | GROUP_SINGLE | CMD_WRITE), (uint8_t*)job, sizeof(struct job_packet));
send_BM1397((TYPE_JOB | GROUP_SINGLE | CMD_WRITE), (uint8_t*)job, sizeof(struct job_packet), true);
}

View File

@ -70,8 +70,9 @@ static void AsicTask(void * pvParameters)
uint8_t buf[CHUNK_SIZE];
memset(buf, 0, 1024);
int id = 0;
while (1) {
int id = 1;
bm_job * next_bm_job = (bm_job *) queue_dequeue(&g_bm_queue, &termination_flag);
struct job_packet job;
job.job_id = id++;
@ -117,8 +118,7 @@ static void mining_task(void * pvParameters)
mining_notify params = parse_mining_notify_message(next_notify_json_str);
uint32_t extranonce_2 = 0;
while (extranonce_2 < UINT_MAX || abandon_work == 1)
{
//while (extranonce_2 < UINT_MAX || abandon_work == 1) {
char * extranonce_2_str = extranonce_2_generate(extranonce_2, extranonce_2_len);
@ -146,7 +146,7 @@ static void mining_task(void * pvParameters)
free(merkle_root);
free(extranonce_2_str);
extranonce_2++;
}
//}
if (abandon_work == 1) {
abandon_work = 0;
@ -188,12 +188,6 @@ static void admin_task(void *pvParameters)
ip4_addr3(&ip_Addr.u_addr.ip4),
ip4_addr4(&ip_Addr.u_addr.ip4) );
printf( "Connecting to: stratum+tcp://%s:%d (%s)\n", STRATUM_URL, PORT, host_ip);
// printf( "DNS found: %i.%i.%i.%i\n",
// ip4_addr1(&ip_Addr.u_addr.ip4),
// ip4_addr2(&ip_Addr.u_addr.ip4),
// ip4_addr3(&ip_Addr.u_addr.ip4),
// ip4_addr4(&ip_Addr.u_addr.ip4) );
while (1) {

View File

@ -40,10 +40,12 @@ void init_serial(void) {
uart_driver_install(UART_NUM_1, BUF_SIZE * 2, 0, 0, NULL, 0);
}
int send_serial(uint8_t *data, int len) {
//printf("->");
//prettyHex((unsigned char*)data, len);
//printf("\n");
int send_serial(uint8_t *data, int len, bool debug) {
if (debug) {
printf("->");
prettyHex((unsigned char*)data, len);
printf("\n");
}
return uart_write_bytes(UART_NUM_1, (const char *) data, len);
}

View File

@ -4,7 +4,7 @@
#define CHUNK_SIZE 1024
void SerialTask(void *arg);
int send_serial(uint8_t *, int);
int send_serial(uint8_t *, int, bool);
void init_serial(void);
void debug_serial_rx(void);
int16_t serial_rx(uint8_t * buf);