3-phase PV router
Loading...
Searching...
No Matches
test_main.cpp
Go to the documentation of this file.
1#include <Arduino.h>
2#include <unity.h>
3
4#include "utils_pins.h"
5
6void setUp(void)
7{
8 // set stuff up here
9}
10
11void tearDown(void)
12{
13 // clean stuff up here
14}
15
16void test_setPinON(void)
17{
18 setPinON(LED_BUILTIN);
19 delay(100);
20 TEST_ASSERT_EQUAL(HIGH, digitalRead(LED_BUILTIN));
21}
22
24{
25 setPinOFF(LED_BUILTIN);
26 delay(100);
27 TEST_ASSERT_EQUAL(LOW, digitalRead(LED_BUILTIN));
28}
29
31{
32 digitalWrite(LED_BUILTIN, HIGH);
33 delay(100);
34 togglePin(LED_BUILTIN);
35 delay(100);
36 TEST_ASSERT_EQUAL(LOW, digitalRead(LED_BUILTIN));
37
38 togglePin(LED_BUILTIN);
39 delay(100);
40 TEST_ASSERT_EQUAL(HIGH, digitalRead(LED_BUILTIN));
41}
42
44{
45 setPinState(LED_BUILTIN, true);
46 delay(100);
47 TEST_ASSERT_EQUAL(HIGH, digitalRead(LED_BUILTIN));
48 setPinState(LED_BUILTIN, false);
49 delay(100);
50 TEST_ASSERT_EQUAL(LOW, digitalRead(LED_BUILTIN));
51}
52
54{
55 const uint16_t pinsToSet{ 0b11111111111100 };
56
57 setPinsON(pinsToSet);
58 delay(100);
59
60 for (uint8_t pin = 2; pin < 14; ++pin)
61 {
62 TEST_ASSERT_EQUAL(HIGH, digitalRead(pin));
63 }
64}
65
67{
68 const uint16_t pinsToSet{ 0b11111111111100 };
69
70 setPinsOFF(pinsToSet);
71 delay(100);
72
73 for (uint8_t pin = 2; pin < 14; ++pin)
74 {
75 TEST_ASSERT_EQUAL(LOW, digitalRead(pin));
76 }
77}
78
79
80void setup()
81{
82 delay(1000);
83
84 for (uint8_t pin = 2; pin < 14; ++pin)
85 {
86 pinMode(pin, OUTPUT);
87 }
88
89 UNITY_BEGIN(); // IMPORTANT LINE!
90}
91
92uint8_t i = 0;
93uint8_t max_blinks = 2;
94
95void loop()
96{
97 if (i < max_blinks)
98 {
99 RUN_TEST(test_setPinON);
100 delay(100);
101 RUN_TEST(test_setPinOFF);
102 delay(100);
103 RUN_TEST(test_togglePin);
104 delay(100);
105 RUN_TEST(test_setPinState);
106 delay(100);
107 RUN_TEST(test_setPinsON);
108 delay(100);
109 RUN_TEST(test_setPinsOFF);
110 delay(100);
111 ++i;
112 }
113 else if (i == max_blinks)
114 {
115 UNITY_END(); // stop unit testing
116 }
117}
void setup()
uint8_t max_blinks
void setUp(void)
Definition test_main.cpp:6
void tearDown(void)
Definition test_main.cpp:11
uint8_t i
void loop()
void test_setPinON(void)
Definition test_main.cpp:16
void test_togglePin(void)
Definition test_main.cpp:30
void test_setPinsON(void)
Definition test_main.cpp:53
void test_setPinsOFF(void)
Definition test_main.cpp:66
void test_setPinState(void)
Definition test_main.cpp:43
void test_setPinOFF(void)
Definition test_main.cpp:23
Some utility functions for pins manipulation.
void setPinsOFF(uint16_t pins)
Set the Pins state to OFF.
Definition utils_pins.h:181
constexpr void setPinState(const uint8_t pin, const bool bState)
Set the Pin state for the specified pin.
Definition utils_pins.h:111
constexpr void togglePin(uint8_t pin)
Toggle the specified pin.
Definition utils_pins.h:89
constexpr void setPinON(uint8_t pin)
Set the Pin state to ON for the specified pin.
Definition utils_pins.h:128
constexpr void setPinOFF(uint8_t pin)
Set the Pin state to OFF for the specified pin.
Definition utils_pins.h:160
void setPinsON(uint16_t pins)
Set the Pins state to ON.
Definition utils_pins.h:149