A => .gitignore +130 -0
@@ 1,130 @@
+
+# Created by https://www.toptal.com/developers/gitignore/api/clion,cmake
+# Edit at https://www.toptal.com/developers/gitignore?templates=clion,cmake
+
+### CLion ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### CLion Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+# Sonarlint plugin
+# https://plugins.jetbrains.com/plugin/7973-sonarlint
+.idea/**/sonarlint/
+
+# SonarQube Plugin
+# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
+.idea/**/sonarIssues.xml
+
+# Markdown Navigator plugin
+# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
+.idea/**/markdown-navigator.xml
+.idea/**/markdown-navigator-enh.xml
+.idea/**/markdown-navigator/
+
+# Cache file creation bug
+# See https://youtrack.jetbrains.com/issue/JBR-2257
+.idea/$CACHE_FILE$
+
+# CodeStream plugin
+# https://plugins.jetbrains.com/plugin/12206-codestream
+.idea/codestream.xml
+
+### CMake ###
+CMakeLists.txt.user
+CMakeCache.txt
+CMakeFiles
+CMakeScripts
+Testing
+Makefile
+cmake_install.cmake
+install_manifest.txt
+compile_commands.json
+CTestTestfile.cmake
+_deps
+
+### CMake Patch ###
+# External projects
+*-prefix/
+
+# End of https://www.toptal.com/developers/gitignore/api/clion,cmake
+
+# Custom cmake build directories
+cmake-build-debug-avr/
+cmake-build-release-avr/
+cmake-build-relwithdebinfo-avr/<
\ No newline at end of file
A => .gitmodules +3 -0
@@ 1,3 @@
+[submodule "lib/avr-shift-registers"]
+ path = lib/avr-shift-registers
+ url = git@github.com:Rutherther/avr-shift-registers.git
A => CMakeLists.txt +13 -0
@@ 1,13 @@
+add_subdirectory(lib/avr-shift-registers)
+
+add_avr_library(
+ avr_seven_segment
+ # sources
+ src/seven-segment.c
+
+ # headers
+ include/seduce.h
+)
+
+avr_target_include_directories(avr_seven_segment ../include ../lib/avr-shift-registers/src)
+avr_target_link_libraries(avr_seven_segment PUBLIC avr_shift_registers)<
\ No newline at end of file
A => include/seduce.h +8 -0
@@ 1,8 @@
+//
+// Created by ruther on 9/14/20.
+//
+
+#ifndef AVR_SEVEN_SEGMENT_EXAMPLE_SEDUCE_H
+#define AVR_SEVEN_SEGMENT_EXAMPLE_SEDUCE_H
+
+#endif //AVR_SEVEN_SEGMENT_EXAMPLE_SEDUCE_H
A => lib/avr-shift-registers +1 -0
@@ 1,1 @@
+Subproject commit 67cde4955cfd8a7717372d7084c080de2b29e1b0
A => src/seven-segment.c +4 -0
@@ 1,4 @@
+//
+// Created by ruther on 9/14/20.
+//
+