Skip to content

Commit 8514e6e

Browse files
authored
Merge pull request #30 from mjs513/I2C-SetClock
Implement SetClock Function
2 parents be17eab + 22da63c commit 8514e6e

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

Diff for: libraries/Wire/Wire.cpp

+22-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,28 @@ void arduino::ZephyrI2C::begin(uint8_t slaveAddr) {
2121

2222
void arduino::ZephyrI2C::end() {}
2323

24-
void arduino::ZephyrI2C::setClock(uint32_t freq) {}
24+
void arduino::ZephyrI2C::setClock(uint32_t freq) {
25+
uint8_t speed = I2C_SPEED_STANDARD;
26+
if(freq > 0x06u ) {
27+
if(freq == 100000) {
28+
speed = I2C_SPEED_STANDARD;
29+
} else if(freq == 400000) {
30+
speed = I2C_SPEED_FAST;
31+
} else if(freq == 1000000) {
32+
speed = I2C_SPEED_FAST_PLUS;
33+
} else {
34+
speed = I2C_SPEED_STANDARD;
35+
}
36+
} else {
37+
speed = (uint8_t) freq;
38+
}
39+
uint32_t i2c_cfg = I2C_MODE_CONTROLLER |
40+
I2C_SPEED_SET(speed);
41+
42+
if (i2c_configure(i2c_dev, i2c_cfg)) {
43+
//Serial.println("Failed to configure i2c interface.");
44+
}
45+
}
2546

2647
void arduino::ZephyrI2C::beginTransmission(uint8_t address) { // TODO for ADS1115
2748
_address = address;

Diff for: loader/llext_exports.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,5 @@ FORCE_EXPORT_SYM(__aeabi_uidivmod);
151151
FORCE_EXPORT_SYM(__aeabi_dcmpeq);
152152
FORCE_EXPORT_SYM(__aeabi_d2iz);
153153
FORCE_EXPORT_SYM(__aeabi_f2d);
154-
FORCE_EXPORT_SYM(__aeabi_idivmod);
154+
FORCE_EXPORT_SYM(__aeabi_idivmod);
155+
FORCE_EXPORT_SYM(__aeabi_ldivmod);

0 commit comments

Comments
 (0)