Skip to content

Commit fa91367

Browse files
committed
Fix |>[driver] Fix aw9527 release a wrong instance
1 parent 7df5d34 commit fa91367

4 files changed

Lines changed: 23 additions & 13 deletions

File tree

src/fw/board/boards/board_obelix_bb.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
#include "drivers/sf32lb/i2c_hal_definitions.h"
2323
#include "drivers/sf32lb/pwm_hal_definitions.h"
2424
#include "board/board_sf32lb.h"
25-
25+
#include "drivers/ioexp.h"
26+
#include "drivers/vibe.h"
2627

2728

2829
#define USING_UART1
@@ -376,5 +377,11 @@ void board_early_init(void) {
376377
}
377378

378379
void board_init(void) {
379-
380+
i2c_init(&I2C1_BUS);
381+
i2c_init(&I2C2_BUS);
382+
i2c_init(&I2C3_BUS);
383+
i2c_init(&I2C_COMM_BUS);
384+
385+
//ioexp_init();
386+
//vibe_init();
380387
}

src/fw/drivers/ioexp_aw9527.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
static bool prv_read_register(uint8_t register_address, uint8_t *result) {
2727
i2c_use(I2C_AW9527);
2828
bool rv = i2c_read_register(I2C_AW9527, register_address, result);
29-
i2c_release(I2C_AW86225);
29+
i2c_release(I2C_AW9527);
3030
return rv;
3131
}
3232

@@ -49,7 +49,7 @@ void ioexp_init(void) {
4949
if (found) {
5050
PBL_LOG(LOG_LEVEL_DEBUG, "Found AW9527 with STATUS register %02x", rv);
5151
} else {
52-
PBL_LOG(LOG_LEVEL_ERROR, "Failed to read the STATUS register");
52+
PBL_LOG(LOG_LEVEL_ERROR, "Failed to read the STATUS register.");
5353
}
5454
}
5555

src/fw/drivers/sf32lb/i2c_hal.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -791,10 +791,11 @@ void i2c_hal_disable(I2CBus *bus)
791791

792792
bool i2c_hal_is_busy(I2CBus *bus)
793793
{
794-
bool ret = true;
794+
bool ret = false;
795795
struct I2CBusHal * hal = (struct I2CBusHal * )bus->hal;
796796
if(HAL_I2C_GetState(&(hal->handle)) != HAL_I2C_STATE_READY)
797-
ret = false;
797+
ret = true;
798+
PBL_LOG(LOG_LEVEL_INFO, "I2C [%s] is busy:%d!", bus->name, ret);
798799
return ret;
799800
}
800801

@@ -867,15 +868,15 @@ int rt_hw_i2c_init(struct I2CBusHal * i2c_hal, bf0_i2c_config_t *cfg, struct rt_
867868
__HAL_LINKDMA(&(i2c_hal->handle), hdmarx, i2c_hal->dma.dma_rx);
868869
__HAL_LINKDMA(&(i2c_hal->handle), hdmatx, i2c_hal->dma.dma_tx);
869870
HAL_I2C_DMA_Init(&(i2c_hal->handle), cfg->dma_rx, cfg->dma_tx);
870-
871-
HAL_NVIC_SetPriority(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq, 5, 0);
872-
NVIC_EnableIRQ(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq);
873-
HAL_NVIC_SetPriority(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq, 5, 0);
874-
NVIC_EnableIRQ(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq);
871+
872+
HAL_NVIC_SetPriority(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq, 5, 0);
873+
NVIC_EnableIRQ(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq);
874+
HAL_NVIC_SetPriority(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq, 5, 0);
875+
NVIC_EnableIRQ(i2c_hal->bf0_i2c_cfg->dma_rx->dma_irq);
875876
}
876877
else if(i2c_hal->i2c_int_flag)
877878
{
878-
HAL_NVIC_SetPriority(i2c_hal->bf0_i2c_cfg->irq_type, 5, 0);
879+
HAL_NVIC_SetPriority(i2c_hal->bf0_i2c_cfg->irq_type, 5, 0);
879880
NVIC_EnableIRQ(i2c_hal->bf0_i2c_cfg->irq_type);
880881
}
881882
ret = i2c_bus_configure(i2c_hal, cfg_default);

src/fw/drivers/wscript_build

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,8 @@ elif bld.is_obelix():
212212
'driver_flash',
213213
# 'driver_accessory',
214214
'driver_gpio_defaults',
215+
'driver_ioe',
216+
'driver_motor',
215217
],
216218
)
217219

@@ -1587,7 +1589,7 @@ if mcu_family == 'SF32LB':
15871589
#'display/sharp_ls013b7dh01/sharp_ls013b7dh01_nrf5.c',
15881590
'sf32lb/stubs/accel.c',
15891591
'sf32lb/stubs/ambient_light.c',
1590-
'sf32lb/stubs/vibe.c',
1592+
#'sf32lb/stubs/vibe.c',
15911593
'sf32lb/stubs/otp.c',
15921594
'sf32lb/stubs/mcu.c',
15931595
'sf32lb/stubs/backlight.c',

0 commit comments

Comments
 (0)