File tree 2 files changed +18
-0
lines changed
SampleProjects/TestSomething/test
2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,23 @@ unittest(portOutputRegister)
21
21
*(ss_pin_reg) |= ss_pin_mask; // clear SS
22
22
assertEqual ((int ) 1 , (int ) *ss_pin_reg); // verify value
23
23
}
24
+
25
+ unittest (portInputRegister)
26
+ {
27
+ uint8_t ss_pin = 12 ;
28
+ uint8_t ss_port = digitalPinToPort (ss_pin);
29
+ assertEqual (12 , ss_port);
30
+ uint8_t *ss_pin_reg = portInputRegister (ss_port);
31
+ assertEqual (GODMODE ()->pMmapPort (ss_port), ss_pin_reg);
32
+ uint8_t ss_pin_mask = digitalPinToBitMask (ss_pin);
33
+ assertEqual (1 , ss_pin_mask);
34
+
35
+ assertEqual ((int ) 1 , (int ) *ss_pin_reg); // verify initial value
36
+ *(ss_pin_reg) &= ~ss_pin_mask; // set SS
37
+ assertEqual ((int ) 0 , (int ) *ss_pin_reg); // verify value
38
+ *(ss_pin_reg) |= ss_pin_mask; // clear SS
39
+ assertEqual ((int ) 1 , (int ) *ss_pin_reg); // verify value
40
+ }
24
41
#endif
25
42
26
43
unittest_main ()
Original file line number Diff line number Diff line change @@ -182,6 +182,7 @@ inline void noTone(uint8_t _pin) {}
182
182
#if defined(__AVR__)
183
183
#define digitalPinToBitMask (pin ) (1 )
184
184
#define digitalPinToPort (pin ) (pin)
185
+ #define portInputRegister (port ) (GODMODE()->pMmapPort (port))
185
186
#define portOutputRegister (port) (GODMODE()->pMmapPort(port))
186
187
#else
187
188
// we don't (yet) support other boards
You can’t perform that action at this time.
0 commit comments