Skip to content

Commit 0fac645

Browse files
author
nerdyscout
committed
fix according to #13 (comment)
1 parent f3c55f1 commit 0fac645

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/arduino/SPI.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,20 @@
7070
#endif
7171

7272
class SPISettings {
73+
private:
74+
uint32_t clock;
75+
uint8_t bitOrder;
76+
uint8_t dataMode;
77+
7378
public:
74-
SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode) {}
79+
SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode): clock(clock), bitOrder(bitOrder), dataMode(dataMode) {}
7580
SPISettings() { SPISettings(4000000, MSBFIRST, SPI_MODE0); }
7681
friend class SPIClass;
82+
83+
bool operator==(const SPISettings &other) const {
84+
return (clock == other.clock) && (bitOrder == other.bitOrder) &&
85+
(dataMode == other.dataMode);
86+
}
7787
};
7888

7989
class SPIClass {

test/test_spi.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@ void test_basics(void) {
1111

1212
When(OverloadedMethod(ArduinoFake(SPI), begin, void(void))).AlwaysReturn();
1313
When(OverloadedMethod(ArduinoFake(SPI), end, void(void))).AlwaysReturn();
14-
// When(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings)).Using(settings)).AlwaysReturn();
14+
When(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings)).Using(settings)).AlwaysReturn();
1515
When(OverloadedMethod(ArduinoFake(SPI), endTransaction, void(void))).AlwaysReturn();
1616
When(OverloadedMethod(ArduinoFake(SPI), transfer, uint8_t(uint8_t)).Using(buffer1)).AlwaysReturn();
1717
// When(OverloadedMethod(ArduinoFake(SPI), transfer, void(void*, size_t)).Using(buffer2,sizeof(buffer2))).AlwaysReturn();
1818

1919
SPI.begin();
20-
// SPI.beginTransaction(settings);
20+
SPI.beginTransaction(settings);
2121
SPI.transfer(0x01);
2222
// SPI.transfer(buffer2, sizeof(buffer2));
2323
SPI.endTransaction();
2424
SPI.end();
2525

2626
Verify(OverloadedMethod(ArduinoFake(SPI), begin, void(void))).Once();
2727
Verify(OverloadedMethod(ArduinoFake(SPI), end, void(void))).Once();
28-
// Verify(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings))).Once();
28+
Verify(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings))).Once();
2929
Verify(OverloadedMethod(ArduinoFake(SPI), endTransaction, void(void))).Once();
3030
Verify(OverloadedMethod(ArduinoFake(SPI), transfer, uint8_t(uint8_t))).Once();
3131
// Verify(OverloadedMethod(ArduinoFake(SPI), transfer, void(void*, size_t))).Once();

0 commit comments

Comments
 (0)