Compare commits
No commits in common. "e1d6e1a50220c03c0796b68f509009b76a091c65" and "3af31e045d2beccaf44d46d3ff51f038a95c9c3b" have entirely different histories.
e1d6e1a502
...
3af31e045d
23 changed files with 193 additions and 369 deletions
|
|
@ -13,30 +13,16 @@
|
||||||
uint16_t fake_data[FAKESIZE];
|
uint16_t fake_data[FAKESIZE];
|
||||||
int fake_index = 0;
|
int fake_index = 0;
|
||||||
|
|
||||||
static bool is_setup = false;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ADC_SetPin(uint8_t pin_num)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ADC_Setup(void)
|
|
||||||
{
|
|
||||||
is_setup = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ADC_Init(uint8_t pin_num)
|
void ADC_Init(uint8_t pin_num)
|
||||||
{
|
{
|
||||||
mock_c()->actualCall("ADC_Init")
|
mock_c()->actualCall("ADC_Init")
|
||||||
->withUnsignedIntParameters("pin_num", pin_num);
|
->withUnsignedIntParameters("pin_num", pin_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ADC_Enable(void)
|
void ADC_Enable(uint8_t pin_num)
|
||||||
{
|
{
|
||||||
mock_c()->actualCall("ADC_Enable");
|
mock_c()->actualCall("ADC_Enable")
|
||||||
|
->withUnsignedIntParameters("pin_num", pin_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ADC_Disable()
|
void ADC_Disable()
|
||||||
|
|
@ -76,9 +62,3 @@ int MockADC_GetIndex(void)
|
||||||
{
|
{
|
||||||
return fake_index;
|
return fake_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool MockADC_IsSetup(void)
|
|
||||||
{
|
|
||||||
return is_setup;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -13,18 +13,18 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
/**
|
||||||
void ADC_Setup(void);
|
* A function that adds two to a number
|
||||||
void ADC_SetPin(uint8_t pin_num);
|
* @param a The first argument
|
||||||
|
*/
|
||||||
void ADC_Init(uint8_t pin_num);
|
void ADC_Init(uint8_t pin_num);
|
||||||
void ADC_Enable(void);
|
void ADC_Enable(uint8_t pin_num);
|
||||||
void ADC_Disable(void);
|
void ADC_Disable();
|
||||||
|
|
||||||
extern uint16_t (*ADC_ReadValue)(uint8_t pin_num);
|
extern uint16_t (*ADC_ReadValue)(uint8_t pin_num);
|
||||||
|
|
||||||
void MockADC_PushValue(uint16_t value);
|
void MockADC_PushValue(uint16_t value);
|
||||||
void MockADC_ZeroIndex(void);
|
void MockADC_ZeroIndex(void);
|
||||||
int MockADC_GetIndex(void);
|
int MockADC_GetIndex(void);
|
||||||
bool MockADC_IsSetup(void);
|
|
||||||
|
|
||||||
#endif //MOCKADC_H
|
#endif //MOCKADC_H
|
||||||
|
|
|
||||||
|
|
@ -51,17 +51,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
|
||||||
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
|
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
|
||||||
|
|
||||||
# Source Files Quoted if spaced
|
# Source Files Quoted if spaced
|
||||||
SOURCEFILES_QUOTED_IF_SPACED=src/main.c src/ADC/ADC.c src/load/load.c src/RegEdit/RegEdit.c src/TriacOut/TriacOut.c src/usart/usart.c src/zero_cross_detection/zero_cross_detection.c src/Enable/Enable.c
|
SOURCEFILES_QUOTED_IF_SPACED=src/main.c src/ADC/ADC.c src/load/load.c src/RegEdit/RegEdit.c src/TriacOut/TriacOut.c src/usart/usart.c src/zero_cross_detection/zero_cross_detection.c
|
||||||
|
|
||||||
# Object Files Quoted if spaced
|
# Object Files Quoted if spaced
|
||||||
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/ADC/ADC.o ${OBJECTDIR}/src/load/load.o ${OBJECTDIR}/src/RegEdit/RegEdit.o ${OBJECTDIR}/src/TriacOut/TriacOut.o ${OBJECTDIR}/src/usart/usart.o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o ${OBJECTDIR}/src/Enable/Enable.o
|
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/ADC/ADC.o ${OBJECTDIR}/src/load/load.o ${OBJECTDIR}/src/RegEdit/RegEdit.o ${OBJECTDIR}/src/TriacOut/TriacOut.o ${OBJECTDIR}/src/usart/usart.o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o
|
||||||
POSSIBLE_DEPFILES=${OBJECTDIR}/src/main.o.d ${OBJECTDIR}/src/ADC/ADC.o.d ${OBJECTDIR}/src/load/load.o.d ${OBJECTDIR}/src/RegEdit/RegEdit.o.d ${OBJECTDIR}/src/TriacOut/TriacOut.o.d ${OBJECTDIR}/src/usart/usart.o.d ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d ${OBJECTDIR}/src/Enable/Enable.o.d
|
POSSIBLE_DEPFILES=${OBJECTDIR}/src/main.o.d ${OBJECTDIR}/src/ADC/ADC.o.d ${OBJECTDIR}/src/load/load.o.d ${OBJECTDIR}/src/RegEdit/RegEdit.o.d ${OBJECTDIR}/src/TriacOut/TriacOut.o.d ${OBJECTDIR}/src/usart/usart.o.d ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
OBJECTFILES=${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/ADC/ADC.o ${OBJECTDIR}/src/load/load.o ${OBJECTDIR}/src/RegEdit/RegEdit.o ${OBJECTDIR}/src/TriacOut/TriacOut.o ${OBJECTDIR}/src/usart/usart.o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o ${OBJECTDIR}/src/Enable/Enable.o
|
OBJECTFILES=${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/ADC/ADC.o ${OBJECTDIR}/src/load/load.o ${OBJECTDIR}/src/RegEdit/RegEdit.o ${OBJECTDIR}/src/TriacOut/TriacOut.o ${OBJECTDIR}/src/usart/usart.o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o
|
||||||
|
|
||||||
# Source Files
|
# Source Files
|
||||||
SOURCEFILES=src/main.c src/ADC/ADC.c src/load/load.c src/RegEdit/RegEdit.c src/TriacOut/TriacOut.c src/usart/usart.c src/zero_cross_detection/zero_cross_detection.c src/Enable/Enable.c
|
SOURCEFILES=src/main.c src/ADC/ADC.c src/load/load.c src/RegEdit/RegEdit.c src/TriacOut/TriacOut.c src/usart/usart.c src/zero_cross_detection/zero_cross_detection.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -88,102 +88,90 @@ MP_PROCESSOR_OPTION=ATtiny404
|
||||||
# ------------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------------
|
||||||
# Rules for buildStep: compile
|
# Rules for buildStep: compile
|
||||||
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
|
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
|
||||||
${OBJECTDIR}/src/main.o: src/main.c .generated_files/flags/attiny404/b9f684e59dcef2e7883eb301e801c7a6dec7fac7 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/main.o: src/main.c .generated_files/flags/attiny404/aecee3725443dc985c0f32a6956b455881fbeb9d .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src"
|
@${MKDIR} "${OBJECTDIR}/src"
|
||||||
@${RM} ${OBJECTDIR}/src/main.o.d
|
@${RM} ${OBJECTDIR}/src/main.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/main.o
|
@${RM} ${OBJECTDIR}/src/main.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/main.o.d" -MT "${OBJECTDIR}/src/main.o.d" -MT ${OBJECTDIR}/src/main.o -o ${OBJECTDIR}/src/main.o src/main.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/main.o.d" -MT "${OBJECTDIR}/src/main.o.d" -MT ${OBJECTDIR}/src/main.o -o ${OBJECTDIR}/src/main.o src/main.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/ADC/ADC.o: src/ADC/ADC.c .generated_files/flags/attiny404/853153cc5ae62f26cd733944bd9c9efd86125162 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/ADC/ADC.o: src/ADC/ADC.c .generated_files/flags/attiny404/4eb1029d6a8b5ad31a3ae0aeb2ee585943f0498c .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/ADC"
|
@${MKDIR} "${OBJECTDIR}/src/ADC"
|
||||||
@${RM} ${OBJECTDIR}/src/ADC/ADC.o.d
|
@${RM} ${OBJECTDIR}/src/ADC/ADC.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/ADC/ADC.o
|
@${RM} ${OBJECTDIR}/src/ADC/ADC.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/ADC/ADC.o.d" -MT "${OBJECTDIR}/src/ADC/ADC.o.d" -MT ${OBJECTDIR}/src/ADC/ADC.o -o ${OBJECTDIR}/src/ADC/ADC.o src/ADC/ADC.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/ADC/ADC.o.d" -MT "${OBJECTDIR}/src/ADC/ADC.o.d" -MT ${OBJECTDIR}/src/ADC/ADC.o -o ${OBJECTDIR}/src/ADC/ADC.o src/ADC/ADC.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/load/load.o: src/load/load.c .generated_files/flags/attiny404/1343965e88bebbce1192847ae19d321d3f46dce8 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/load/load.o: src/load/load.c .generated_files/flags/attiny404/67bfa0afa014699d81794dfa3e276d1d5e9bc4cc .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/load"
|
@${MKDIR} "${OBJECTDIR}/src/load"
|
||||||
@${RM} ${OBJECTDIR}/src/load/load.o.d
|
@${RM} ${OBJECTDIR}/src/load/load.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/load/load.o
|
@${RM} ${OBJECTDIR}/src/load/load.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/load/load.o.d" -MT "${OBJECTDIR}/src/load/load.o.d" -MT ${OBJECTDIR}/src/load/load.o -o ${OBJECTDIR}/src/load/load.o src/load/load.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/load/load.o.d" -MT "${OBJECTDIR}/src/load/load.o.d" -MT ${OBJECTDIR}/src/load/load.o -o ${OBJECTDIR}/src/load/load.o src/load/load.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/RegEdit/RegEdit.o: src/RegEdit/RegEdit.c .generated_files/flags/attiny404/7a72683b4c0f32090ffddaa9046a277e7186927e .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/RegEdit/RegEdit.o: src/RegEdit/RegEdit.c .generated_files/flags/attiny404/5ee67bfaec5b32a70cd87468e37e9d7028cc5cb4 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/RegEdit"
|
@${MKDIR} "${OBJECTDIR}/src/RegEdit"
|
||||||
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o.d
|
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o
|
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT ${OBJECTDIR}/src/RegEdit/RegEdit.o -o ${OBJECTDIR}/src/RegEdit/RegEdit.o src/RegEdit/RegEdit.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT ${OBJECTDIR}/src/RegEdit/RegEdit.o -o ${OBJECTDIR}/src/RegEdit/RegEdit.o src/RegEdit/RegEdit.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/TriacOut/TriacOut.o: src/TriacOut/TriacOut.c .generated_files/flags/attiny404/3dddc20aa47b515f215fbd91b0b70af34b462c09 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/TriacOut/TriacOut.o: src/TriacOut/TriacOut.c .generated_files/flags/attiny404/65ea3d9d4f35c77cada18ba00c3e507c35010c00 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/TriacOut"
|
@${MKDIR} "${OBJECTDIR}/src/TriacOut"
|
||||||
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o.d
|
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o
|
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT ${OBJECTDIR}/src/TriacOut/TriacOut.o -o ${OBJECTDIR}/src/TriacOut/TriacOut.o src/TriacOut/TriacOut.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT ${OBJECTDIR}/src/TriacOut/TriacOut.o -o ${OBJECTDIR}/src/TriacOut/TriacOut.o src/TriacOut/TriacOut.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/usart/usart.o: src/usart/usart.c .generated_files/flags/attiny404/b41d8be0046f91a1e38187cf6465ced98abdd56 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/usart/usart.o: src/usart/usart.c .generated_files/flags/attiny404/21cc214b8e503aca18da029f2d4f190ae670c09 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/usart"
|
@${MKDIR} "${OBJECTDIR}/src/usart"
|
||||||
@${RM} ${OBJECTDIR}/src/usart/usart.o.d
|
@${RM} ${OBJECTDIR}/src/usart/usart.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/usart/usart.o
|
@${RM} ${OBJECTDIR}/src/usart/usart.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/usart/usart.o.d" -MT "${OBJECTDIR}/src/usart/usart.o.d" -MT ${OBJECTDIR}/src/usart/usart.o -o ${OBJECTDIR}/src/usart/usart.o src/usart/usart.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/usart/usart.o.d" -MT "${OBJECTDIR}/src/usart/usart.o.d" -MT ${OBJECTDIR}/src/usart/usart.o -o ${OBJECTDIR}/src/usart/usart.o src/usart/usart.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o: src/zero_cross_detection/zero_cross_detection.c .generated_files/flags/attiny404/23b2390ba1de990a7c56456cae9fb08969f2ac11 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o: src/zero_cross_detection/zero_cross_detection.c .generated_files/flags/attiny404/ccf38ed28ce6dcf8edf2b63053d6442db316a6ff .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/zero_cross_detection"
|
@${MKDIR} "${OBJECTDIR}/src/zero_cross_detection"
|
||||||
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d
|
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o
|
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o -o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o src/zero_cross_detection/zero_cross_detection.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o -o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o src/zero_cross_detection/zero_cross_detection.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/Enable/Enable.o: src/Enable/Enable.c .generated_files/flags/attiny404/e4e767fd24bc1f0c6f6ab9d3e47f976facb5592a .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
|
||||||
@${MKDIR} "${OBJECTDIR}/src/Enable"
|
|
||||||
@${RM} ${OBJECTDIR}/src/Enable/Enable.o.d
|
|
||||||
@${RM} ${OBJECTDIR}/src/Enable/Enable.o
|
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/Enable/Enable.o.d" -MT "${OBJECTDIR}/src/Enable/Enable.o.d" -MT ${OBJECTDIR}/src/Enable/Enable.o -o ${OBJECTDIR}/src/Enable/Enable.o src/Enable/Enable.c
|
|
||||||
|
|
||||||
else
|
else
|
||||||
${OBJECTDIR}/src/main.o: src/main.c .generated_files/flags/attiny404/d9b07086871956480c6db3035b547177bd162e54 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/main.o: src/main.c .generated_files/flags/attiny404/76915f4ddaa731042648894a001fea0e7736cd00 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src"
|
@${MKDIR} "${OBJECTDIR}/src"
|
||||||
@${RM} ${OBJECTDIR}/src/main.o.d
|
@${RM} ${OBJECTDIR}/src/main.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/main.o
|
@${RM} ${OBJECTDIR}/src/main.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/main.o.d" -MT "${OBJECTDIR}/src/main.o.d" -MT ${OBJECTDIR}/src/main.o -o ${OBJECTDIR}/src/main.o src/main.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/main.o.d" -MT "${OBJECTDIR}/src/main.o.d" -MT ${OBJECTDIR}/src/main.o -o ${OBJECTDIR}/src/main.o src/main.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/ADC/ADC.o: src/ADC/ADC.c .generated_files/flags/attiny404/7d0c4a7f091df342ecf52cbee4c2c68cdcb9fcdc .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/ADC/ADC.o: src/ADC/ADC.c .generated_files/flags/attiny404/1fa9c6a0d2a4b653b5f0e6c5c464932582a2e526 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/ADC"
|
@${MKDIR} "${OBJECTDIR}/src/ADC"
|
||||||
@${RM} ${OBJECTDIR}/src/ADC/ADC.o.d
|
@${RM} ${OBJECTDIR}/src/ADC/ADC.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/ADC/ADC.o
|
@${RM} ${OBJECTDIR}/src/ADC/ADC.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/ADC/ADC.o.d" -MT "${OBJECTDIR}/src/ADC/ADC.o.d" -MT ${OBJECTDIR}/src/ADC/ADC.o -o ${OBJECTDIR}/src/ADC/ADC.o src/ADC/ADC.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/ADC/ADC.o.d" -MT "${OBJECTDIR}/src/ADC/ADC.o.d" -MT ${OBJECTDIR}/src/ADC/ADC.o -o ${OBJECTDIR}/src/ADC/ADC.o src/ADC/ADC.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/load/load.o: src/load/load.c .generated_files/flags/attiny404/d93cb01157879eb3448c2a8b96781544a70d314b .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/load/load.o: src/load/load.c .generated_files/flags/attiny404/633993a2558739a257f77fa3402fb9dc127b57eb .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/load"
|
@${MKDIR} "${OBJECTDIR}/src/load"
|
||||||
@${RM} ${OBJECTDIR}/src/load/load.o.d
|
@${RM} ${OBJECTDIR}/src/load/load.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/load/load.o
|
@${RM} ${OBJECTDIR}/src/load/load.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/load/load.o.d" -MT "${OBJECTDIR}/src/load/load.o.d" -MT ${OBJECTDIR}/src/load/load.o -o ${OBJECTDIR}/src/load/load.o src/load/load.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/load/load.o.d" -MT "${OBJECTDIR}/src/load/load.o.d" -MT ${OBJECTDIR}/src/load/load.o -o ${OBJECTDIR}/src/load/load.o src/load/load.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/RegEdit/RegEdit.o: src/RegEdit/RegEdit.c .generated_files/flags/attiny404/6a69db392b30236990da2cc01c441d9fff880520 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/RegEdit/RegEdit.o: src/RegEdit/RegEdit.c .generated_files/flags/attiny404/9e96cbad6f08040221b5c89c79dc4800727e1c82 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/RegEdit"
|
@${MKDIR} "${OBJECTDIR}/src/RegEdit"
|
||||||
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o.d
|
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o
|
@${RM} ${OBJECTDIR}/src/RegEdit/RegEdit.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT ${OBJECTDIR}/src/RegEdit/RegEdit.o -o ${OBJECTDIR}/src/RegEdit/RegEdit.o src/RegEdit/RegEdit.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT "${OBJECTDIR}/src/RegEdit/RegEdit.o.d" -MT ${OBJECTDIR}/src/RegEdit/RegEdit.o -o ${OBJECTDIR}/src/RegEdit/RegEdit.o src/RegEdit/RegEdit.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/TriacOut/TriacOut.o: src/TriacOut/TriacOut.c .generated_files/flags/attiny404/baf57826bb54eba90d16c50c08b6bc3c6d20ef27 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/TriacOut/TriacOut.o: src/TriacOut/TriacOut.c .generated_files/flags/attiny404/5b096c7cf524ed9751d51cb09e9650e120f4dddc .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/TriacOut"
|
@${MKDIR} "${OBJECTDIR}/src/TriacOut"
|
||||||
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o.d
|
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o
|
@${RM} ${OBJECTDIR}/src/TriacOut/TriacOut.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT ${OBJECTDIR}/src/TriacOut/TriacOut.o -o ${OBJECTDIR}/src/TriacOut/TriacOut.o src/TriacOut/TriacOut.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT "${OBJECTDIR}/src/TriacOut/TriacOut.o.d" -MT ${OBJECTDIR}/src/TriacOut/TriacOut.o -o ${OBJECTDIR}/src/TriacOut/TriacOut.o src/TriacOut/TriacOut.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/usart/usart.o: src/usart/usart.c .generated_files/flags/attiny404/32e23a0c12bc202a27b1b0ea5c0e3217ebf27522 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/usart/usart.o: src/usart/usart.c .generated_files/flags/attiny404/5af626141502c93dafcd86a503c37c9a477db5f3 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/usart"
|
@${MKDIR} "${OBJECTDIR}/src/usart"
|
||||||
@${RM} ${OBJECTDIR}/src/usart/usart.o.d
|
@${RM} ${OBJECTDIR}/src/usart/usart.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/usart/usart.o
|
@${RM} ${OBJECTDIR}/src/usart/usart.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/usart/usart.o.d" -MT "${OBJECTDIR}/src/usart/usart.o.d" -MT ${OBJECTDIR}/src/usart/usart.o -o ${OBJECTDIR}/src/usart/usart.o src/usart/usart.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/usart/usart.o.d" -MT "${OBJECTDIR}/src/usart/usart.o.d" -MT ${OBJECTDIR}/src/usart/usart.o -o ${OBJECTDIR}/src/usart/usart.o src/usart/usart.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o: src/zero_cross_detection/zero_cross_detection.c .generated_files/flags/attiny404/760c9b65db2639fda92808a0077f4ba13fe71e25 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o: src/zero_cross_detection/zero_cross_detection.c .generated_files/flags/attiny404/e532076d897de0055be35099a21f5141de8900ec .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||||
@${MKDIR} "${OBJECTDIR}/src/zero_cross_detection"
|
@${MKDIR} "${OBJECTDIR}/src/zero_cross_detection"
|
||||||
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d
|
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d
|
||||||
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o
|
@${RM} ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o -o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o src/zero_cross_detection/zero_cross_detection.c
|
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT "${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o.d" -MT ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o -o ${OBJECTDIR}/src/zero_cross_detection/zero_cross_detection.o src/zero_cross_detection/zero_cross_detection.c
|
||||||
|
|
||||||
${OBJECTDIR}/src/Enable/Enable.o: src/Enable/Enable.c .generated_files/flags/attiny404/6c73425a6a783d3fd5ad74317797c4729bb26fb2 .generated_files/flags/attiny404/da39a3ee5e6b4b0d3255bfef95601890afd80709
|
|
||||||
@${MKDIR} "${OBJECTDIR}/src/Enable"
|
|
||||||
@${RM} ${OBJECTDIR}/src/Enable/Enable.o.d
|
|
||||||
@${RM} ${OBJECTDIR}/src/Enable/Enable.o
|
|
||||||
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -DXPRJ_attiny404=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -mno-const-data-in-progmem -MD -MP -MF "${OBJECTDIR}/src/Enable/Enable.o.d" -MT "${OBJECTDIR}/src/Enable/Enable.o.d" -MT ${OBJECTDIR}/src/Enable/Enable.o -o ${OBJECTDIR}/src/Enable/Enable.o src/Enable/Enable.c
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -204,14 +192,14 @@ endif
|
||||||
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
|
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
|
||||||
${DISTDIR}/High.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
|
${DISTDIR}/High.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
|
||||||
@${MKDIR} ${DISTDIR}
|
@${MKDIR} ${DISTDIR}
|
||||||
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=${DISTDIR}/High.${IMAGE_TYPE}.map -D__DEBUG=1 -DXPRJ_attiny404=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -gdwarf-2 -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -gdwarf-3 -mno-const-data-in-progmem $(COMPARISON_BUILD) -Wl,--memorysummary,${DISTDIR}/memoryfile.xml -o ${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -o ${DISTDIR}/High.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1
|
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=${DISTDIR}/High.${IMAGE_TYPE}.map -D__DEBUG=1 -DXPRJ_attiny404=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -gdwarf-2 -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -gdwarf-3 -mno-const-data-in-progmem $(COMPARISON_BUILD) -Wl,--memorysummary,${DISTDIR}/memoryfile.xml -o ${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -o ${DISTDIR}/High.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1
|
||||||
@${RM} ${DISTDIR}/High.${IMAGE_TYPE}.hex
|
@${RM} ${DISTDIR}/High.${IMAGE_TYPE}.hex
|
||||||
|
|
||||||
|
|
||||||
else
|
else
|
||||||
${DISTDIR}/High.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
|
${DISTDIR}/High.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
|
||||||
@${MKDIR} ${DISTDIR}
|
@${MKDIR} ${DISTDIR}
|
||||||
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=${DISTDIR}/High.${IMAGE_TYPE}.map -DXPRJ_attiny404=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -I"src/Enable" -Wall -gdwarf-3 -mno-const-data-in-progmem $(COMPARISON_BUILD) -Wl,--memorysummary,${DISTDIR}/memoryfile.xml -o ${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -o ${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--start-group -Wl,-lm -Wl,--end-group
|
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=${DISTDIR}/High.${IMAGE_TYPE}.map -DXPRJ_attiny404=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -I"src/ADC" -I"src/load" -I"src/RegEdit" -I"src/TriacOut" -I"src/zero_cross_detection" -I"src/usart" -I"inc" -Wall -gdwarf-3 -mno-const-data-in-progmem $(COMPARISON_BUILD) -Wl,--memorysummary,${DISTDIR}/memoryfile.xml -o ${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -o ${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--start-group -Wl,-lm -Wl,--end-group
|
||||||
${MP_CC_DIR}/avr-objcopy -O ihex "${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" "${DISTDIR}/High.${IMAGE_TYPE}.hex"
|
${MP_CC_DIR}/avr-objcopy -O ihex "${DISTDIR}/High.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" "${DISTDIR}/High.${IMAGE_TYPE}.hex"
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
#
|
#
|
||||||
#Sat Jul 27 20:31:13 PDT 2024
|
#Sat Jul 27 12:25:35 PDT 2024
|
||||||
attiny404.com-microchip-mplab-mdbcore-PK5Tool-PK5ToolImpl.md5=8ed9aa4326bfc0c1a849e697826741b7
|
attiny404.com-microchip-mplab-mdbcore-PK5Tool-PK5ToolImpl.md5=8ed9aa4326bfc0c1a849e697826741b7
|
||||||
attiny404.languagetoolchain.version=2.46
|
attiny404.languagetoolchain.version=2.46
|
||||||
attiny404.com-microchip-mplab-nbide-toolchain-xc8-XC8LanguageToolchain.md5=bf89cdcdd6c0a49174fe4b605ef2b42d
|
attiny404.com-microchip-mplab-nbide-toolchain-xc8-XC8LanguageToolchain.md5=bf89cdcdd6c0a49174fe4b605ef2b42d
|
||||||
conf.ids=,attiny404
|
conf.ids=,attiny404
|
||||||
host.id=2ov5-ff4p-rv
|
host.id=2ov5-ff4p-rv
|
||||||
configurations-xml=05e801700434771e18764de369e0b7df
|
configurations-xml=635c55ff9add3625ec6ff71ce27eca38
|
||||||
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=f612087c95360c842296d189edfe3321
|
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=f612087c95360c842296d189edfe3321
|
||||||
attiny404.languagetoolchain.dir=/opt/microchip/xc8/v2.46/bin
|
attiny404.languagetoolchain.dir=/opt/microchip/xc8/v2.46/bin
|
||||||
proj.dir=/home/ronin/Documents/projects/freelance/laith_naaman/High
|
proj.dir=/home/ronin/Documents/projects/freelance/laith_naaman/High
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@
|
||||||
<itemPath>src/usart/usart.h</itemPath>
|
<itemPath>src/usart/usart.h</itemPath>
|
||||||
<itemPath>src/zero_cross_detection/zero_cross_detection.h</itemPath>
|
<itemPath>src/zero_cross_detection/zero_cross_detection.h</itemPath>
|
||||||
<itemPath>inc/config.h</itemPath>
|
<itemPath>inc/config.h</itemPath>
|
||||||
<itemPath>src/Enable/Enable.h</itemPath>
|
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<logicalFolder name="ExternalFiles"
|
<logicalFolder name="ExternalFiles"
|
||||||
displayName="Important Files"
|
displayName="Important Files"
|
||||||
|
|
@ -32,7 +31,6 @@
|
||||||
<itemPath>src/TriacOut/TriacOut.c</itemPath>
|
<itemPath>src/TriacOut/TriacOut.c</itemPath>
|
||||||
<itemPath>src/usart/usart.c</itemPath>
|
<itemPath>src/usart/usart.c</itemPath>
|
||||||
<itemPath>src/zero_cross_detection/zero_cross_detection.c</itemPath>
|
<itemPath>src/zero_cross_detection/zero_cross_detection.c</itemPath>
|
||||||
<itemPath>src/Enable/Enable.c</itemPath>
|
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<sourceRootList>
|
<sourceRootList>
|
||||||
|
|
@ -362,7 +360,7 @@
|
||||||
<property key="define-macros" value=""/>
|
<property key="define-macros" value=""/>
|
||||||
<property key="disable-optimizations" value="false"/>
|
<property key="disable-optimizations" value="false"/>
|
||||||
<property key="extra-include-directories"
|
<property key="extra-include-directories"
|
||||||
value="src/ADC;src/load;src/RegEdit;src/TriacOut;src/zero_cross_detection;src/usart;inc;src/Enable"/>
|
value="src/ADC;src/load;src/RegEdit;src/TriacOut;src/zero_cross_detection;src/usart;inc"/>
|
||||||
<property key="favor-optimization-for" value="-speed,+space"/>
|
<property key="favor-optimization-for" value="-speed,+space"/>
|
||||||
<property key="garbage-collect-data" value="true"/>
|
<property key="garbage-collect-data" value="true"/>
|
||||||
<property key="garbage-collect-functions" value="true"/>
|
<property key="garbage-collect-functions" value="true"/>
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,6 @@
|
||||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
<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">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group>
|
<group/>
|
||||||
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/High/src/main.c</file>
|
|
||||||
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/High/src/load/load.c</file>
|
|
||||||
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/High/src/ADC/ADC.c</file>
|
|
||||||
<file>file:/home/ronin/Documents/projects/freelance/laith_naaman/High/src/RegEdit/RegEdit.c</file>
|
|
||||||
</group>
|
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|
|
||||||
|
|
@ -13,62 +13,57 @@
|
||||||
#include "RegEdit.h"
|
#include "RegEdit.h"
|
||||||
#include "avr/io.h"
|
#include "avr/io.h"
|
||||||
|
|
||||||
#define MAX_PIN_NUM 7
|
static uint8_t porta_out;
|
||||||
|
static uint8_t porta_dir;
|
||||||
|
|
||||||
static bool IsInvalidPin(uint8_t pin_num){
|
static bool IsInvalidPin(uint8_t pin_num){
|
||||||
if(pin_num > MAX_PIN_NUM){
|
if(pin_num > 7){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ADC_Setup(void)
|
|
||||||
{
|
|
||||||
//Clears control register A for ADC0
|
|
||||||
RegEdit_SetNum((void *) &ADC0.CTRLA, 0x00);
|
|
||||||
|
|
||||||
//Sets The sample accumulation number to 32.
|
|
||||||
RegEdit_SetNum((void *) &ADC0.CTRLB, 0x5);
|
|
||||||
|
|
||||||
//Sets the voltage reference to VDD or VCC.
|
|
||||||
RegEdit_SetBit((void *) &ADC0.CTRLC, 4);
|
|
||||||
|
|
||||||
//Sets the pre-scalar for the adc sample rate.
|
|
||||||
RegEdit_SetBit((void *) &ADC0.CTRLC, 2);
|
|
||||||
|
|
||||||
//Setup an Initalization delay.
|
|
||||||
RegEdit_OR_Num((void *) &ADC0.CTRLD, (2<<5));
|
|
||||||
|
|
||||||
//Set the bit for ADC variation during readings.
|
|
||||||
RegEdit_SetBit((void *) &ADC0.CTRLD, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ADC_Init(uint8_t pin_num)
|
void ADC_Init(uint8_t pin_num)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(IsInvalidPin(pin_num)){return;}
|
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
|
//set the direction to input
|
||||||
RegEdit_ClearBit((void *) &PORTA.DIR, pin_num);
|
RegEdit_SetBit((void *) &PORTA.DIRCLR, pin_num);
|
||||||
|
|
||||||
//Disable the pull-up resistor
|
//Disable the pull-up resistor
|
||||||
RegEdit_ClearBit((void *) &PORTA.OUT, pin_num);
|
RegEdit_SetBit((void *) &PORTA.OUTCLR, pin_num);
|
||||||
|
|
||||||
//Disable input buffer
|
//Disable input buffer
|
||||||
//We do some kinda nasty address addition but it saves
|
//We do some kinda nasty address addition but it saves
|
||||||
//memory and means we don't need a switch statment.
|
//memory and means we don't need a switch statment.
|
||||||
|
//PORT_ISC_INPUT_DISABLE_gc
|
||||||
RegEdit_SetBit(
|
RegEdit_SetBit(
|
||||||
(void *) (&PORTA.PIN0CTRL)+pin_num,
|
(void *) (&PORTA.PIN0CTRL)+pin_num,
|
||||||
PORT_ISC_INPUT_DISABLE_gc
|
PORT_ISC_INPUT_DISABLE_gc
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//Ensure we use full 10bit resolution
|
||||||
|
//RegEdit_ClearBit((void *) &ADC0.CTRLA, 2);
|
||||||
|
|
||||||
|
//Use VDD as our voltage refernce.
|
||||||
|
//RegEdit_SetBit((void *) &ADC0.CTRLC, 4);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ADC_Enable(void)
|
void ADC_Enable(uint8_t pin_num)
|
||||||
{
|
{
|
||||||
|
if(IsInvalidPin(pin_num)){return;}
|
||||||
|
|
||||||
|
//Use muxpos to select pins for ADC to connect.
|
||||||
|
RegEdit_OR_Num((void *) &ADC0.MUXPOS, pin_num);
|
||||||
|
|
||||||
//Set the enable bit in the CTRLA register
|
//Set the enable bit in the CTRLA register
|
||||||
RegEdit_SetBit((void *) &ADC0.CTRLA, 0);
|
RegEdit_SetBit((void *) &ADC0.CTRLA, 0);
|
||||||
}
|
}
|
||||||
|
|
@ -76,16 +71,15 @@ void ADC_Enable(void)
|
||||||
|
|
||||||
void ADC_Disable()
|
void ADC_Disable()
|
||||||
{
|
{
|
||||||
|
//Set for no ADC connections.
|
||||||
|
RegEdit_ClearRegister((void *) &ADC0.MUXPOS);
|
||||||
|
|
||||||
//Clear the enable ADC flag
|
//Clear the enable ADC flag
|
||||||
RegEdit_ClearBit((void *) &ADC0.CTRLA, 0);
|
RegEdit_ClearBit((void *) &ADC0.CTRLA, 0);
|
||||||
}
|
|
||||||
|
|
||||||
|
//Restore the port registers
|
||||||
void ADC_SetPin(uint8_t pin_num)
|
RegEdit_SetNum((void *) &PORTA.OUT, porta_out);
|
||||||
{
|
RegEdit_SetNum((void *) &PORTA.DIR, porta_dir);
|
||||||
if(IsInvalidPin(pin_num)){return;}
|
|
||||||
RegEdit_ClearRegister((void *) &ADC0.MUXPOS);
|
|
||||||
RegEdit_SetNum((void *) &ADC0.MUXPOS, pin_num);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -94,6 +88,8 @@ uint16_t ADC_ReadValue_Impl(uint8_t pin_num)
|
||||||
RegEdit_SetNum((void *) &ADC0.COMMAND, ADC_STCONV_bm);
|
RegEdit_SetNum((void *) &ADC0.COMMAND, ADC_STCONV_bm);
|
||||||
|
|
||||||
/* Wait until ADC conversion done */
|
/* Wait until ADC conversion done */
|
||||||
|
//while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) )
|
||||||
|
//while(!(RegEdit_IsBitSet((void *) &ADC0.INTFLAGS, ADC_RESSEL_bm)))
|
||||||
while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) )
|
while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) )
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
|
|
@ -102,9 +98,7 @@ uint16_t ADC_ReadValue_Impl(uint8_t pin_num)
|
||||||
/* Clear the interrupt flag by writing 1: */
|
/* Clear the interrupt flag by writing 1: */
|
||||||
ADC0.INTFLAGS = ADC_RESRDY_bm;
|
ADC0.INTFLAGS = ADC_RESRDY_bm;
|
||||||
|
|
||||||
uint16_t adc_val = (uint16_t) ADC0.RES;
|
return (uint16_t) ADC0.RES;
|
||||||
adc_val = adc_val >> 5;
|
|
||||||
return adc_val;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,9 @@ void ADC_Init(uint8_t pin_num);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enables the ADC
|
* @brief Enables the ADC
|
||||||
|
* @param pin_num The number of the pin 0-7 you are enabling
|
||||||
*/
|
*/
|
||||||
void ADC_Enable(void);
|
void ADC_Enable(uint8_t pin_num);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -52,23 +53,5 @@ void ADC_Disable();
|
||||||
*/
|
*/
|
||||||
extern uint16_t (*ADC_ReadValue)(uint8_t pin_num);
|
extern uint16_t (*ADC_ReadValue)(uint8_t pin_num);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sets up the ADC
|
|
||||||
*
|
|
||||||
* This function sets up the ADC to take and accumulate 32 samples. It also
|
|
||||||
* sets the inital delay to 32 ADC clock cycles, and sets the VREF to VDD or
|
|
||||||
* VCC.
|
|
||||||
*
|
|
||||||
* This function should only need to be called once.
|
|
||||||
*/
|
|
||||||
void ADC_Setup(void);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sets the pin used in the MUX for ADC0.
|
|
||||||
*
|
|
||||||
* @param pin_num The number of the pin in Port A.
|
|
||||||
*/
|
|
||||||
void ADC_SetPin(uint8_t pin_num);
|
|
||||||
|
|
||||||
#endif //ADC_H
|
#endif //ADC_H
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,21 @@
|
||||||
|
if(UNIT_TESTING)
|
||||||
add_library(ADC STATIC
|
add_library(ADC STATIC
|
||||||
ADC.c
|
ADC.c
|
||||||
)
|
)
|
||||||
target_include_directories(ADC PUBLIC
|
target_include_directories(ADC PUBLIC
|
||||||
${CMAKE_CURRENT_LIST_DIR}
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(UNIT_TESTING)
|
|
||||||
target_link_libraries(ADC
|
target_link_libraries(ADC
|
||||||
MockRegEdit
|
MockRegEdit
|
||||||
)
|
)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
add_library(ADC STATIC
|
||||||
|
ADC.c
|
||||||
|
)
|
||||||
|
target_include_directories(ADC PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
target_link_libraries(ADC
|
target_link_libraries(ADC
|
||||||
RegEdit
|
RegEdit
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -49,10 +49,10 @@ add_custom_target(upload ALL
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
add_subdirectory(load)
|
|
||||||
add_subdirectory(zero_cross_detection)
|
add_subdirectory(zero_cross_detection)
|
||||||
add_subdirectory(ADC)
|
add_subdirectory(ADC)
|
||||||
add_subdirectory(RegEdit)
|
add_subdirectory(RegEdit)
|
||||||
add_subdirectory(usart)
|
add_subdirectory(usart)
|
||||||
add_subdirectory(TriacOut)
|
add_subdirectory(TriacOut)
|
||||||
|
add_subdirectory(load)
|
||||||
add_subdirectory(Enable)
|
add_subdirectory(Enable)
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,9 @@
|
||||||
#ifndef ENABLE
|
#ifndef ENABLE
|
||||||
#define ENABLE
|
#define ENABLE
|
||||||
|
|
||||||
#define EN1 2
|
#define EN1 (1<<2)
|
||||||
#define EN2 3
|
#define EN2 (1<<3)
|
||||||
#define EN3 2
|
#define EN3 (1<<2)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets all the Enable pins high.
|
* Sets all the Enable pins high.
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,22 @@
|
||||||
|
if(UNIT_TESTING)
|
||||||
add_library(load STATIC
|
add_library(load STATIC
|
||||||
load.c
|
load.c
|
||||||
)
|
)
|
||||||
target_include_directories(load PUBLIC
|
target_include_directories(load PUBLIC
|
||||||
${CMAKE_CURRENT_LIST_DIR}
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(UNIT_TESTING)
|
|
||||||
target_link_libraries(load
|
target_link_libraries(load
|
||||||
MockRegEdit
|
MockRegEdit
|
||||||
MockADC
|
|
||||||
)
|
)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
add_library(load STATIC
|
||||||
|
load.c
|
||||||
|
)
|
||||||
|
target_include_directories(load PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
target_link_libraries(load
|
target_link_libraries(load
|
||||||
RegEdit
|
RegEdit
|
||||||
ADC
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -1,59 +1,43 @@
|
||||||
/*
|
|
||||||
* Author: Jake G
|
|
||||||
* Date: 2024
|
|
||||||
* filename: load.c
|
|
||||||
* description: module_purpose
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __AVR_ATtiny404__
|
|
||||||
#define __AVR_ATtiny404__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include "load.h"
|
#include "load.h"
|
||||||
|
|
||||||
|
|
||||||
#ifndef UNIT_TESTING
|
|
||||||
#include "ADC.h"
|
#include "ADC.h"
|
||||||
#include "RegEdit.h"
|
#include "RegEdit.h"
|
||||||
#else
|
|
||||||
#include "MockADC/MockADC.h"
|
|
||||||
#include "MockRegEdit.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
#define G1 1
|
||||||
|
#define G2 3
|
||||||
|
#define G3 2
|
||||||
|
|
||||||
|
#define SAMPLE_QTY 32
|
||||||
|
|
||||||
void Load_HandleLoadPortA(uint8_t adc_pin, uint8_t out_pin)
|
void Load_HandleLoadPortA(uint8_t adc_pin, uint8_t out_pin)
|
||||||
{
|
{
|
||||||
ADC_Init(adc_pin);
|
ADC_Init(adc_pin);
|
||||||
ADC_Enable();
|
ADC_Enable(adc_pin);
|
||||||
ADC_SetPin(adc_pin);
|
uint16_t val = 0;
|
||||||
uint16_t val = ADC_ReadValue(adc_pin);
|
for(int i = 0; i < 32; i++){
|
||||||
|
val += ADC_ReadValue(adc_pin);
|
||||||
ADC_Disable();
|
|
||||||
if(val > 527 && val < 1000){
|
|
||||||
RegEdit_SetBit((void *) &PORTA.DIR, out_pin);
|
|
||||||
RegEdit_SetBit((void *) &PORTA.OUT, out_pin);
|
|
||||||
}
|
}
|
||||||
else{
|
val /= 32;
|
||||||
|
ADC_Disable();
|
||||||
|
if(val < 527 || val > 1000){
|
||||||
RegEdit_ClearBit((void *) &PORTA.OUT, out_pin);
|
RegEdit_ClearBit((void *) &PORTA.OUT, out_pin);
|
||||||
|
RegEdit_ClearBit((void *) &PORTA.DIR, out_pin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Load_HandleLoadPortB(uint8_t adc_pin, uint8_t out_pin)
|
void Load_HandleLoadPortB(uint8_t adc_pin, uint8_t out_pin)
|
||||||
{
|
{
|
||||||
ADC_Init(adc_pin);
|
ADC_Init(adc_pin);
|
||||||
ADC_Enable();
|
ADC_Enable(adc_pin);
|
||||||
ADC_SetPin(adc_pin);
|
uint16_t val = 0;
|
||||||
uint16_t val = ADC_ReadValue(adc_pin);
|
for(int i = 0; i < 32; i++){
|
||||||
|
val = ADC_ReadValue(adc_pin);
|
||||||
|
}
|
||||||
|
|
||||||
ADC_Disable();
|
ADC_Disable();
|
||||||
if(val > 527 && val < 1000){
|
if(val < 527 || val > 1000){
|
||||||
RegEdit_SetBit((void *) &PORTB.DIR, out_pin);
|
|
||||||
RegEdit_SetBit((void *) &PORTB.OUT, out_pin);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
RegEdit_ClearBit((void *) &PORTB.OUT, out_pin);
|
RegEdit_ClearBit((void *) &PORTB.OUT, out_pin);
|
||||||
|
RegEdit_ClearBit((void *) &PORTB.DIR, out_pin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
15
src/main.c
15
src/main.c
|
|
@ -33,15 +33,11 @@ void (*Delay_MicroSeconds)(double us) = _delay_us;
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
Enable_SetPinsLow();
|
|
||||||
TriacOut_SetupPins();
|
|
||||||
ADC_Setup();
|
|
||||||
|
|
||||||
while(true){
|
while(true){
|
||||||
for(int i = 0; i < GatePulsesQty; i++){
|
for(int i = 0; i < GatePulsesQty; i++){
|
||||||
ZCD_Poll();
|
ZCD_Poll();
|
||||||
_delay_us(Tau);
|
_delay_us(Tau);
|
||||||
|
TriacOut_SetupPins();
|
||||||
TriacOut_SetAllHigh(); //Only G1 exists in High power mode
|
TriacOut_SetAllHigh(); //Only G1 exists in High power mode
|
||||||
TriacOut_PulsePins(GatePulses[i]);
|
TriacOut_PulsePins(GatePulses[i]);
|
||||||
}
|
}
|
||||||
|
|
@ -49,14 +45,9 @@ int main(int argc, char **argv)
|
||||||
//The G1 pin is low at this point.
|
//The G1 pin is low at this point.
|
||||||
_delay_ms(2500);
|
_delay_ms(2500);
|
||||||
ZCD_Poll();
|
ZCD_Poll();
|
||||||
|
Enable_SetPinsHigh();
|
||||||
//Enable pins are enabled(set high) if the ADCLOAD value is valid.
|
|
||||||
Load_HandleLoadPortA(ADC_LOAD1, EN1);
|
|
||||||
Load_HandleLoadPortB(ADC_LOAD2, EN2);
|
|
||||||
Load_HandleLoadPortB(ADC_LOAD3, EN3);
|
|
||||||
|
|
||||||
while(true){
|
while(true){
|
||||||
//; //Do nothing until new Power cycle/reset occurs
|
; //Do nothing until new Power cycle/reset occurs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,8 @@
|
||||||
|
|
||||||
void ZCD_Setup(void)
|
void ZCD_Setup(void)
|
||||||
{
|
{
|
||||||
ADC_Init(ZCD_PIN);
|
ADC_Init(7);
|
||||||
ADC_SetPin(ZCD_PIN);
|
ADC_Enable(7);
|
||||||
ADC_Enable();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ZCD_IsTriggered()
|
bool ZCD_IsTriggered()
|
||||||
|
|
|
||||||
|
|
@ -37,52 +37,28 @@ TEST(test_ADC, FirstTest)
|
||||||
CHECK(true);
|
CHECK(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ADCStoresPortState(void){
|
||||||
|
mock().expectOneCall("RegEdit_ReadReg")
|
||||||
|
.withPointerParameter("reg", (void *) &PORTA.OUT)
|
||||||
|
.andReturnValue(0xFF);
|
||||||
|
|
||||||
TEST(test_ADC, ADC_SetupSetsRegisters)
|
mock().expectOneCall("RegEdit_ReadReg")
|
||||||
{
|
.withPointerParameter("reg", (void *) &PORTA.DIR)
|
||||||
//Clears control register A for ADC0
|
.andReturnValue(0xFF);
|
||||||
mock().expectOneCall("RegEdit_SetNum")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
|
|
||||||
.withUnsignedIntParameter("num", 0x00);
|
|
||||||
|
|
||||||
//Sets The sample accumulation number to 32.
|
|
||||||
mock().expectOneCall("RegEdit_SetNum")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLB)
|
|
||||||
.withUnsignedIntParameter("num", 0x5);
|
|
||||||
|
|
||||||
//Sets the voltage reference to VDD or VCC.
|
|
||||||
mock().expectOneCall("RegEdit_SetBit")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLC)
|
|
||||||
.withUnsignedIntParameter("bit_num", 4);
|
|
||||||
|
|
||||||
//Sets the pre-scalar for the adc sample rate.
|
|
||||||
mock().expectOneCall("RegEdit_SetBit")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLC)
|
|
||||||
.withUnsignedIntParameter("bit_num", 2);
|
|
||||||
|
|
||||||
//Setup an Initalization delay.
|
|
||||||
mock().expectOneCall("RegEdit_OR_Num")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLD)
|
|
||||||
.withUnsignedIntParameter("num", (2<<5));
|
|
||||||
|
|
||||||
//Set the bit for ADC variation during readings.
|
|
||||||
mock().expectOneCall("RegEdit_SetBit")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLD)
|
|
||||||
.withUnsignedIntParameter("bit_num", 4);
|
|
||||||
|
|
||||||
ADC_Setup();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_ADC, ADC_InitPortAPin7UsesCorrectRegisters)
|
TEST(test_ADC, ADC_InitPortAPin7UsesCorrectRegisters)
|
||||||
{
|
{
|
||||||
|
ADCStoresPortState();
|
||||||
|
|
||||||
//Check for setting the direction to input.
|
//Check for setting the direction to input.
|
||||||
mock().expectOneCall("RegEdit_ClearBit")
|
mock().expectOneCall("RegEdit_SetBit")
|
||||||
.withPointerParameter("reg", (void *) &PORTA.DIR)
|
.withPointerParameter("reg", (void *) &PORTA.DIRCLR)
|
||||||
.withUnsignedIntParameter("bit_num", 7);
|
.withUnsignedIntParameter("bit_num", 7);
|
||||||
|
|
||||||
//Check that the pullup is off
|
//Check that the pullup is off
|
||||||
mock().expectOneCall("RegEdit_ClearBit")
|
mock().expectOneCall("RegEdit_SetBit")
|
||||||
.withPointerParameter("reg", (void *) &PORTA.OUT)
|
.withPointerParameter("reg", (void *) &PORTA.OUTCLR)
|
||||||
.withUnsignedIntParameter("bit_num", 7);
|
.withUnsignedIntParameter("bit_num", 7);
|
||||||
|
|
||||||
//Set the ISC(input sense config) to disable digital input
|
//Set the ISC(input sense config) to disable digital input
|
||||||
|
|
@ -98,14 +74,16 @@ TEST(test_ADC, ADC_InitPortAPin7UsesCorrectRegisters)
|
||||||
TEST(test_ADC, ADC_InitPortAPin0UsesCorrectRegisters)
|
TEST(test_ADC, ADC_InitPortAPin0UsesCorrectRegisters)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
ADCStoresPortState();
|
||||||
|
|
||||||
//Check for setting the direction to input.
|
//Check for setting the direction to input.
|
||||||
mock().expectOneCall("RegEdit_ClearBit")
|
mock().expectOneCall("RegEdit_SetBit")
|
||||||
.withPointerParameter("reg", (void *) &PORTA.DIR)
|
.withPointerParameter("reg", (void *) &PORTA.DIRCLR)
|
||||||
.withUnsignedIntParameter("bit_num", 0);
|
.withUnsignedIntParameter("bit_num", 0);
|
||||||
|
|
||||||
//Check that the pullup is off
|
//Check that the pullup is off
|
||||||
mock().expectOneCall("RegEdit_ClearBit")
|
mock().expectOneCall("RegEdit_SetBit")
|
||||||
.withPointerParameter("reg", (void *) &PORTA.OUT)
|
.withPointerParameter("reg", (void *) &PORTA.OUTCLR)
|
||||||
.withUnsignedIntParameter("bit_num", 0);
|
.withUnsignedIntParameter("bit_num", 0);
|
||||||
|
|
||||||
//Set the ISC(input sense config) to disable digital input
|
//Set the ISC(input sense config) to disable digital input
|
||||||
|
|
@ -114,7 +92,6 @@ TEST(test_ADC, ADC_InitPortAPin0UsesCorrectRegisters)
|
||||||
.withPointerParameter("reg", (void *) &PORTA.PIN0CTRL)
|
.withPointerParameter("reg", (void *) &PORTA.PIN0CTRL)
|
||||||
.withUnsignedIntParameter("bit_num", PORT_ISC_INPUT_DISABLE_gc);
|
.withUnsignedIntParameter("bit_num", PORT_ISC_INPUT_DISABLE_gc);
|
||||||
|
|
||||||
|
|
||||||
ADC_Init(0);
|
ADC_Init(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -124,45 +101,51 @@ TEST(test_ADC, ADC_InitDoesNothingOnHighPinNumbers)
|
||||||
ADC_Init(8);
|
ADC_Init(8);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_ADC, ADC_EnablePasses)
|
TEST(test_ADC, ADC_EnableSuccessOnPin7)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//Set the MUXPOS or the ADC pin stuff.
|
||||||
|
mock().expectOneCall("RegEdit_OR_Num")
|
||||||
|
.withPointerParameter("reg", (void *) &ADC0.MUXPOS)
|
||||||
|
.withUnsignedIntParameter("num", ADC_MUXPOS_AIN7_gc);
|
||||||
|
|
||||||
mock().expectOneCall("RegEdit_SetBit")
|
mock().expectOneCall("RegEdit_SetBit")
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
|
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
|
||||||
.withUnsignedIntParameter("bit_num", 0);
|
.withUnsignedIntParameter("bit_num", 0);
|
||||||
|
|
||||||
ADC_Enable();
|
ADC_Enable(7);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TEST(test_ADC, ADC_EnableNothingOnHighPinNumbers)
|
||||||
|
{
|
||||||
|
|
||||||
|
mock().expectNoCall("RegEdit_SetBit");
|
||||||
|
ADC_Enable(8);
|
||||||
|
}
|
||||||
|
|
||||||
TEST(test_ADC, ADC_DisablePasses)
|
TEST(test_ADC, ADC_DisablePasses)
|
||||||
{
|
{
|
||||||
|
//Clears the muxpos register
|
||||||
|
mock().expectOneCall("RegEdit_ClearRegister")
|
||||||
|
.withPointerParameter("reg", (void *) &ADC0.MUXPOS);
|
||||||
|
|
||||||
mock().expectOneCall("RegEdit_ClearBit")
|
mock().expectOneCall("RegEdit_ClearBit")
|
||||||
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
|
.withPointerParameter("reg", (void *) &ADC0.CTRLA)
|
||||||
.withUnsignedIntParameter("bit_num", 0);
|
.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();
|
ADC_Disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_ADC, ADC_SetPinSetsRightRegisters)
|
|
||||||
{
|
|
||||||
//It clears existing MUXPOS register values.
|
|
||||||
mock().expectOneCall("RegEdit_ClearRegister")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.MUXPOS);
|
|
||||||
|
|
||||||
//It Correctly sets the pin number.
|
|
||||||
mock().expectOneCall("RegEdit_SetNum")
|
|
||||||
.withPointerParameter("reg", (void *) &ADC0.MUXPOS)
|
|
||||||
.withUnsignedIntParameter("num", 4);
|
|
||||||
|
|
||||||
ADC_SetPin(4);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TEST(test_ADC, ADC_SetPinFailsOnInvalidPin)
|
|
||||||
{
|
|
||||||
ADC_SetPin(8);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint16_t ADC_ReadValueFake(uint8_t pin_num)
|
static uint16_t ADC_ReadValueFake(uint8_t pin_num)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ add_subdirectory(RegEdit)
|
||||||
add_subdirectory(simple_test)
|
add_subdirectory(simple_test)
|
||||||
add_subdirectory(zero_cross_detection)
|
add_subdirectory(zero_cross_detection)
|
||||||
add_subdirectory(TriacOut)
|
add_subdirectory(TriacOut)
|
||||||
add_subdirectory(load)
|
|
||||||
|
|
||||||
|
|
||||||
# TEST_RUNNER
|
# TEST_RUNNER
|
||||||
|
|
@ -39,7 +38,6 @@ target_link_libraries(Mock_Tests
|
||||||
test_MockRegEdit
|
test_MockRegEdit
|
||||||
test_MockADC
|
test_MockADC
|
||||||
test_zero_cross_detection
|
test_zero_cross_detection
|
||||||
test_load
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,5 +80,3 @@ TEST(test_Enable, SetEnablePinsLow)
|
||||||
|
|
||||||
Enable_SetPinsLow();
|
Enable_SetPinsLow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,16 +30,17 @@ TEST_GROUP(test_MockADC)
|
||||||
TEST(test_MockADC, ADC_InitExpects)
|
TEST(test_MockADC, ADC_InitExpects)
|
||||||
{
|
{
|
||||||
mock().expectOneCall("ADC_Init")
|
mock().expectOneCall("ADC_Init")
|
||||||
.withUnsignedIntParameter("pin_num", 7);
|
.withUnsignedIntParameter("pin_num", 0x2);
|
||||||
|
|
||||||
ADC_Init(7);
|
ADC_Init(0x2);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_MockADC, ADC_EnableExpects)
|
TEST(test_MockADC, ADC_EnableExpects)
|
||||||
{
|
{
|
||||||
mock().expectOneCall("ADC_Enable");
|
mock().expectOneCall("ADC_Enable")
|
||||||
|
.withUnsignedIntParameter("pin_num", 0x2);
|
||||||
|
|
||||||
ADC_Enable();
|
ADC_Enable(0x2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -83,12 +84,3 @@ TEST(test_MockADC, MockADC_PushValueDoesntOverflowArray)
|
||||||
CHECK_TRUE(MockADC_GetIndex() <= 255);
|
CHECK_TRUE(MockADC_GetIndex() <= 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_MockADC, MockADC_SetupSetsGlobal)
|
|
||||||
{
|
|
||||||
CHECK_FALSE(MockADC_IsSetup());
|
|
||||||
|
|
||||||
ADC_Setup();
|
|
||||||
|
|
||||||
CHECK_TRUE(MockADC_IsSetup());
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
IMPORT_TEST_GROUP(test_MockRegEdit);
|
IMPORT_TEST_GROUP(test_MockRegEdit);
|
||||||
IMPORT_TEST_GROUP(test_MockADC);
|
IMPORT_TEST_GROUP(test_MockADC);
|
||||||
IMPORT_TEST_GROUP(test_zero_cross_detection);
|
IMPORT_TEST_GROUP(test_zero_cross_detection);
|
||||||
IMPORT_TEST_GROUP(test_load);
|
|
||||||
|
|
||||||
//START: main
|
//START: main
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
# TEST_RUNNER
|
|
||||||
add_library(test_load
|
|
||||||
test_load.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(test_load
|
|
||||||
${CPPUTEST_LIBRARIES}/libCppUTest.a
|
|
||||||
${CPPUTEST_LIBRARIES}/libCppUTestExt.a
|
|
||||||
load
|
|
||||||
MockADC
|
|
||||||
MockRegEdit
|
|
||||||
)
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
/*
|
|
||||||
* Author: Jake G
|
|
||||||
* Date: 2024
|
|
||||||
* filename: test_load.cpp
|
|
||||||
* description:
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "CppUTest/CommandLineTestRunner.h"
|
|
||||||
#include "CppUTestExt/MockSupport.h"
|
|
||||||
#include <cstdint>
|
|
||||||
|
|
||||||
|
|
||||||
//This define allows us to dircetly include the device header without error.
|
|
||||||
#define _AVR_IO_H_
|
|
||||||
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#include <iotn404.h> //ATtiny404 header fille.
|
|
||||||
#include "load.h"
|
|
||||||
#include "MockADC.h"
|
|
||||||
#include "MockADC.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_GROUP(test_load)
|
|
||||||
{
|
|
||||||
void setup()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
void teardown()
|
|
||||||
{
|
|
||||||
mock().checkExpectations();
|
|
||||||
mock().clear();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST(test_load, LoadPass)
|
|
||||||
{
|
|
||||||
CHECK_TRUE(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(test_load, PortAHandlerSuccess)
|
|
||||||
{
|
|
||||||
mock().expectOneCall("ADC_Init")
|
|
||||||
.withUnsignedIntParameter("pin_num", 4);
|
|
||||||
|
|
||||||
mock().expectOneCall("ADC_Enable");
|
|
||||||
mock().expectOneCall("ADC_ReadValue_Impl")
|
|
||||||
.withUnsignedIntParameter("pin_num", 4);
|
|
||||||
mock().expectOneCall("ADC_Disable");
|
|
||||||
mock().expectOneCall("RegEdit_ClearBit")
|
|
||||||
.withPointerParameter("reg", (void *) &PORTA.OUT)
|
|
||||||
.withUnsignedIntParameter("bit_num", 7);
|
|
||||||
|
|
||||||
Load_HandleLoadPortA(4, 7);
|
|
||||||
}
|
|
||||||
|
|
@ -38,7 +38,8 @@ static void ZCDSetupExpectations(void)
|
||||||
mock().expectOneCall("ADC_Init")
|
mock().expectOneCall("ADC_Init")
|
||||||
.withUnsignedIntParameter("pin_num", 7);
|
.withUnsignedIntParameter("pin_num", 7);
|
||||||
|
|
||||||
mock().expectOneCall("ADC_Enable");
|
mock().expectOneCall("ADC_Enable")
|
||||||
|
.withUnsignedIntParameter("pin_num", 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue