generated from TDD-Templates/cmake_cpputest_template_avr
104 lines
2.2 KiB
Markdown
104 lines
2.2 KiB
Markdown
# Motorized Fader
|
|
|
|
## Description
|
|
|
|
Program for the ATtiny13A that controls a motorized fader by moving into a
|
|
saved position read out of EEPROM memory.
|
|
|
|
## Requirements
|
|
|
|
**Hadware:**
|
|
|
|
- ATtiny13A/ATtiny45/ATtiny85.
|
|
- usbasp programmer.
|
|
- UNIX computer(to use the scripts for automation).
|
|
|
|
**Software:**
|
|
|
|
- avr-gcc
|
|
- avrdude(<=7.0)
|
|
- CMAKE(<= 3.20)
|
|
|
|
## Instructions
|
|
|
|
### Setting Fader Position
|
|
|
|
To set the fader position preform a long press of the button.
|
|
|
|
The position will now be saved into the EEPROM memory.
|
|
|
|
### Move to Position
|
|
|
|
To automatically move the fader into the saved location preform a quick
|
|
press of the button.
|
|
|
|
The speed can be adjusted by changing the input value of the speed pot. The
|
|
speed adjustment affects the on/off ratio of the motor and has a programmed
|
|
minimum speed value in the function to prevent endless looping.
|
|
|
|
|
|
## Building Project(Windows)
|
|
|
|
### Flashing the Project
|
|
|
|
**On Windows(usbtinyisp)**
|
|
|
|
1. Install the usbtiny driver:
|
|
1. plug in usbtiny device
|
|
2. Install the drivers from: [adafruit](https://learn.adafruit.com/usbtinyisp/drivers)
|
|
2. open Powershell
|
|
3. navigate to the repo directory *cd Downloads\gf_002*
|
|
4. enter the command below.
|
|
|
|
```ps1
|
|
./avrdude.exe -p t13 -c usbtiny -B 125kHz -U flash:w:.\build\src\main.hex -U lfuse:w:0x6A:m -U hfuse:w:0xFF:m -U lock:w:0xFF:m
|
|
```
|
|
|
|
|
|
**On Windows(usbASP)**
|
|
|
|
1. Install the usbasp driver:
|
|
1. plug in usbasp device
|
|
2. run the 'zadig-2.8.exe' program
|
|
3. select the libusb 32 on the right by clicking the down arrow to select.
|
|
2. open Powershell
|
|
3. navigate to the repo directory *cd Downloads\gf_002*
|
|
4. enter the command below.
|
|
|
|
```ps1
|
|
./avrdude.exe -p t13 -c usbasp -B 125kHz -U flash:w:.\build\src\main.hex -U lfuse:w:0x6A:m -U hfuse:w:0xFF:m -U lock:w:0xFF:m
|
|
```
|
|
|
|
## Building Project(UNIX)
|
|
|
|
### Building Hex Files
|
|
|
|
Builds the binary hex files. They are located in the `build/src/` directory
|
|
found in the project root.
|
|
|
|
```sh
|
|
cd ./<PROJECTNAME>
|
|
echo "2" | ./otto.sh
|
|
|
|
```
|
|
|
|
### Automated Flashing Hex Files
|
|
|
|
Builds then flashes the binary hex files onto the micro-controller
|
|
|
|
```sh
|
|
cd ./<PROJECTNAME>
|
|
echo "4" | ./otto.sh
|
|
|
|
```
|
|
|
|
### Running Tests
|
|
|
|
The code below will run the cpputest tests in verbose and color mode.
|
|
|
|
```sh
|
|
cd ./<PROJECTNAME>
|
|
echo "1" | ./otto.sh
|
|
|
|
```
|