Skip to content

Commit 390deaf

Browse files
authored
Merge pull request #193 from fpistm/setXX
Added setXXX methods to change used pins of an instance
2 parents bd01ed6 + aa5e336 commit 390deaf

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed

libraries/SPI/keywords.txt

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ transfer KEYWORD2
1717
#setBitOrder KEYWORD2
1818
setDataMode KEYWORD2
1919
setClockDivider KEYWORD2
20-
20+
setMISO KEYWORD2
21+
setMOSI KEYWORD2
22+
setSCLK KEYWORD2
23+
setSSEL KEYWORD2
2124

2225
#######################################
2326
# Constants (LITERAL1)

libraries/SPI/src/SPI.h

+11
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,17 @@ class SPIClass {
112112
SPIClass();
113113
SPIClass(uint8_t mosi, uint8_t miso, uint8_t sclk, uint8_t ssel = (uint8_t)NC);
114114

115+
// setMISO/MOSI/SCLK/SSEL have to be called before begin()
116+
void setMISO(uint32_t miso) { _spi.pin_miso = digitalPinToPinName(miso); };
117+
void setMOSI(uint32_t mosi) { _spi.pin_mosi = digitalPinToPinName(mosi); };
118+
void setSCLK(uint32_t sclk) { _spi.pin_sclk = digitalPinToPinName(sclk); };
119+
void setSSEL(uint32_t ssel) { _spi.pin_ssel = digitalPinToPinName(ssel); };
120+
121+
void setMISO(PinName miso) { _spi.pin_miso = (miso); };
122+
void setMOSI(PinName mosi) { _spi.pin_mosi = (mosi); };
123+
void setSCLK(PinName sclk) { _spi.pin_sclk = (sclk); };
124+
void setSSEL(PinName ssel) { _spi.pin_ssel = (ssel); };
125+
115126
void begin(uint8_t _pin = CS_PIN_CONTROLLED_BY_USER);
116127
void end(void);
117128

libraries/Wire/keywords.txt

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ endTransmission KEYWORD2
1717
requestFrom KEYWORD2
1818
onReceive KEYWORD2
1919
onRequest KEYWORD2
20+
setSCL KEYWORD2
21+
setSDA KEYWORD2
2022

2123
#######################################
2224
# Instances (KEYWORD2)

libraries/Wire/src/Wire.h

+5
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ class TwoWire : public Stream
6767
public:
6868
TwoWire();
6969
TwoWire(uint8_t sda, uint8_t scl);
70+
// setSCL/SDA have to be called before begin()
71+
void setSCL(uint32_t scl) { _i2c.scl = digitalPinToPinName(scl); };
72+
void setSDA(uint32_t sda) { _i2c.sda = digitalPinToPinName(sda); };
73+
void setSCL(PinName scl) { _i2c.scl = scl; };
74+
void setSDA(PinName sda) { _i2c.sda = sda; };
7075
void begin();
7176
void begin(uint8_t);
7277
void begin(int);

0 commit comments

Comments
 (0)