Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for several boards #1850

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

Conversation

rcky844
Copy link

@rcky844 rcky844 commented Jan 10, 2025

This patch introduces support for several boards. They are listed below:

A separate patch in the AVR miner script is needed to enable support for WinnerMicro W80x.

@rcky844 rcky844 changed the title Add support for Nordic Semiconductor nRF5 based boards Add support for several boards Jan 10, 2025
@revoxhere
Copy link
Owner

Hey, I assume you have checked whether your changes to the AVR code don't break compatibility with existing boards (eg. typical Arduinos)?
Just checking to be sure.

@rcky844
Copy link
Author

rcky844 commented Jan 12, 2025

Hey, I assume you have checked whether your changes to the AVR code don't break compatibility with existing boards (eg. typical Arduinos)? Just checking to be sure.

image
Yup, they work fine.
I have modified to remove the uintDiff typedef in AVR code because it is always defined as that, and to keep the hash rate improvements.

@rcky844
Copy link
Author

rcky844 commented Jan 12, 2025

Please don't merge this yet, I will inform you when it is ready.

Ricky Cheung added 10 commits January 12, 2025 19:51
This patch is in-sync with the patch at ricaun/ArduinoUniqueID#30,
which adds support for getting unique ID for Nordic Semiconductor
nRF5 based boards, including the BBC Micro:bit.

Signed-off-by: Ricky Cheung <[email protected]>
Some boards have trouble pulling themselves out of reset mode after
receiving DTR signal, particularly those attached to external
programmer ICs (e.g. CHA340).

This can be addressed by pulling the RTS signal LOW. RTS refers to
"Require ToSend" and indicates to the device that its host is ready
to receive information. It is indicated by a LOW signal, which
pyserial does not appear to send by default.

Signed-off-by: Ricky Cheung <[email protected]>
Based on official Arduino_code miner, with modifications to support
the chipset's primitive Arduino BSP.

Signed-off-by: Ricky Cheung <[email protected]>
Make green LED for idle, and red LED for hashing

Signed-off-by: Ricky Cheung <[email protected]>
Display a count showing mined shares on the matrix display, and have
it wrap around 0 - 9 to prevent blocking when scrolling the display.

Signed-off-by: Ricky Cheung <[email protected]>
Boards like the BBC Microbit could only do ~2000 H/s at difficulty of
128, but it is assigned a difficulty of 512, which results in
immediate shares rejection.

As indicated by the naming, "ARM" as starting difficulty is available,
so use that instead.

Signed-off-by: Ricky Cheung <[email protected]>
Also refactor and split the functions into three

Signed-off-by: Ricky Cheung <[email protected]>
This change simplifies the code without causing much performance
degradation.

Signed-off-by: Ricky Cheung <[email protected]>
@rcky844
Copy link
Author

rcky844 commented Jan 12, 2025

@revoxhere This batch of commits are ready, please review though.

Ricky Cheung added 2 commits January 12, 2025 20:24
ultoa() is not always available on some boards as it is non-standard.
Provide our own copy of the function to convert nonce into string.

Signed-off-by: Ricky Cheung <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants