# AT-VFD Goal: Controlling a VFD with an Atmel microcontroller
Compatible hardware: [Princeton PT6302](https://pdf1.alldatasheet.com/datasheet-pdf/view/391603/PTC/PT6302.html), [OKI ML9208](https://pdf1.alldatasheet.com/datasheet-pdf/view/135132/OKI/ML9208.html) (note that in naming the PT6302 datasheeet is followed)
Project is work in progress, breaing changes might come in the future ## Using the driver library Modify PT6302.h - Re-define the macro `DISPLAY_DIGITS` to the number of digits on your VFD - replace the pins in `enum pins` with th pins you have wired to the given controller interface pins Include the PT6302.h in your application and use the functions to display whatever you want. ## Building Use **either** [GNU make](#GNU-make) or [CMake](#CMake) whichever you're familiar with. ### Dependencies The project uses `avr-libc` as well as `avr-gcc`, please install the packages neccesary. For building you need either GNU make or CMake. If you're using CLion, it should automatically pick up on `CMakeLists.txt`, but you still need to modify it to your hardware. ### GNU make Modify `Makefile`: - Change `MCU` to your target microcontroller - Change `F_CPU` to the frequency of your microcontroller's clock source - In `CFLAGS` make sure that the path after `I` is where you have your avr c libraries - `TARGET` should be the project name (or keep it as is, it doesn't matter) - In `SRCS` replace `main` with your application's c and header files - Change the avrdude command in `flash` to the device and port you're using for downloading the firmware Then in the project directory run ```shell make && make flash ``` to compile and download firmware. ### CMake Modify `CMakeLists.txt`: - Change `TARGET_CPU` to your target microcontroller (in the `set` statement) - Change `F_CPU` to the frequency of your microcontroller's clock source (in the `set` statement) - Put the full path to your avr c libraries int the `include_directories` statement - Replace `main.c` with the name of your c source and header files in the `add_executable` statement - Change the avrdude command in the custom targeg`FLASH` to the device and port you're using for downloading the firmware Create a building directory for cmake and change into it: ```shell mkdir cmake-build-debug && cd cmake-build-debug ``` Then compile, link and flash: ```shell cmake .. && cmake --build . -t FLASH ```