Updated to reflect the Relay setup
This commit is contained in:
parent
4ac8c6323b
commit
aac612aa45
113
README.md
113
README.md
|
@ -1,2 +1,113 @@
|
||||||
# Relay_Tester
|
# FG004_A(Relay Tester)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This embedded firmware for testing relay's, it uses an attiny404 to measure the
|
||||||
|
make and break time of a relay.
|
||||||
|
|
||||||
|
### Micro Controller Pins
|
||||||
|
|
||||||
|
**ATtiny404**
|
||||||
|
|
||||||
|
1. VDD(+5v)
|
||||||
|
2. PA4(SW2/BREAK)
|
||||||
|
3. PA5(SW1/MAKE)
|
||||||
|
4. PA6(NC)
|
||||||
|
5. PA7(NC)
|
||||||
|
6. PB3(NC)
|
||||||
|
7. PB2(RELAY_OUT)
|
||||||
|
8. PB1(NC)
|
||||||
|
9. PB0(NC)
|
||||||
|
10. RST(NC)
|
||||||
|
11. PA1(EN)
|
||||||
|
12. PA2(NC)
|
||||||
|
13. PA3(NC)
|
||||||
|
14. VSS(GND)
|
||||||
|
|
||||||
|
*key*
|
||||||
|
NC:: Not Connected
|
||||||
|
PBX:: Port B pin X
|
||||||
|
PAX:: Port A pin X
|
||||||
|
RST:: Reset pin
|
||||||
|
|
||||||
|
|
||||||
|
## Project Layout
|
||||||
|
|
||||||
|
**Tree -L 1, output**
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── avr-gcc-toolchain.cmake
|
||||||
|
├── build
|
||||||
|
├── CMakeLists.txt
|
||||||
|
├── compile_commands.json -> ./build/compile_commands.json
|
||||||
|
├── docs
|
||||||
|
├── Doxyfile
|
||||||
|
├── inc
|
||||||
|
├── mocks
|
||||||
|
├── otto.sh
|
||||||
|
├── README.md
|
||||||
|
├── setup.sh
|
||||||
|
├── src
|
||||||
|
└── tests
|
||||||
|
|
||||||
|
6 directories, 7 files
|
||||||
|
```
|
||||||
|
|
||||||
|
The source code required to run/build the project is in the `/src` directory,
|
||||||
|
with the headers residing inside the `/inc` directory for most public modules.
|
||||||
|
|
||||||
|
All other directories are for supporting the development cycle and are used for
|
||||||
|
testitng the code base to ensure accuracy and quality. These are contained in
|
||||||
|
the `tests` and `mocks` directories.
|
||||||
|
|
||||||
|
Documentation that has been generated is inside the docs folder which contains
|
||||||
|
the html output that can be browswed via your regular web browser.
|
||||||
|
|
||||||
|
PDF genreation from the doumentaiton is also possible if enabled through the
|
||||||
|
`Doxyfile` inside the projects root directory.
|
||||||
|
|
||||||
|
The build directory contains the output and makefiles genrerated automatically
|
||||||
|
when using CMake.
|
||||||
|
|
||||||
|
This build directory also holds the bin files genreated along with the hex and
|
||||||
|
elf files.
|
||||||
|
|
||||||
|
## Build Requirements
|
||||||
|
|
||||||
|
- AVR-GCC toolchain OR XC8 from microchip.
|
||||||
|
- Make OR CMAKE
|
||||||
|
- avrdude
|
||||||
|
- A AVR programmer, usbasp for older chips and UPDI for newer ones.
|
||||||
|
|
||||||
|
|
||||||
|
## Dev Requirements
|
||||||
|
|
||||||
|
- ATtiny404 series micro-controller
|
||||||
|
- AVR-GCC toolchain.
|
||||||
|
- Cmake
|
||||||
|
- cpputest(Unit testing harness.)
|
||||||
|
- Doxygen(For documentation)
|
||||||
|
- Git(For version control)
|
||||||
|
|
||||||
|
|
||||||
|
## Running Unit Tests
|
||||||
|
|
||||||
|
To run the cppunit tests you can use the included shell script inside a bash
|
||||||
|
shell.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo "1" | ./otto.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
The command runs the otto script which automates parts of the development cycle
|
||||||
|
such as running and building tests, compiling hex files and flashing the code
|
||||||
|
to a micro-controller using arvdude.
|
||||||
|
|
||||||
|
|
||||||
|
## Roadmap
|
||||||
|
|
||||||
|
Some stuff that still needs done.
|
||||||
|
|
||||||
|
- [ ] Write Unit Tests for Serial Comunications.
|
||||||
|
- [ ] Write Unit Tests for Timer/Counter (10Khz)
|
||||||
|
- [ ]
|
||||||
|
|
Loading…
Reference in New Issue