Compare commits

..

No commits in common. "8eb5600499e3b7a691b8d06f6fabdcd63bebf103" and "c64fb08bece9ca8c5d4991e5fe71114f2e4b03c9" have entirely different histories.

36 changed files with 411 additions and 142 deletions

2
.gitignore vendored
View file

@ -2,5 +2,3 @@
build
dist/attiny404/production
.generated_files/flags/attiny404
.cache/clangd/index
build/default

BIN
build/default/debug/ADC.o Normal file

Binary file not shown.

View file

@ -0,0 +1,50 @@
build/default/debug/ADC.o.d build/default/debug/ADC.o: ADC.c ADC.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h \
RegEdit.h c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\features.h \
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/xc8/avr/include/avr/iotn404.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\xmega.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\lock.h
ADC.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h:
RegEdit.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\features.h:
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/xc8/avr/include/avr/iotn404.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\xmega.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\lock.h:

Binary file not shown.

View file

@ -0,0 +1,19 @@
build/default/debug/RegEdit.o.d build/default/debug/RegEdit.o: RegEdit.c \
RegEdit.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h
RegEdit.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h:

Binary file not shown.

View file

@ -0,0 +1,52 @@
build/default/debug/TriacOut.o.d build/default/debug/TriacOut.o: \
TriacOut.c \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\features.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h \
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/xc8/avr/include/avr/iotn404.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\xmega.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\lock.h \
TriacOut.h RegEdit.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\features.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h:
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/xc8/avr/include/avr/iotn404.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\xmega.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\lock.h:
TriacOut.h:
RegEdit.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h:

BIN
build/default/debug/main.o Normal file

Binary file not shown.

View file

@ -0,0 +1,67 @@
build/default/debug/main.o.d build/default/debug/main.o: main.c config.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h \
RegEdit.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h \
zero_cross_detection.h ADC.h TriacOut.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\features.h \
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/xc8/avr/include/avr/iotn404.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\xmega.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\lock.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\util\delay.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\util\delay_basic.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\math.h
config.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h:
RegEdit.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h:
zero_cross_detection.h:
ADC.h:
TriacOut.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\features.h:
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/xc8/avr/include/avr/iotn404.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\xmega.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\avr\lock.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\util\delay.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\util\delay_basic.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\math.h:

Binary file not shown.

View file

@ -0,0 +1,23 @@
build/default/debug/zero_cross_detection.o.d \
build/default/debug/zero_cross_detection.o: zero_cross_detection.c \
zero_cross_detection.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h \
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h \
ADC.h
zero_cross_detection.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.46\avr\avr\include\bits\stdint.h:
c:\program\ files\microchip\xc8\v2.46\avr\lib\gcc\avr\5.4.0\include\stdbool.h:
ADC.h:

Binary file not shown.

View file

@ -0,0 +1,29 @@
build/default/production/ADC.o.d build/default/production/ADC.o: ADC.c \
ADC.h C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h \
C:/Program\ Files/avr-gcc/avr/include/stdint.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h RegEdit.h \
C:/Program\ Files/avr-gcc/avr/include/avr/io.h \
C:/Program\ Files/avr-gcc/avr/include/avr/sfr_defs.h \
C:/Program\ Files/avr-gcc/avr/include/inttypes.h \
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/include/avr/iotn404.h \
C:/Program\ Files/avr-gcc/avr/include/avr/portpins.h \
C:/Program\ Files/avr-gcc/avr/include/avr/common.h \
C:/Program\ Files/avr-gcc/avr/include/avr/version.h \
C:/Program\ Files/avr-gcc/avr/include/avr/xmega.h \
C:/Program\ Files/avr-gcc/avr/include/avr/fuse.h \
C:/Program\ Files/avr-gcc/avr/include/avr/lock.h
ADC.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h:
C:/Program\ Files/avr-gcc/avr/include/stdint.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h:
RegEdit.h:
C:/Program\ Files/avr-gcc/avr/include/avr/io.h:
C:/Program\ Files/avr-gcc/avr/include/avr/sfr_defs.h:
C:/Program\ Files/avr-gcc/avr/include/inttypes.h:
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/include/avr/iotn404.h:
C:/Program\ Files/avr-gcc/avr/include/avr/portpins.h:
C:/Program\ Files/avr-gcc/avr/include/avr/common.h:
C:/Program\ Files/avr-gcc/avr/include/avr/version.h:
C:/Program\ Files/avr-gcc/avr/include/avr/xmega.h:
C:/Program\ Files/avr-gcc/avr/include/avr/fuse.h:
C:/Program\ Files/avr-gcc/avr/include/avr/lock.h:

Binary file not shown.

View file

@ -0,0 +1,9 @@
build/default/production/RegEdit.o.d build/default/production/RegEdit.o: \
RegEdit.c RegEdit.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h \
C:/Program\ Files/avr-gcc/avr/include/stdint.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h
RegEdit.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h:
C:/Program\ Files/avr-gcc/avr/include/stdint.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h:

Binary file not shown.

View file

@ -0,0 +1,29 @@
build/default/production/TriacOut.o.d build/default/production/TriacOut.o: \
TriacOut.c C:/Program\ Files/avr-gcc/avr/include/avr/io.h \
C:/Program\ Files/avr-gcc/avr/include/avr/sfr_defs.h \
C:/Program\ Files/avr-gcc/avr/include/inttypes.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h \
C:/Program\ Files/avr-gcc/avr/include/stdint.h \
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/include/avr/iotn404.h \
C:/Program\ Files/avr-gcc/avr/include/avr/portpins.h \
C:/Program\ Files/avr-gcc/avr/include/avr/common.h \
C:/Program\ Files/avr-gcc/avr/include/avr/version.h \
C:/Program\ Files/avr-gcc/avr/include/avr/xmega.h \
C:/Program\ Files/avr-gcc/avr/include/avr/fuse.h \
C:/Program\ Files/avr-gcc/avr/include/avr/lock.h TriacOut.h RegEdit.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h
C:/Program\ Files/avr-gcc/avr/include/avr/io.h:
C:/Program\ Files/avr-gcc/avr/include/avr/sfr_defs.h:
C:/Program\ Files/avr-gcc/avr/include/inttypes.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h:
C:/Program\ Files/avr-gcc/avr/include/stdint.h:
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/include/avr/iotn404.h:
C:/Program\ Files/avr-gcc/avr/include/avr/portpins.h:
C:/Program\ Files/avr-gcc/avr/include/avr/common.h:
C:/Program\ Files/avr-gcc/avr/include/avr/version.h:
C:/Program\ Files/avr-gcc/avr/include/avr/xmega.h:
C:/Program\ Files/avr-gcc/avr/include/avr/fuse.h:
C:/Program\ Files/avr-gcc/avr/include/avr/lock.h:
TriacOut.h:
RegEdit.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h:

Binary file not shown.

View file

@ -0,0 +1,37 @@
build/default/production/main.o.d build/default/production/main.o: main.c \
config.h C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h \
C:/Program\ Files/avr-gcc/avr/include/stdint.h RegEdit.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h \
zero_cross_detection.h ADC.h TriacOut.h \
C:/Program\ Files/avr-gcc/avr/include/avr/io.h \
C:/Program\ Files/avr-gcc/avr/include/avr/sfr_defs.h \
C:/Program\ Files/avr-gcc/avr/include/inttypes.h \
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/include/avr/iotn404.h \
C:/Program\ Files/avr-gcc/avr/include/avr/portpins.h \
C:/Program\ Files/avr-gcc/avr/include/avr/common.h \
C:/Program\ Files/avr-gcc/avr/include/avr/version.h \
C:/Program\ Files/avr-gcc/avr/include/avr/xmega.h \
C:/Program\ Files/avr-gcc/avr/include/avr/fuse.h \
C:/Program\ Files/avr-gcc/avr/include/avr/lock.h \
C:/Program\ Files/avr-gcc/avr/include/util/delay.h \
C:/Program\ Files/avr-gcc/avr/include/util/delay_basic.h
config.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h:
C:/Program\ Files/avr-gcc/avr/include/stdint.h:
RegEdit.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h:
zero_cross_detection.h:
ADC.h:
TriacOut.h:
C:/Program\ Files/avr-gcc/avr/include/avr/io.h:
C:/Program\ Files/avr-gcc/avr/include/avr/sfr_defs.h:
C:/Program\ Files/avr-gcc/avr/include/inttypes.h:
C:/Program\ Files/Microchip/MPLABX/v6.20/packs/Microchip/ATtiny_DFP/3.1.260/include/avr/iotn404.h:
C:/Program\ Files/avr-gcc/avr/include/avr/portpins.h:
C:/Program\ Files/avr-gcc/avr/include/avr/common.h:
C:/Program\ Files/avr-gcc/avr/include/avr/version.h:
C:/Program\ Files/avr-gcc/avr/include/avr/xmega.h:
C:/Program\ Files/avr-gcc/avr/include/avr/fuse.h:
C:/Program\ Files/avr-gcc/avr/include/avr/lock.h:
C:/Program\ Files/avr-gcc/avr/include/util/delay.h:
C:/Program\ Files/avr-gcc/avr/include/util/delay_basic.h:

Binary file not shown.

View file

@ -0,0 +1,11 @@
build/default/production/zero_cross_detection.o.d \
build/default/production/zero_cross_detection.o: zero_cross_detection.c \
zero_cross_detection.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h \
C:/Program\ Files/avr-gcc/avr/include/stdint.h \
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h ADC.h
zero_cross_detection.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdint.h:
C:/Program\ Files/avr-gcc/avr/include/stdint.h:
C:/Program\ Files/avr-gcc/lib/gcc/avr/14.1.0/include/stdbool.h:
ADC.h:

View file

@ -5,8 +5,3 @@ add_library(MockRegEdit STATIC
target_include_directories(MockRegEdit PUBLIC
${CMAKE_CURRENT_LIST_DIR}
)
target_link_libraries(MockRegEdit
${CPPUTEST_LIBRARIES}/libCppUTest.a
${CPPUTEST_LIBRARIES}/libCppUTestExt.a
)

View file

@ -71,12 +71,3 @@ void RegEdit_SetNum(void *reg, uint8_t num)
->withPointerParameters("reg", reg)
->withUnsignedIntParameters("num", num);
}
uint8_t RegEdit_ReadReg(void *reg)
{
mock_c()->actualCall("RegEdit_ReadReg")
->withPointerParameters("reg", reg)
->returnUnsignedIntValueOrDefault(0);
//Return value is mock controlled. So it does actually return a uint8_t
}

View file

@ -25,6 +25,4 @@ void RegEdit_AND_Num(void *reg, uint8_t num);
void RegEdit_SetNum(void *reg, uint8_t num);
uint8_t RegEdit_ReadReg(void *reg);
#endif //MOCKREGEDIT_H

View file

@ -3,10 +3,7 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/fg004a_test.X/src/load/load.c</file>
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/fg004a_test.X/src/zero_cross_detection/zero_cross_detection.c</file>
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/fg004a_test.X/src/main.c</file>
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/fg004a_test.X/src/usart/usart.c</file>
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/fg004a_test.X/main.c</file>
</group>
</open-files>
</project-private>

View file

@ -5,10 +5,6 @@
* description: module_purpose
*/
#ifndef __AVR_ATtiny404__
#define __AVR_ATtiny404__
#endif
#include "ADC.h"
#include "RegEdit.h"
#include "avr/io.h"
@ -26,13 +22,12 @@ static bool IsInvalidPin(uint8_t pin_num){
void ADC_Init(uint8_t pin_num)
{
//Save the porta status.
porta_out = PORTA.OUT;
porta_dir = PORTA.DIR;
if(IsInvalidPin(pin_num)){return;}
//Save the porta status.
porta_out = RegEdit_ReadReg((void *) &PORTA.OUT);
porta_dir = RegEdit_ReadReg((void *) &PORTA.DIR);
//set the direction to input
RegEdit_SetBit((void *) &PORTA.DIRCLR, pin_num);
@ -47,12 +42,17 @@ void ADC_Init(uint8_t pin_num)
(void *) (&PORTA.PIN0CTRL)+pin_num,
PORT_ISC_INPUT_DISABLE_gc
);
/*
RegEdit_OR_Num(
(void *) (&PORTA.PIN0CTRL)+pin_num,
PORT_ISC_INPUT_DISABLE_gc
);*/
//Ensure we use full 10bit resolution
//RegEdit_ClearBit((void *) &ADC0.CTRLA, 2);
RegEdit_ClearBit((void *) &ADC0.CTRLA, 2);
//Use VDD as our voltage refernce.
//RegEdit_SetBit((void *) &ADC0.CTRLC, 4);
RegEdit_SetBit((void *) &ADC0.CTRLC, 4);
}
@ -78,8 +78,8 @@ void ADC_Disable()
RegEdit_ClearBit((void *) &ADC0.CTRLA, 0);
//Restore the port registers
RegEdit_SetNum((void *) &PORTA.OUT, porta_out);
RegEdit_SetNum((void *) &PORTA.DIR, porta_dir);
PORTA.OUT = porta_out;
PORTA.DIR = porta_dir;
}

View file

@ -56,10 +56,3 @@ void RegEdit_SetNum(void *reg, uint8_t num)
uint8_t *reg_ptr = (uint8_t *)reg;
*reg_ptr = num;
}
uint8_t RegEdit_ReadReg(void *reg)
{
uint8_t *reg_ptr = (uint8_t *)reg;
return *reg_ptr;
}

View file

@ -69,10 +69,4 @@ void RegEdit_AND_Num(void *reg, uint8_t num);
*/
void RegEdit_SetNum(void *reg, uint8_t num);
/**
*
* @param reg The register address.
*/
uint8_t RegEdit_ReadReg(void *reg);
#endif //REGEDIT_H

View file

@ -12,6 +12,15 @@
#include "TriacOut.h"
#include "RegEdit.h"
void Delay_MicroSeconds_impl(double us){
return;
}
//Delay_MicroSeconds =
//void (*Delay_MicroSeconds)(double us) = Delay_MicroSeconds_impl;
void (*Delay_MicroSecnds)(double us) = Delay_MicroSeconds_impl;
void TriacOut_InitTimerA(void)
{
@ -36,9 +45,12 @@ void TriacOut_SetAllHigh(void)
void TriacOut_PulsePins(uint16_t pulse_time)
{
Delay_MicroSeconds(pulse_time);
Delay_MicroSeconds(pulse_time);
RegEdit_ClearBit((void *) &PORTA.OUT, G1);
RegEdit_ClearBit((void *) &PORTB.OUT, G2);
RegEdit_ClearBit((void *) &PORTB.OUT, G3);
}

View file

@ -44,5 +44,4 @@ void TriacOut_SetupPins(void);
void TriacOut_SetAllHigh(void);
#endif //TRIACOUT_H

View file

@ -15,8 +15,6 @@
#include "MockADC/MockADC.h"
#endif
#define ZCD_PIN 0x07
void ZCD_Setup(void)
{
ADC_Init(7);
@ -27,11 +25,11 @@ bool ZCD_IsTriggered()
{
uint16_t first, second;
ZCD_Setup();
first = ADC_ReadValue(ZCD_PIN);
first = ADC_ReadValue(7);
ADC_Disable();
ZCD_Setup();
second = ADC_ReadValue(ZCD_PIN);
second = ADC_ReadValue(7);
ADC_Disable();
if(second < TRIGGERVAL){

View file

@ -37,20 +37,9 @@ TEST(test_ADC, FirstTest)
CHECK(true);
}
static void ADCStoresPortState(void){
mock().expectOneCall("RegEdit_ReadReg")
.withPointerParameter("reg", (void *) &PORTA.OUT)
.andReturnValue(0xFF);
mock().expectOneCall("RegEdit_ReadReg")
.withPointerParameter("reg", (void *) &PORTA.DIR)
.andReturnValue(0xFF);
}
TEST(test_ADC, ADC_InitPortAPin7UsesCorrectRegisters)
{
ADCStoresPortState();
//Check for setting the direction to input.
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTA.DIRCLR)
@ -63,19 +52,27 @@ TEST(test_ADC, ADC_InitPortAPin7UsesCorrectRegisters)
//Set the ISC(input sense config) to disable digital input
//buffering and reduce the noise on ADC usage.
mock().expectOneCall("RegEdit_SetBit")
mock().expectOneCall("RegEdit_OR_Num")
.withPointerParameter("reg", (void *) &PORTA.PIN7CTRL)
.withUnsignedIntParameter("bit_num", PORT_ISC_INPUT_DISABLE_gc);
.withUnsignedIntParameter("num", 0x4);
//check that the resolusion is selected
mock().expectOneCall("RegEdit_ClearBit")
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
.withUnsignedIntParameter("bit_num", 2);
//check for the seleceted refernce voltage
//we leave the adc prescaler alone mostly.
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &ADC0.CTRLC)
.withUnsignedIntParameter("bit_num", 4);
ADC_Init(7);
}
TEST(test_ADC, ADC_InitPortAPin0UsesCorrectRegisters)
{
ADCStoresPortState();
//Check for setting the direction to input.
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTA.DIRCLR)
@ -88,9 +85,20 @@ TEST(test_ADC, ADC_InitPortAPin0UsesCorrectRegisters)
//Set the ISC(input sense config) to disable digital input
//buffering and reduce the noise on ADC usage.
mock().expectOneCall("RegEdit_SetBit")
mock().expectOneCall("RegEdit_OR_Num")
.withPointerParameter("reg", (void *) &PORTA.PIN0CTRL)
.withUnsignedIntParameter("bit_num", PORT_ISC_INPUT_DISABLE_gc);
.withUnsignedIntParameter("num", 0x4);
//check that the resolusion is selected
mock().expectOneCall("RegEdit_ClearBit")
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
.withUnsignedIntParameter("bit_num", 2);
//check for the seleceted refernce voltage
//we leave the adc prescaler alone mostly.
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &ADC0.CTRLC)
.withUnsignedIntParameter("bit_num", 4);
ADC_Init(0);
}
@ -120,7 +128,6 @@ TEST(test_ADC, ADC_EnableSuccessOnPin7)
TEST(test_ADC, ADC_EnableNothingOnHighPinNumbers)
{
mock().expectNoCall("RegEdit_SetBit");
ADC_Enable(8);
}
@ -134,14 +141,7 @@ TEST(test_ADC, ADC_DisablePasses)
mock().expectOneCall("RegEdit_ClearBit")
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
.withUnsignedIntParameter("bit_num", 0);
mock().expectOneCall("RegEdit_SetNum")
.withPointerParameter("reg", (void*) &PORTA.OUT)
.ignoreOtherParameters();
mock().expectOneCall("RegEdit_SetNum")
.withPointerParameter("reg", (void*) &PORTA.DIR)
.ignoreOtherParameters();
ADC_Disable();
}

View file

@ -44,7 +44,5 @@ add_executable(TriacTests
)
target_link_libraries(TriacTests
${CPPUTEST_LIBRARIES}/libCppUTest.a
${CPPUTEST_LIBRARIES}/libCppUTestExt.a
test_TriacOut
)

View file

@ -151,18 +151,3 @@ TEST(test_MockRegEdit, RegEdit_SetNumPasses)
mock().checkExpectations();
}
TEST(test_MockRegEdit, RegEdit_ReadRegPasses)
{
uint8_t a = 0xFF;
uint8_t *b = &a;
mock().expectOneCall("RegEdit_ReadReg")
.withPointerParameter("reg", b)
.andReturnValue(0xFF);
uint8_t reg_val = RegEdit_ReadReg(b);
LONGS_EQUAL(0xFF, reg_val);
mock().checkExpectations();
}

View file

@ -42,50 +42,57 @@ TEST(test_TriacOut, TriacOut_SetupPins)
//Expect that pin PA1 is set to output
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTA.DIR)
.withUnsignedIntParameter("bit_num", G1);
.withUnsignedIntParameter("bit_num", (1<<1));
//Expect that pin PB3 is set to output
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTB.DIR)
.withUnsignedIntParameter("bit_num", G2);
.withUnsignedIntParameter("bit_num", (1<<3));
//Expect that pin PB2 is set to output
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTB.DIR)
.withUnsignedIntParameter("bit_num", G3);
.withUnsignedIntParameter("bit_num", (1<<2));
TriacOut_SetupPins();
}
/*
TEST(test_TriacOut, TriacOut_SetAllHigh)
{
//Expect that pin PA1 is set to output
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTA.OUT)
.withUnsignedIntParameter("bit_num", G1);
.withUnsignedIntParameter("bit_num", (1<<1));
//Expect that pin PB3 is set to output
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTB.OUT)
.withUnsignedIntParameter("bit_num", G2);
.withUnsignedIntParameter("bit_num", (1<<3));
//Expect that pin PB2 is set to output
mock().expectOneCall("RegEdit_SetBit")
.withPointerParameter("reg", (void *) &PORTB.OUT)
.withUnsignedIntParameter("bit_num", G3);
.withUnsignedIntParameter("bit_num", (1<<2));
TriacOut_SetAllHigh();
}
*/
/*
TEST(test_TriacOut, TriacOut_InitTimerA)
{
}
void FakeDelay(double us)
{
//do Nothing.
}
*/
/*
TEST(test_TriacOut, TriacOut_PulsePins)
{
UT_PTR_SET(Delay_MicroSeconds, FakeDelay);
@ -94,17 +101,19 @@ TEST(test_TriacOut, TriacOut_PulsePins)
//Expect that pin PA1 is set to output
mock().expectOneCall("RegEdit_ClearBit")
.withPointerParameter("reg", (void *) &PORTA.OUT)
.withUnsignedIntParameter("bit_num", G1);
.withUnsignedIntParameter("bit_num", (1<<1));
//Expect that pin PB3 is set to output
mock().expectOneCall("RegEdit_ClearBit")
.withPointerParameter("reg", (void *) &PORTB.OUT)
.withUnsignedIntParameter("bit_num", G2);
.withUnsignedIntParameter("bit_num", (1<<3));
//Expect that pin PB2 is set to output
mock().expectOneCall("RegEdit_ClearBit")
.withPointerParameter("reg", (void *) &PORTB.OUT)
.withUnsignedIntParameter("bit_num", G3);
.withUnsignedIntParameter("bit_num", (1<<2));
TriacOut_PulsePins(1000);
}
*/

View file

@ -32,50 +32,23 @@ TEST_GROUP(test_zero_cross_detection)
}
};
static void ZCDSetupExpectations(void)
TEST(test_zero_cross_detection, ZCD_SetupCallsCorrectFuncs)
{
mock().expectOneCall("ADC_Init")
.withUnsignedIntParameter("pin_num", 7);
mock().expectOneCall("ADC_Enable")
.withUnsignedIntParameter("pin_num", 7);
}
static void PollIterationExpectations(void)
{
ZCDSetupExpectations();
mock().expectOneCall("ADC_ReadValue_Impl")
.withUnsignedIntParameter("pin_num", 7)
.ignoreOtherParameters();
mock().expectOneCall("ADC_Disable");
ZCDSetupExpectations();
mock().expectOneCall("ADC_ReadValue_Impl")
.withUnsignedIntParameter("pin_num", 7)
.ignoreOtherParameters();
mock().expectOneCall("ADC_Disable");
}
TEST(test_zero_cross_detection, ZCD_SetupCallsCorrectFuncs)
{
ZCDSetupExpectations();
ZCD_Setup();
}
TEST(test_zero_cross_detection, ZCD_IsTriggeredCallsCorrectFunctions)
{
MockADC_ZeroIndex();
PollIterationExpectations();
mock().expectNCalls(2, "ADC_ReadValue_Impl")
.withUnsignedIntParameter("pin_num", 7);
CHECK_FALSE(ZCD_IsTriggered());
}
@ -84,11 +57,12 @@ TEST(test_zero_cross_detection, ZCD_IsTriggeredCallsCorrectFunctions)
TEST(test_zero_cross_detection, ZCD_IsTriggerdTrueWhenRising)
{
MockADC_ZeroIndex();
MockADC_PushValue(512);
MockADC_PushValue(450);
PollIterationExpectations();
mock().expectNCalls(2, "ADC_ReadValue_Impl")
.withUnsignedIntParameter("pin_num", 7)
.ignoreOtherParameters();
CHECK_TRUE(ZCD_IsTriggered());
}
@ -98,13 +72,15 @@ TEST(test_zero_cross_detection, ZCD_PollWorksAfterCalls)
{
MockADC_ZeroIndex();
MockADC_PushValue(512);
MockADC_PushValue(450);
MockADC_PushValue(50);
MockADC_PushValue(50);
PollIterationExpectations();
PollIterationExpectations();
mock().expectNCalls(4, "ADC_ReadValue_Impl")
.withUnsignedIntParameter("pin_num", 7)
.ignoreOtherParameters();
ZCD_Poll();
}