parent
d83f40652d
commit
774cf149c4
|
@ -1,5 +1,5 @@
|
||||||
/* uLisp ARM 2.7 - www.ulisp.com
|
/* uLisp ARM 2.7b - www.ulisp.com
|
||||||
David Johnson-Davies - www.technoblogy.com - 20th May 2019
|
David Johnson-Davies - www.technoblogy.com - 9th June 2019
|
||||||
|
|
||||||
Licensed under the MIT license: https://opensource.org/licenses/MIT
|
Licensed under the MIT license: https://opensource.org/licenses/MIT
|
||||||
*/
|
*/
|
||||||
|
@ -1100,9 +1100,14 @@ inline bool I2Cwrite(uint8_t data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool I2Cstart (uint8_t address, uint8_t read) {
|
bool I2Cstart (uint8_t address, uint8_t read) {
|
||||||
if (read == 0) Wire.beginTransmission(address);
|
int ok = true;
|
||||||
|
if (read == 0) {
|
||||||
|
Wire.beginTransmission(address);
|
||||||
|
ok = (Wire.endTransmission(true) == 0);
|
||||||
|
Wire.beginTransmission(address);
|
||||||
|
}
|
||||||
else Wire.requestFrom(address, I2CCount);
|
else Wire.requestFrom(address, I2CCount);
|
||||||
return true;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool I2Crestart (uint8_t address, uint8_t read) {
|
bool I2Crestart (uint8_t address, uint8_t read) {
|
||||||
|
@ -2981,7 +2986,7 @@ object *fn_writeline (object *args, object *env) {
|
||||||
|
|
||||||
object *fn_restarti2c (object *args, object *env) {
|
object *fn_restarti2c (object *args, object *env) {
|
||||||
(void) env;
|
(void) env;
|
||||||
int stream = first(args)->integer;
|
int stream = istream(first(args));
|
||||||
args = cdr(args);
|
args = cdr(args);
|
||||||
int read = 0; // Write
|
int read = 0; // Write
|
||||||
I2CCount = 0;
|
I2CCount = 0;
|
||||||
|
@ -2991,7 +2996,7 @@ object *fn_restarti2c (object *args, object *env) {
|
||||||
read = (rw != NULL);
|
read = (rw != NULL);
|
||||||
}
|
}
|
||||||
int address = stream & 0xFF;
|
int address = stream & 0xFF;
|
||||||
if (stream>>8 != I2CSTREAM) error3(RESTARTI2C, PSTR("not i2c"));
|
if (stream>>8 != I2CSTREAM) error3(RESTARTI2C, PSTR("not an i2c stream"));
|
||||||
return I2Crestart(address, read) ? tee : nil;
|
return I2Crestart(address, read) ? tee : nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue