Verify CHIP_ID response (#745)

* Verify CHIP_ID response

Fixes #740

* Log warning on CHIP_ID mismatch

* Fix CHIP_ID checksum calculation

* On BM1397, CORE_NUM should be 0x18

* CORE_NUM and ADDR log only and early exit when no chips are detected

* Fix compile error

* Refactored out duplicated code

Moved count_asic_chips and receive_work functions to common.c
Moved asic_response_buffer to local scope
Unified preamble and crc check on serial rx
Fixed typo in proccess_work
Moved CRC5_MASK define to proper location

* Change receive_work read timeout log to debug

* Changed wrong log to debug

* Fix merge

* Fix length check for bm1397

* add ASIC TX dubugging on BM1397 (crap, does this fix the ticket mask?!)

---------

Co-authored-by: Skot <skot@bitnet.cx>
This commit is contained in:
mutatrum
2025-03-12 23:45:33 +02:00
committed by GitHub
parent deaa291675
commit a5842a54b3
16 changed files with 203 additions and 317 deletions

View File

@@ -2,6 +2,7 @@
#define COMMON_H_
#include <stdint.h>
#include "esp_err.h"
typedef struct __attribute__((__packed__))
{
@@ -13,4 +14,7 @@ typedef struct __attribute__((__packed__))
unsigned char _reverse_bits(unsigned char num);
int _largest_power_of_two(int num);
#endif
int count_asic_chips(uint16_t asic_count, uint16_t chip_id, int chip_id_response_length);
esp_err_t receive_work(uint8_t * buffer, int buffer_size);
#endif /* COMMON_H_ */