Skip to content

Commit

Permalink
fix according to FabioBatSilva#13 (comment)
Browse files Browse the repository at this point in the history
  • Loading branch information
nerdyscout committed Jan 22, 2023
1 parent f3c55f1 commit 0fac645
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
12 changes: 11 additions & 1 deletion src/arduino/SPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,20 @@
#endif

class SPISettings {
private:
uint32_t clock;
uint8_t bitOrder;
uint8_t dataMode;

public:
SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode) {}
SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode): clock(clock), bitOrder(bitOrder), dataMode(dataMode) {}
SPISettings() { SPISettings(4000000, MSBFIRST, SPI_MODE0); }
friend class SPIClass;

bool operator==(const SPISettings &other) const {
return (clock == other.clock) && (bitOrder == other.bitOrder) &&
(dataMode == other.dataMode);
}
};

class SPIClass {
Expand Down
6 changes: 3 additions & 3 deletions test/test_spi.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ void test_basics(void) {

When(OverloadedMethod(ArduinoFake(SPI), begin, void(void))).AlwaysReturn();
When(OverloadedMethod(ArduinoFake(SPI), end, void(void))).AlwaysReturn();
// When(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings)).Using(settings)).AlwaysReturn();
When(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings)).Using(settings)).AlwaysReturn();
When(OverloadedMethod(ArduinoFake(SPI), endTransaction, void(void))).AlwaysReturn();
When(OverloadedMethod(ArduinoFake(SPI), transfer, uint8_t(uint8_t)).Using(buffer1)).AlwaysReturn();
// When(OverloadedMethod(ArduinoFake(SPI), transfer, void(void*, size_t)).Using(buffer2,sizeof(buffer2))).AlwaysReturn();

SPI.begin();
// SPI.beginTransaction(settings);
SPI.beginTransaction(settings);
SPI.transfer(0x01);
// SPI.transfer(buffer2, sizeof(buffer2));
SPI.endTransaction();
SPI.end();

Verify(OverloadedMethod(ArduinoFake(SPI), begin, void(void))).Once();
Verify(OverloadedMethod(ArduinoFake(SPI), end, void(void))).Once();
// Verify(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings))).Once();
Verify(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings))).Once();
Verify(OverloadedMethod(ArduinoFake(SPI), endTransaction, void(void))).Once();
Verify(OverloadedMethod(ArduinoFake(SPI), transfer, uint8_t(uint8_t))).Once();
// Verify(OverloadedMethod(ArduinoFake(SPI), transfer, void(void*, size_t))).Once();
Expand Down

0 comments on commit 0fac645

Please sign in to comment.