BenShen98 / RTOS-MotorControl-HashCompute

A mbed project perform real-time bruessless motor control, and bitcoin mining

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Motor Control and Hash Cracking

Requirement

In this project, we are required to

  • Control motor to reach targeted rotation in both direction, with target speed ranging from 5 rps to 100 rps.
  • Use pwm to generate melody
  • Mining bitcoin while idle, at exact rate of 5000 nonces per second

Detailed requirement can be found from CW2-specification.pdf.

File Structure

  • src folder contains all the source file,
  • include folder contains the header files for the source files (except main.cpp)
    • It also contains dataStructure.hpp for declaring shared data structure and constant across source files.

The image above provide an overview of the components and how they interact.

More details and critical time analysis can be found in the report.

Installation

  1. Follow PIO to install PIO on any platform you prefer.
    Alternatively, open the root folder of this project in VSCode, install the recommended extension.
  2. Plug in the mbed device, and run upload in PIO to upload to device.
    If compile time is long (over 5 minutes), check .mbedignore file in folder pio_core/packages/framework-mbed/components are not overwritten.

Compiled Bin

Located under folder bin/firmware.bin

About

A mbed project perform real-time bruessless motor control, and bitcoin mining


Languages

Language:C++ 100.0%