Skip to content

Commit 621b904

Browse files
committed
fixes some more errors.
1 parent 9f7167f commit 621b904

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

micropy_updates/esp32/machine_i2c.c

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
#define I2C_BUS_LOCK_DELETE(self) vSemaphoreDelete(self->lock.handle)
7777
#define I2C_BUS_LOCK_RELEASE(self) xSemaphoreGive(self->lock.handle)
7878
#define I2C_BUS_LOCK_INIT(self) { \
79-
lock->handle = xSemaphoreCreateBinaryStatic(&self->lock.buffer); \
79+
self->lock.handle = xSemaphoreCreateBinaryStatic(&self->lock.buffer); \
8080
xSemaphoreGive(self->lock.handle); \
8181
}
8282

@@ -206,7 +206,7 @@
206206

207207
static void i2c_bus_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind)
208208
{
209-
machine_hw_i2c_obj_t *self = MP_OBJ_TO_PTR(self_in);
209+
mp_machine_hw_i2c_bus_obj_t *self = MP_OBJ_TO_PTR(self_in);
210210
int h, l;
211211
i2c_get_period(self->port, &h, &l);
212212
mp_printf(print, "I2C(%u, scl=%u, sda=%u, freq=%u)",
@@ -232,7 +232,7 @@
232232
mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
233233

234234
// Get I2C bus
235-
uint8_t i2c_id = (uint8_t)args[ARG_host].u_int);
235+
uint8_t i2c_id = (uint8_t)args[ARG_host].u_int;
236236
if (!(I2C_NUM_0 <= i2c_id && i2c_id < I2C_NUM_MAX)) {
237237
mp_raise_msg_varg(&mp_type_ValueError, MP_ERROR_TEXT("I2C(%u) doesn't exist"), i2c_id);
238238
}
@@ -244,7 +244,7 @@
244244
mp_raise_msg_varg(&mp_type_ValueError, MP_ERROR_TEXT("I2C host is already in use (%u)"), i2c_id);
245245
}
246246
// Created for the first time, set default pins
247-
self->base.type = &mp_machine_i2c_bus_type;
247+
self->base.type = &mp_machine_hw_i2c_bus_type;
248248
self->port = i2c_id;
249249
self->active = 0;
250250
self->device_count = 0;
@@ -329,7 +329,7 @@
329329

330330
// Create buffer with memory address
331331
uint8_t memaddr_buf[4];
332-
size_t memaddr_len = fill_memaddr_buf(&memaddr_buf[0], memaddr, addrsize);
332+
size_t memaddr_len = get_memaddr_buf(&memaddr_buf[0], memaddr, addrsize);
333333

334334
// Create partial write buffers
335335
mp_machine_i2c_buf_t bufs[2] = {
@@ -373,7 +373,7 @@
373373
{
374374
if (self->bus == NULL) return;
375375

376-
uint8_t i = 0
376+
uint8_t i = 0;
377377

378378
for (;i<self->bus->device_count;i++) {
379379
if (self->bus->devices[i] == self) {
@@ -425,8 +425,8 @@
425425

426426
uint32_t memaddr = 0;
427427

428-
for (uint8_t i=(self->reg_bits / 8) - 1;i>-1;i--) {
429-
memaddr |= (uint32_t)(((uint8_t)write_bufinfo.buf[i]) << ((~i + (self.reg_bits / 8)) * 8));
428+
for (int i=(int)(self->reg_bits / 8) - 1;i>-1;i--) {
429+
memaddr |= (uint32_t)(((uint8_t *)write_bufinfo.buf[i]) << ((~i + (self->reg_bits / 8)) * 8));
430430
}
431431

432432
int ret = device_read(self, self->device_id, memaddr, self->reg_bits, (uint8_t *)read_bufinfo.buf, read_bufinfo.len);
@@ -547,7 +547,7 @@
547547
vstr_init_len(&vstr, num_bytes);
548548

549549
// do the transfer
550-
ret = device_readfrom(self, self->device_id, (uint8_t *)vstr.buf, vstr.len);
550+
ret = device_readfrom(self, self->device_id, (uint8_t *)vstr.buf, vstr.len, true);
551551
if (ret < 0) {
552552
mp_raise_OSError(-ret);
553553
}
@@ -575,7 +575,7 @@
575575
mp_buffer_info_t bufinfo;
576576
mp_get_buffer_raise(args[ARG_buf].u_obj, &bufinfo, MP_BUFFER_READ);
577577

578-
ret = device_writeto(self, self->device_id, (uint8_t *)bufinfo.buf, bufinfo.len, true);
578+
int ret = device_writeto(self, self->device_id, (uint8_t *)bufinfo.buf, bufinfo.len, true);
579579
if (ret < 0) {
580580
mp_raise_OSError(-ret);
581581
}
@@ -623,7 +623,6 @@
623623

624624

625625
static const mp_rom_map_elem_t i2c_device_locals_dict_table[] = {
626-
{ MP_ROM_QSTR(MP_QSTR_init), MP_ROM_PTR(&machine_i2c_init_obj) },
627626
{ MP_ROM_QSTR(MP_QSTR_write_readinto), MP_ROM_PTR(&i2c_device_write_readinto_obj) },
628627
{ MP_ROM_QSTR(MP_QSTR_read_mem), MP_ROM_PTR(&i2c_device_read_mem_obj) },
629628
{ MP_ROM_QSTR(MP_QSTR_write_mem), MP_ROM_PTR(&i2c_device_write_mem_obj) },

0 commit comments

Comments
 (0)