diff --git a/.gitignore b/.gitignore index bbbc34e..f1ce0e6 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ build/ ide/*.componentinfo.xml ide/Debug/ ide/Release/ +ide/.vs/ +ide/*.log diff --git a/README.md b/README.md index fb36b4d..5b6cc76 100644 --- a/README.md +++ b/README.md @@ -23,18 +23,28 @@ cmake --build --preset atmega328p-generated `master` carries a Studio solution, so this branch does too: `ide/fantemp.atsln` builds the same firmware — byte-identical `.text` and `.data` to the CMake -build — from the same sources, with the flags mirrored by hand. Studio finds -libavr through `$(LIBAVR_ROOT)`, the same environment variable the CMake build -uses, and needs a GCC 16.1 toolchain registered as flavour `avr-g++-16.1.0`; +build — from the same sources, with the flags mirrored by hand. + +Studio expects libavr checked out **beside this repo**, and finds it at +`$(MSBuildProjectDirectory)\..\..\libavr\include` — anchored to the project +rather than written relative to the generated makefile, which runs from the +configuration's output directory and would need a different number of `..`. +Unlike the CMake build there is no `LIBAVR_ROOT` to point elsewhere: an +environment variable set in a shell is not visible to Studio launched from the +Start menu, which fails as a missing `libavr/libavr.hpp` rather than as anything +about the variable. Pinning libavr as a submodule is the better answer and is on +libavr's task list. + +It also needs a GCC 16.1 toolchain registered as flavour `avr-g++-16.1.0`; nothing older can compile `-std=c++26`. One generated file is required before the project will load, and one command checks the flags have not drifted (both from libavr's `tools/atmelstudio/`): ```sh -python $LIBAVR_ROOT/tools/atmelstudio/componentinfo.py \ +python ../libavr/tools/atmelstudio/componentinfo.py \ ide/fantemp.componentinfo.xml --device ATmega328P -python $LIBAVR_ROOT/tools/atmelstudio/check-flags.py --solution ide/fantemp.atsln \ +python ../libavr/tools/atmelstudio/check-flags.py --solution ide/fantemp.atsln \ --compile-commands build/atmega328p-generated/compile_commands.json \ --log build/atmelstudio.log ``` diff --git a/ide/fantemp.cppproj b/ide/fantemp.cppproj index 3c44948..2119627 100644 --- a/ide/fantemp.cppproj +++ b/ide/fantemp.cppproj @@ -1,4 +1,4 @@ - + 2.0 @@ -28,6 +28,18 @@ 0 0 + + + + + + + + + + + + @@ -45,7 +57,7 @@ - $(LIBAVR_ROOT)\include + $(MSBuildProjectDirectory)\..\..\libavr\include Optimize for size (-Os) @@ -74,7 +86,7 @@ - $(LIBAVR_ROOT)\include + $(MSBuildProjectDirectory)\..\..\libavr\include Optimize debugging experience (-Og) @@ -88,9 +100,41 @@ + + compile + src\board.hpp + + + compile + src\bootloader.hpp + + + compile + src\controller.hpp + + + compile + src\curve.hpp + compile + src\main.cpp + + + compile + src\statistics.hpp + + + compile + src\terminal.hpp + + + compile + src\thermistor.hpp + + + - + \ No newline at end of file